[Jifty-commit] r1953 - Jifty-DBI/trunk

jifty-commit at lists.jifty.org jifty-commit at lists.jifty.org
Tue Sep 12 18:55:52 EDT 2006


Author: jesse
Date: Tue Sep 12 18:55:52 2006
New Revision: 1953

Modified:
   Jifty-DBI/trunk/   (props changed)
   Jifty-DBI/trunk/Changes
   Jifty-DBI/trunk/MANIFEST
   Jifty-DBI/trunk/SIGNATURE

Log:
 r27413 at pinglin:  jesse | 2006-09-12 23:55:07 +0100
 * 0.25


Modified: Jifty-DBI/trunk/Changes
==============================================================================
--- Jifty-DBI/trunk/Changes	(original)
+++ Jifty-DBI/trunk/Changes	Tue Sep 12 18:55:52 2006
@@ -1,9 +1,108 @@
 Revision history for Perl extension Jifty::DBI.
 
+0.25 Tue Sep 12 23:52:45 BST 2006
+
  * cleaned up DSN generation. 
  * Allowed arbitrary parameter specification in DSNs
  * Corrected the method name "DSN" to "dsn" throughout.
-
+ * ( If a user tries to load a record by columns that happen ot be foriegn keys, and values that are objects, do the right thing
+ * Propery cache DBI::Record entries when aliased.
+ * Fewer accessor calls.
+ * Only apply filters if we have values fetched.
+ * make passing a J:D:Collection as a value DTRT
+ * Jifty::DBI::Schema - s/die/croak/ to aid debugging.
+ * Refactor Jifty::DBI::Filter::Date to be a subclass of ::Filter::DateTime.
+ * New ::Filter::Time filter for time of day. ('time' sql type).
+ * Update to Module::Install 0.64 to fix auto_install() when Makefile.PL is
+   run from the command line and CPANPLUS is not installed.
+ * The number of fixed tests in t/10schema.t for Jifty::DBI was wrong.
+ * documented limit a bit more
+ 
+ * JDBI::Filter::Date clones dates before setting timezone, so that we
+   don't alter the object we're passed.
+ * Spelling fixes.
+ * Remove the @ISA-mocking code from Jifty::DBI::Schema, so that
+ 
+     use MyApp::Record schema {
+         ...;
+     }
+ 
+   can work even if MyApp::Record overrides Jifty::Record's column
+   building methods.  We do that by arranging the schema callback
+   to run after the @ISA chain is set up.
+ 
+ * Jifty::DBI::Schema - defer initialization for columns created via the
+  schema{} wrapper, so that users can continue to define column names
+  that overlaps with the helper functions, such as "label" and "type".
+ * attempt to test "label" and "type" column definitions.
+   however, as I don't have Pg, I cannot run this test; help welcome.
+ 
+ * cleaned up case sensitivity code
+ * fixed SQLite docs
+ * abstract out checking whether it's possible to make a clause case 
+    insensitive so that subclasses of Handle can use those tests
+ * doc'd Filter::DateTime special behavior when the column type is 'date'
+ * Adding a filter to salt and hash passwords
+ * Adding an after_set hook to Jifty::DBI::Record
+ * Jifty::DBI::Schema: Lift the restriction to use another ::Schema
+   package on the record model class; you can now directly write:
+ 
+     package Wifty::Model::Page;
+     use Jifty::DBI::Schema;
+ 
+     schema {
+     # ... your columns here ...
+     };
+ 
+   because &schema will unregister all symbols exported by Jifty::DBI::Schema
+   after it runs the column initialization code.  Backward compatibility is
+   preserved -- as long as you don't name your record model "Schema"...
+ 
+ * update the testmodels.pl to use new schema decl syntax
+ * Lift the call of schema to BEGIN time:
+ 
+ * fixed handling of case sensitivity and numeric columns so opertions 
+   like '>' do numeric instead of lexical comparisons
+ * Allow collection SELECTs to have preload_columns defined.
+ * Case insensitive searches should be, euh, case insensitive in Pg
+ * Mark case-sensitive tests as TODO for MySQL
+ * drop ::Cachable::new as it does nothing
+ * add cache tests: columns names are case insensetive so we should
+   generate cache key insenstive too
+ ::Cachable::_gen_record_cache_key
+  * hash key couldn't be undefined, but '' and 0 are different keys
+  * values undef, 0 and '' are different, use '__undef' only when it's
+    really undef
+  * apply the same logic when $value is hash reference
+  * use lower case for key part
+  
+ ::Cachable::load_from_cache
+  * don't generate PK cache key, we do that in subcequent _store call
+ 
+ ::Cachable::__set
+  * don't create local arguments hash, just pass @_ throught
+ 
+ ::Cachable::__delete
+  * don't eat arguments, may be somebody wants to subclass
+    and pass arguments to delete.
+ 
+ ::Cachable::_fetch 
+  * fetch again only when we found something in cache with
+    keys' aliases
+ ::Cachable::_primary_record_cache_key
+  * avoid check for $self->id definess as if it's undef then
+    record couldn't have pk cache key
+  * use $self->primary_keys to get columns of the PK and its
+    values, as result we get support for compound PKs here
+ 
+  * Mark undef PK loading as TODO
+
+  * Only mark the one failing test under mysql as TODO
+ 
+  * make Collection smart about guessing table names
+ 
+  * removed a lie from create() pod
+  * Make _open_paren and _close_paren into public methods open_paren and close_paren
 
 0.24 Tue Aug  8 23:33:34 EDT 2006
  * artificial version increment

Modified: Jifty-DBI/trunk/MANIFEST
==============================================================================
--- Jifty-DBI/trunk/MANIFEST	(original)
+++ Jifty-DBI/trunk/MANIFEST	Tue Sep 12 18:55:52 2006
@@ -1,4 +1,9 @@
 Changes
+debian/changelog
+debian/compat
+debian/control
+debian/README
+debian/rules
 doc/notes/on_intuitive_schema_definitions
 ex/create_tables.pl
 ex/Example/Model/Address.pm
@@ -22,10 +27,11 @@
 lib/Jifty/DBI/Filter.pm
 lib/Jifty/DBI/Filter/base64.pm
 lib/Jifty/DBI/Filter/Date.pm
-lib/Jifty/DBI/Filter/Time.pm
 lib/Jifty/DBI/Filter/DateTime.pm
 lib/Jifty/DBI/Filter/JiftyRecord.pm
+lib/Jifty/DBI/Filter/SaltHash.pm
 lib/Jifty/DBI/Filter/Storable.pm
+lib/Jifty/DBI/Filter/Time.pm
 lib/Jifty/DBI/Filter/Truncate.pm
 lib/Jifty/DBI/Filter/utf8.pm
 lib/Jifty/DBI/Handle.pm
@@ -55,8 +61,10 @@
 t/01records.t
 t/01searches.t
 t/02-column_constraints.t
+t/02records_cachable.t
 t/02records_object.t
 t/03rebless.t
+t/04memcached.t
 t/06filter.t
 t/06filter_datetime.t
 t/06filter_truncate.t

Modified: Jifty-DBI/trunk/SIGNATURE
==============================================================================
--- Jifty-DBI/trunk/SIGNATURE	(original)
+++ Jifty-DBI/trunk/SIGNATURE	Tue Sep 12 18:55:52 2006
@@ -14,76 +14,85 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-SHA1 dfb3a85724dca3805c0b2dd51a32a58847cc393a Changes
-SHA1 1754999648a4c5a5d6e0a2ef5a01570e84745931 MANIFEST
-SHA1 89b8ffeb43160e99d809b4050046a5d7cd473f83 META.yml
+SHA1 7c9a97ec52d2706a55ae82b7172479c69e86a158 Changes
+SHA1 f19b43f15579d0c3893a2da81c3ebd1ee8c9847a MANIFEST
+SHA1 b87a72af14b4edd629927e479af6e751a42cbc60 META.yml
 SHA1 3cfbf847f8bb6cd739573c7636514439a945bf48 Makefile.PL
 SHA1 d0943ab047f543c92405564ab77ba008052544e6 README
 SHA1 82d6ac3f6def48558d09f8b6e3b53ed4194d8c81 ROADMAP
+SHA1 9d304f35438f847863969f6a069598379f5a9db2 debian/README
+SHA1 e0435cd905b35c84952c7d731ec8e0078fb1d608 debian/changelog
+SHA1 5d9474c0309b7ca09a182d888f73b37a8fe1362c debian/compat
+SHA1 2e32e61615f61ecea605c10a122475d82d0b40a0 debian/control
+SHA1 339a9d7fd4c67ac57fd479db7f87e3293da9d9f8 debian/rules
 SHA1 c28087e498978a1a314dfcaa584844703f31ac8c doc/notes/on_intuitive_schema_definitions
 SHA1 584c0f6cdebcbf760dfca8413c94783586120214 ex/Example/Model/Address.pm
 SHA1 7cea1a5289f79c2a87837924a83feb583f6e8890 ex/Example/Model/Employee.pm
-SHA1 b13f61b844d906ac68be669141b1da722b4c96e7 ex/create_tables.pl
-SHA1 e974f78178f53c88fb7e3f8d20f7df184d13e1d0 inc/Module/AutoInstall.pm
-SHA1 c4e1a24413ee5acb9687db9b463b49bfb28ac521 inc/Module/Install.pm
-SHA1 d7013668911c86af441cad115b897fc675a472de inc/Module/Install/AutoInstall.pm
-SHA1 e7c1c86f57b6778f4bdc7fd8c1b950e60ef41bc0 inc/Module/Install/Base.pm
-SHA1 e1829448769445cdaac384a888bf9ccf42e0d89a inc/Module/Install/Can.pm
-SHA1 70aa5e2055e8e38b4eecc5fc8c91762c0e97f551 inc/Module/Install/Fetch.pm
-SHA1 8d88f2cb120f2e64f374136df2e25d0bb6f0595b inc/Module/Install/Include.pm
-SHA1 8ac832baf4f9e8e72d3e8f103cee6e8a94ac80e1 inc/Module/Install/Makefile.pm
-SHA1 70a927c2710f1847bc65ef1c13ec9d672fe460f7 inc/Module/Install/Metadata.pm
-SHA1 4da0a1fce2339cc3f8c296c7716480d2564d9470 inc/Module/Install/Win32.pm
-SHA1 9a903a1d178954ad864c7dcc98f9fa5c005d1553 inc/Module/Install/WriteAll.pm
-SHA1 202b904e31ce000fad52ede275cfc46c9d1a101e lib/Jifty/DBI.pm
-SHA1 963d601faff3eb9d377372a1e1cc0829638beb07 lib/Jifty/DBI/Collection.pm
+SHA1 a9d62e4f5b43b2f78066172a4771238ee7df6339 ex/create_tables.pl
+SHA1 603bb9de29fb8cba7f13409c546750972eff645d inc/Module/AutoInstall.pm
+SHA1 9b2f9d83bcf77860f53a0c07c90a4a59ad9f5df1 inc/Module/Install.pm
+SHA1 ad955f51ad2c40d4ba35395c27f5ed899a80bf7a inc/Module/Install/AutoInstall.pm
+SHA1 abe32855d75ab13747cf65765af9947b7a8c3057 inc/Module/Install/Base.pm
+SHA1 95b81d1e91bd634467bf633571eff4420e9c04eb inc/Module/Install/Can.pm
+SHA1 1fe98c63cf9d7271c8cb4183ba230f152df69e26 inc/Module/Install/Fetch.pm
+SHA1 0606a8b02a420600bc3e2b65ab82f70266784926 inc/Module/Install/Include.pm
+SHA1 2249171a2b72cd73ff2c0a06597d29f86e5df456 inc/Module/Install/Makefile.pm
+SHA1 381bb98ea3877bba49ae85e7a7ea130645fd3dbf inc/Module/Install/Metadata.pm
+SHA1 0c2118868ef82ac517eb6d9c3bd93e6eb9bbf83e inc/Module/Install/Win32.pm
+SHA1 e827d6d43771032fa3df35c0ad5e5698d0e54cda inc/Module/Install/WriteAll.pm
+SHA1 497066d8588296f751a07ce16b108f21aff7ea89 lib/Jifty/DBI.pm
+SHA1 b2e1edfe2abcdec14e4079cca4f4a8523b645e94 lib/Jifty/DBI/Collection.pm
 SHA1 ecfae7430da875a856113e0c233daa0e31073000 lib/Jifty/DBI/Collection/Union.pm
 SHA1 07115934091da72e0025c9c754714fc0ceedbef5 lib/Jifty/DBI/Collection/Unique.pm
 SHA1 31f2a51c59a92a8719608cf323a3523b7728da0b lib/Jifty/DBI/Column.pm
 SHA1 a2c16702f3467a220e9ba96ac5e086cc2e7779d1 lib/Jifty/DBI/Filter.pm
-SHA1 655ed3547e089706c080954b733e49a9a280c9de lib/Jifty/DBI/Filter/Date.pm
-SHA1 a93ed09724d42f385ad95b2a92c3c5527dad1454 lib/Jifty/DBI/Filter/DateTime.pm
+SHA1 87192bf64a224cbea78770f4209ecae9981f3f5c lib/Jifty/DBI/Filter/Date.pm
+SHA1 b556b98a38281c353f08ee5730f976e8b98f5572 lib/Jifty/DBI/Filter/DateTime.pm
 SHA1 da39a3ee5e6b4b0d3255bfef95601890afd80709 lib/Jifty/DBI/Filter/JiftyRecord.pm
+SHA1 79649ca3fb9f8aa9d2fdda00d6d7c7c99fe4092f lib/Jifty/DBI/Filter/SaltHash.pm
 SHA1 45ff3c7d2c03136acf98b74c659e2fe8c734d929 lib/Jifty/DBI/Filter/Storable.pm
+SHA1 13837e1f389b4e2e60e8b2395b327604ec7e25b6 lib/Jifty/DBI/Filter/Time.pm
 SHA1 71c38cf7b837425db478ffbfdc1d700cd810063a lib/Jifty/DBI/Filter/Truncate.pm
 SHA1 9a6fd17e677321904436fefec4d434e17a4685b1 lib/Jifty/DBI/Filter/base64.pm
 SHA1 deb33fa7b35f3542aac3e2d7fb4b5d3070dc3917 lib/Jifty/DBI/Filter/utf8.pm
-SHA1 6c8be00739d30182d0bddcf28d7bf0dd228948e1 lib/Jifty/DBI/Handle.pm
-SHA1 225ae14f338636abf1950245a9b80d353cde0c78 lib/Jifty/DBI/Handle/Informix.pm
-SHA1 6245efd0105e5a56f6427a6b0e2a5291e46ae55d lib/Jifty/DBI/Handle/ODBC.pm
-SHA1 b24c8992fb57bd83a16c66b0de508b8e0676b6bf lib/Jifty/DBI/Handle/Oracle.pm
-SHA1 d587148ccb27ab53373f5f841ae93cf79538427b lib/Jifty/DBI/Handle/Pg.pm
-SHA1 ae9fe2c4471086e112ccb560721505464bb4b930 lib/Jifty/DBI/Handle/SQLite.pm
+SHA1 0c94a8c02128c50b90689dce475b08e72c23f5a4 lib/Jifty/DBI/Handle.pm
+SHA1 f5a11742afc4772af9b9dbe11db1c63528170d17 lib/Jifty/DBI/Handle/Informix.pm
+SHA1 c588ff42e9149bf40986c150b3b6989d53281f01 lib/Jifty/DBI/Handle/ODBC.pm
+SHA1 65ea774794a6d7f5bd3f14cb790d6a915903ee80 lib/Jifty/DBI/Handle/Oracle.pm
+SHA1 1f3bc453697a3040a58cad4f1a1099d9aba5cf18 lib/Jifty/DBI/Handle/Pg.pm
+SHA1 28ce52fe0d1f765d37591710be696deff9a1705d lib/Jifty/DBI/Handle/SQLite.pm
 SHA1 8aaa3deb93cd5064699b74a19a4a9dd3c0bcb7a9 lib/Jifty/DBI/Handle/Sybase.pm
 SHA1 e6041a34c3044ed8b9691a5629ecf146fed95257 lib/Jifty/DBI/Handle/mysql.pm
 SHA1 f2cc4fcce79c9a88a023d4e6bd96c2089eef1ced lib/Jifty/DBI/Handle/mysqlPP.pm
 SHA1 0e975f9ec5480ca09025c592c06d484058e637df lib/Jifty/DBI/HasFilters.pm
-SHA1 9ffdc728e058fd60c4a8042f76dcfc006508d8d8 lib/Jifty/DBI/Record.pm
-SHA1 1c25bc2a0391056c36bd702cd7c3e0c934bc79e1 lib/Jifty/DBI/Record/Cachable.pm
-SHA1 2f375afad7b20d32a69b9bde03488a5d544537ed lib/Jifty/DBI/Record/Memcached.pm
-SHA1 e4d31573ac616040c440e1a47506fdffdb359722 lib/Jifty/DBI/Schema.pm
-SHA1 abb88dd6fd9dcc071d89f3fbd73a327a322a7bed lib/Jifty/DBI/SchemaGenerator.pm
+SHA1 69225edae436ac18abf2ff753d6db2a04ebb4731 lib/Jifty/DBI/Record.pm
+SHA1 033dd7dd3d76ba50ebbebcf2a5d215da413674a6 lib/Jifty/DBI/Record/Cachable.pm
+SHA1 f188f2450401dc0a84cb60512aecc49d4df35262 lib/Jifty/DBI/Record/Memcached.pm
+SHA1 63dea99b27359e30e311743899da5131479881e7 lib/Jifty/DBI/Schema.pm
+SHA1 2e3e9f907bef279aef8e6e505c0df54d93c573f9 lib/Jifty/DBI/SchemaGenerator.pm
 SHA1 32834b7c4cf5a8d131382fccc8db341be8768291 t/00.load.t
-SHA1 4fb0f39f366a512e660502938844f6df04d892c4 t/01-version_checks.t
-SHA1 df61a4ccab929a9b24f535dabd99f82125f3302d t/01basics.t
-SHA1 88d63cf720ea24ccaf03ddfcfc5e5bea2a5ce71e t/01records.t
-SHA1 b39098d44e1682c425c158465347b336f20bad98 t/01searches.t
-SHA1 48d753add3fa92771c527346286483979825f6b7 t/02-column_constraints.t
-SHA1 80caa9276bcd408ebaee606d7a69de11dc5a4131 t/02records_object.t
-SHA1 14a77a9866ecb90c43dd4ee1e48043a439997c35 t/03rebless.t
-SHA1 05bd6316e56823df2786bebe539986472f289532 t/06filter.t
-SHA1 32c537742f29cccef8a59dd1f2896efe739aa7b7 t/06filter_datetime.t
-SHA1 b4bc34521b8de7984aea2ce7e36956819b19ceaa t/06filter_truncate.t
-SHA1 ccf08c22ecbea5cb35e4aa0ec75157e77917246c t/06filter_utf8.t
-SHA1 5c42e03b5cb5c34ba1b18fe71fb333c7924aaa72 t/10schema.t
-SHA1 5ef97d975aef698ba5d7551316b6da1b75c38740 t/11schema_records.t
+SHA1 9aa7fed2b2409faa4c71d2a45db210721f47403e t/01-version_checks.t
+SHA1 13c9fe3eeec0d000a7c86ea2474e30186cbc37e2 t/01basics.t
+SHA1 236989d5492178ced03659cfe9a51fac05f20ca4 t/01records.t
+SHA1 1e14249d33e158c4f4c8d73b1b630e9c2835d3dd t/01searches.t
+SHA1 ed4e3f1693260700442c5f009c1d96be7dd88d88 t/02-column_constraints.t
+SHA1 2da00020937f2014b02577e817776f3ea30fba1b t/02records_cachable.t
+SHA1 f2404f8b456d7b18119203e57eb5a889bef9217e t/02records_object.t
+SHA1 f1f330dd8b4144e3437aba1455053903306bd0bc t/03rebless.t
+SHA1 abb3bc8206449cbc97c92d1844b439d6c55b372d t/04memcached.t
+SHA1 a2d00943d47d52d3ad92efe67a52a9b8e1522903 t/06filter.t
+SHA1 99106ef75c7f3fdd56ae97dedf08239c80724db2 t/06filter_datetime.t
+SHA1 226aa17524caaca8986984f4bd790e83f352ce52 t/06filter_truncate.t
+SHA1 a557afa94ab93fb77356a83cf9ef351a50645da5 t/06filter_utf8.t
+SHA1 5da6c30a919cb884b036661805d1b4e105b79e5a t/10schema.t
+SHA1 b7a6882e69cffdbf06b50466a38be059ed717bf2 t/11schema_records.t
 SHA1 e9c6a5881fc60173fbc8d479c1afd2ce3b43bef1 t/pod.t
-SHA1 d3b0a9be36dc39c2ce3c23feb244913a9f1ea4c8 t/testmodels.pl
-SHA1 26d127dc2ae60b8b09d460e2e4c166c43cb3de63 t/utils.pl
+SHA1 0f7f02fe61fcad6f77a6378dba99badf8e567f2d t/testmodels.pl
+SHA1 9b6cf7d135201f3f5ac4e29eaf180c85ba2e2bbf t/utils.pl
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.3 (Darwin)
 
-iD8DBQFEkU9tEi9d9xCOQEYRApzDAJ0V4h/CP9/q3QLL1lwCI1wqXRTrZgCfYtVf
-vz4Mlj8sqqrF8VW8Jx6+Bvs=
-=rNjG
+iD4DBQFFBzq/Ei9d9xCOQEYRAs4rAJiB/xpvMTePG/jRy0BZB1DKX2N3AJ95beGG
+5JI5IpLs4gBbtIBzV/+GCQ==
+=l4Zk
 -----END PGP SIGNATURE-----


More information about the Jifty-commit mailing list