From: Rafael Kitover Date: Fri, 5 Jun 2009 00:05:19 +0000 (+0000) Subject: Merge 'trunk' into 'sybase_noquote' X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=efa934d7d431f0d217eb527d8da144cbeb81c6ec;p=dbsrgits%2FDBIx-Class-Historic.git Merge 'trunk' into 'sybase_noquote' r1183@hlagh (orig r5683): ribasushi | 2009-03-03 14:32:50 -0800 Put code back into branch (and fix trunk snafu) r1185@hlagh (orig r5685): robkinyon | 2009-03-05 10:17:48 -0800 Added experimental tag to as_query and subqueries in general r1190@hlagh (orig r5690): robkinyon | 2009-03-06 07:43:40 -0800 r5672@rkinyon-lt-osx (orig r5671): robkinyon | 2009-02-28 22:46:19 -0500 Added comment to describe the proposed fix in the test r1191@hlagh (orig r5691): robkinyon | 2009-03-06 07:43:50 -0800 r5673@rkinyon-lt-osx (orig r5672): robkinyon | 2009-03-01 00:13:38 -0500 Added more notes to the bottom of the failing testcase r1192@hlagh (orig r5692): robkinyon | 2009-03-06 07:44:24 -0800 r5687@rkinyon-lt-osx (orig r5686): robkinyon | 2009-03-06 09:57:38 -0500 Added solution, though no fix r1193@hlagh (orig r5693): robkinyon | 2009-03-06 07:44:34 -0800 r5688@rkinyon-lt-osx (orig r5687): robkinyon | 2009-03-06 10:25:34 -0500 Intermezzo checkin r1194@hlagh (orig r5694): robkinyon | 2009-03-06 07:44:58 -0800 r5689@rkinyon-lt-osx (orig r5688): robkinyon | 2009-03-06 10:30:08 -0500 Broke up the prefetch tests into their own directory r1195@hlagh (orig r5695): robkinyon | 2009-03-06 09:55:52 -0800 Changed how the EXPERIMENTAL tag for subqueries and as_query is noted r1196@hlagh (orig r5696): ribasushi | 2009-03-06 09:56:54 -0800 Remove erroneously merged file r1200@hlagh (orig r5700): robkinyon | 2009-03-06 11:57:07 -0800 r5698@rkinyon-lt-osx (orig r5697): robkinyon | 2009-03-06 14:55:57 -0500 Added solution for prefetch + hasmany bug r5700@rkinyon-lt-osx (orig r5699): robkinyon | 2009-03-06 14:56:50 -0500 Fixed documentation for test r1201@hlagh (orig r5701): robkinyon | 2009-03-06 13:18:09 -0800 Added a little more verbiage to explain how collapsing from HRI-form should happen r1206@hlagh (orig r5718): ribasushi | 2009-03-09 05:22:54 -0700 Disable reconnect test except fpor when AUTHORS is set r1207@hlagh (orig r5719): ribasushi | 2009-03-09 05:23:12 -0700 One more cdbi-compat author req r1208@hlagh (orig r5720): ribasushi | 2009-03-09 05:42:12 -0700 Use homegrown AUTHOR detection r1209@hlagh (orig r5721): ribasushi | 2009-03-09 09:29:30 -0700 Strip bogus Data::Dump requires r1210@hlagh (orig r5727): groditi | 2009-03-09 15:33:50 -0700 remove (groditi) instances r1211@hlagh (orig r5732): wreis | 2009-03-10 17:56:06 -0700 fixed View's doc | added me to contributors list r1212@hlagh (orig r5733): ribasushi | 2009-03-10 23:57:05 -0700 Moose-related test hierarchy not removed at r4326 r1213@hlagh (orig r5734): ribasushi | 2009-03-11 02:43:40 -0700 Allow accessors type single to return defined but false objects (needed for null-pattern style components) r1214@hlagh (orig r5735): ribasushi | 2009-03-11 03:03:06 -0700 Replace the fallback _dbh_last_insert_id with an explicit exception. Currently all known Storage::DBI engines provide their own _dbh_last_insert_id, except for Storage::DBI::Sybase, for which the old sqlite-ish fallback doesn't work anyway: http://rt.cpan.org/Public/Bug/Display.html?id=40265 r1215@hlagh (orig r5736): wreis | 2009-03-11 12:25:25 -0700 removed configure_sqlt method r1216@hlagh (orig r5737): ribasushi | 2009-03-11 16:23:18 -0700 Properly returb undef/null on single rewlationship accessor r1218@hlagh (orig r5743): matthewt | 2009-03-12 11:35:16 -0700 warning in author mode to avoid confusing the easily confused r1219@hlagh (orig r5744): castaway | 2009-03-12 13:24:55 -0700 Document how to overload connect/connection r1220@hlagh (orig r5745): castaway | 2009-03-12 13:36:41 -0700 Add docs in various places to point out how to get the total count of rows for a paged resultset r1221@hlagh (orig r5746): castaway | 2009-03-12 15:33:42 -0700 Add doc on how conditions and attrs are merged when chaining. r1222@hlagh (orig r5747): ribasushi | 2009-03-12 16:30:26 -0700 Move author warning in front of auto_install r1228@hlagh (orig r5753): jmmills | 2009-03-13 05:32:35 -0700 Added test for source sub-class register_extra_sources warning. Sub-classes should not generate this warning - bug via non-inhertiance sorting via register_source. r1233@hlagh (orig r5758): arcanez | 2009-03-15 09:14:56 -0700 update Makefile.PL to require latest C3, C3::Componentised, MRO::Compat r1235@hlagh (orig r5760): arcanez | 2009-03-16 12:53:34 -0700 * change search_literal to use \[] when passing into search (help with binding order) * provide documentation on how to use search instead of search_literal r1236@hlagh (orig r5761): plu | 2009-03-17 08:31:08 -0700 putting IC::DateTime locale, timezone or floating_tz_ok attributes into extra => {} has been deprecated. The new way is to put these things directly into the columns definition r1237@hlagh (orig r5763): ribasushi | 2009-03-17 16:57:49 -0700 Basic binary op logic FAIL r1238@hlagh (orig r5768): rafl | 2009-03-18 12:02:07 -0700 Use MRO::Compat instead of Class::C3 directly. r1239@hlagh (orig r5769): rafl | 2009-03-18 12:02:23 -0700 Depend on the latest C3::Componentised so we use mro:: on 5.10 and Class::C3 on 5.8. r1240@hlagh (orig r5772): robkinyon | 2009-03-19 10:05:00 -0700 Special-case handling for (undef,undef) passed to search_rs() r1241@hlagh (orig r5776): robkinyon | 2009-03-19 13:35:37 -0700 Moved some SQL parsing of ORDER BY from _select_args() to retrieve_from_sql() where it belongs r1242@hlagh (orig r5778): robkinyon | 2009-03-19 13:52:54 -0700 Commit another fix for arcanez to test r1243@hlagh (orig r5779): robkinyon | 2009-03-19 14:07:06 -0700 Commit another fix for arcanez to test r1244@hlagh (orig r5784): wdh | 2009-03-20 08:23:40 -0700 clarify need for scalarref when using db functions with 'default_value' attribute r1245@hlagh (orig r5786): solomon | 2009-03-20 14:41:49 -0700 Add cookbook entry for dealing with runaway prepared statement cache r1246@hlagh (orig r5791): groditi | 2009-03-21 18:10:30 -0700 adding test for exception if nullable rel call is not explicitly defined as undef on insert r1247@hlagh (orig r5792): ribasushi | 2009-03-22 14:09:22 -0700 New SQLA::Test handles () differences *much* better, thus fixing the tests r1248@hlagh (orig r5803): groditi | 2009-03-23 11:16:41 -0700 skip test doc issue relating to db-side defaults r1249@hlagh (orig r5808): jmmills | 2009-03-24 00:49:54 -0700 Fixed _register_source to not produce 'register_extra_source' warnings when "registering class" isa (or is a sub-class) source class. This is not exactly an elegant fix as I had to pass a hash key (as _to_register via $params) with the original source class instance; I was not able to determine inheritance via the result_source_instance (ResultSource::Table) object. r1250@hlagh (orig r5815): robkinyon | 2009-03-25 18:09:55 -0700 Deprecated search_like() r1251@hlagh (orig r5816): lukes | 2009-03-26 02:13:18 -0700 changed my nick in contribs section r1252@hlagh (orig r5819): castaway | 2009-03-26 06:54:09 -0700 Improved metapod docs r1253@hlagh (orig r5822): nigel | 2009-03-27 05:21:14 -0700 r11142@hex: nigel | 2009-03-27 12:20:55 +0000 Removed Cookbook section on pagers that stated page attribute was not required. [Since the pager throws an exception if the pager attribute is not specified, this was completely wrong] r1254@hlagh (orig r5823): norbi | 2009-03-27 05:30:00 -0700 r5969@vger: mendel | 2009-03-27 13:29:24 +0100 * Fixed the alphabetical order of the contributors list (that I screwed up, sorry). r1255@hlagh (orig r5830): ribasushi | 2009-03-28 14:46:34 -0700 Bump SQLA and CAG dependencies r1256@hlagh (orig r5831): ribasushi | 2009-03-28 15:05:35 -0700 Clarify DBIC behavior wrt RDBMS default values r1257@hlagh (orig r5832): ribasushi | 2009-03-29 01:31:47 -0700 detabify r1258@hlagh (orig r5835): ribasushi | 2009-03-29 01:49:32 -0700 detabify r1259@hlagh (orig r5836): ribasushi | 2009-03-29 03:06:02 -0700 Revert r5808 - this is NOT a bug, the warning IS correct r1260@hlagh (orig r5837): ribasushi | 2009-03-29 03:18:19 -0700 Adjust parenthesis to pass with latest SQLA r1261@hlagh (orig r5838): ribasushi | 2009-03-29 03:22:49 -0700 Remove failing test before branching r1269@hlagh (orig r5846): ribasushi | 2009-03-29 16:05:37 -0700 Take experimental off TxnScopeGuard r1270@hlagh (orig r5847): ribasushi | 2009-03-29 16:44:40 -0700 Dev-Release 0.08099_08 r1272@hlagh (orig r5851): castaway | 2009-03-30 23:41:42 -0700 Fix my email address in AUTHOR r1274@hlagh (orig r5858): plu | 2009-04-07 07:15:32 -0700 Added caveat notes to dual trick in cookbook r1276@hlagh (orig r5863): jmmills | 2009-04-08 12:28:16 -0700 r81350@ofelia (orig r5840): ribasushi | 2009-03-29 03:30:21 -0700 Re-add failing test r1277@hlagh (orig r5874): arcanez | 2009-04-09 06:35:46 -0700 require DBD::SQLite 1.21+ r1278@hlagh (orig r5884): caelum | 2009-04-13 05:47:47 -0700 add test for connect_info hashref r1279@hlagh (orig r5886): pcc | 2009-04-13 11:35:51 -0700 Correctly propagate forced left joins through arrayrefs and hashrefs r1280@hlagh (orig r5888): caelum | 2009-04-15 06:47:53 -0700 duplicate r1281@hlagh (orig r5890): plu | 2009-04-17 01:10:19 -0700 Added update_or_new to ResultSet.pm r1282@hlagh (orig r5902): ilmari | 2009-04-18 11:38:44 -0700 Don't warn when reregistering a source under the same name r1283@hlagh (orig r5912): matthewt | 2009-04-19 07:52:15 -0700 0.08100 release r1284@hlagh (orig r5915): arcanez | 2009-04-20 15:07:07 -0700 move load_optional_class into Class::C3::Componentised r1285@hlagh (orig r5922): ribasushi | 2009-04-21 01:37:11 -0700 New SQLite kicks ass - remove some warning silencers and reinstantiate tests r1286@hlagh (orig r5923): ribasushi | 2009-04-21 01:51:03 -0700 Multiple cdbi-compat test cleanups Clarify search_like deprecation r1287@hlagh (orig r5924): ribasushi | 2009-04-21 01:51:59 -0700 More author test-requires r1288@hlagh (orig r5925): ribasushi | 2009-04-21 01:53:35 -0700 t/ janitorial work r1295@hlagh (orig r5935): ribasushi | 2009-04-21 07:17:04 -0700 Fix dumb omission in t/89dbicadmin.t Adjust svn:ignore r1296@hlagh (orig r5936): peter | 2009-04-21 08:52:58 -0700 added IRC nick to contributor list r1302@hlagh (orig r5943): arcanez | 2009-04-21 20:21:28 -0700 un-todo these tests, load_optional_class is fixed r1303@hlagh (orig r5944): ribasushi | 2009-04-22 01:14:13 -0700 RT45195 various indexer fixes r1304@hlagh (orig r5945): ribasushi | 2009-04-22 01:18:14 -0700 Another indexer trick r1306@hlagh (orig r5948): ribasushi | 2009-04-22 15:25:32 -0700 This code belongs in t/ r1308@hlagh (orig r5950): ribasushi | 2009-04-22 15:28:26 -0700 r5846@Thesaurus (orig r5845): ribasushi | 2009-03-29 16:55:03 +0200 Fix test - inane assumption on my part r1309@hlagh (orig r5951): ribasushi | 2009-04-22 15:33:42 -0700 r5863@Thesaurus (orig r5862): jmmills | 2009-04-08 21:26:57 +0200 patch for no-op, further testing required. r1310@hlagh (orig r5952): ribasushi | 2009-04-22 15:34:11 -0700 r5927@Thesaurus (orig r5926): ribasushi | 2009-04-21 11:57:03 +0200 Fix number of tests r1311@hlagh (orig r5953): ribasushi | 2009-04-22 15:35:52 -0700 r5928@Thesaurus (orig r5927): ribasushi | 2009-04-21 12:42:14 +0200 Clarify _register_source code, no functional changes r1312@hlagh (orig r5954): ribasushi | 2009-04-22 15:35:59 -0700 r5929@Thesaurus (orig r5928): ribasushi | 2009-04-21 12:53:25 +0200 Back out my bogus test from r4902 - this warning was never supposed to be here in the first place - we are essentially dynamically subclassing Artist (although in a very sloppy way) r1313@hlagh (orig r5955): ribasushi | 2009-04-22 15:37:43 -0700 r1314@hlagh (orig r5956): ribasushi | 2009-04-22 15:37:49 -0700 r5931@Thesaurus (orig r5930): ribasushi | 2009-04-21 13:06:25 +0200 Sloppy merge - adding imlari's fix from r5902 r1316@hlagh (orig r5958): ribasushi | 2009-04-22 15:48:08 -0700 Fix botched merge again - sorry r5959-5956 are actually a single commit r1318@hlagh (orig r5966): gphat | 2009-04-23 13:49:04 -0700 Fix busted get_column when using +select (and friends) r1319@hlagh (orig r5967): arcanez | 2009-04-23 13:58:59 -0700 update Changes for moving load_optional_class r1320@hlagh (orig r5975): ribasushi | 2009-04-23 16:47:04 -0700 Whops r1321@hlagh (orig r5977): mo | 2009-04-24 07:24:26 -0700 patch for DBI.pm so store_column is called only once on create() and tests for that r1322@hlagh (orig r5978): mo | 2009-04-24 07:27:20 -0700 cleanup 72pg.t r1323@hlagh (orig r5979): ribasushi | 2009-04-24 08:22:05 -0700 Cosmetic change r1325@hlagh (orig r5986): castaway | 2009-04-25 02:59:28 -0700 Docs on using multiple db schemas (from abraxxa maybe, I forget) Docs on setting result_class from agaran r1326@hlagh (orig r5987): ribasushi | 2009-04-27 01:03:58 -0700 Refactor the (almost obsolete) DBD::SQLite check not to fork() within win32 r1327@hlagh (orig r5988): ribasushi | 2009-04-27 01:05:43 -0700 Whops, we don't exit under win32 r1328@hlagh (orig r5989): ribasushi | 2009-04-27 01:14:38 -0700 More AUTHOR dependencies pulled from Replicated.pm Up MI version to 0.79 (not going further as auto_install is broken again, need a permanent solution) Reorder configure_requires() as per Alias Remove Meta_TupleKeys munging as per Alias r1329@hlagh (orig r5990): ribasushi | 2009-04-27 02:11:15 -0700 Release 0.08101 r1331@hlagh (orig r5994): arcanez | 2009-04-28 00:05:53 -0700 change from DB::Schema to My::Schema add ::Result:: as necessary (load_namespaces instead of load_classes) r1332@hlagh (orig r5995): ribasushi | 2009-04-28 02:12:33 -0700 Fix a todo and some minor test adjustments r1333@hlagh (orig r5996): ribasushi | 2009-04-28 02:35:31 -0700 Bogus test dependency r1334@hlagh (orig r6002): arcanez | 2009-04-28 13:20:42 -0700 fix for columns => [ ... ] issue r1335@hlagh (orig r6013): arcanez | 2009-04-28 16:16:48 -0700 test for prefetch by columns r1336@hlagh (orig r6015): ribasushi | 2009-04-29 01:22:16 -0700 test and patch for failing mini-prefetch via columns (arcanez++) r1337@hlagh (orig r6016): ribasushi | 2009-04-29 01:23:25 -0700 Add two TODOs by arcanez (not sure about those) r1338@hlagh (orig r6017): ribasushi | 2009-04-29 01:24:20 -0700 Add TODOs illustrating a problem with as_query r1339@hlagh (orig r6018): arcanez | 2009-04-29 05:47:03 -0700 untodo/fix test r1340@hlagh (orig r6019): ribasushi | 2009-04-29 06:39:27 -0700 Strip out inane todo r1341@hlagh (orig r6020): ribasushi | 2009-04-29 06:40:03 -0700 Forgotten debugging r1342@hlagh (orig r6021): ribasushi | 2009-04-29 06:41:37 -0700 Fixes to massive breakage introduced by 5948 ribasushi-- r1343@hlagh (orig r6022): ribasushi | 2009-04-29 06:47:23 -0700 Changes r1344@hlagh (orig r6023): jasonmay | 2009-04-29 08:18:11 -0700 allow multiple classless sources to be registered without dying r1345@hlagh (orig r6024): jasonmay | 2009-04-29 09:47:26 -0700 add jasonmay to list of contributors r1346@hlagh (orig r6033): ribasushi | 2009-04-29 23:53:51 -0700 Add tests for r6002 r1348@hlagh (orig r6035): ribasushi | 2009-04-30 01:12:23 -0700 Revert addition of superficial relationship in r5886 r1351@hlagh (orig r6038): ribasushi | 2009-04-30 01:28:04 -0700 Release 0.08102 r1361@hlagh (orig r6109): plu | 2009-05-02 12:11:40 -0700 Failing testcase for using subselect (as_query) r1362@hlagh (orig r6110): ribasushi | 2009-05-02 17:00:19 -0700 Failing test without immediate fixes go to branches, not to trunk r1365@hlagh (orig r6113): ribasushi | 2009-05-03 01:23:28 -0700 Bump SQLA ependencies so parenthesis_significant is guaranteed to be there r1377@hlagh (orig r6126): arcanez | 2009-05-05 00:27:56 -0700 r6037@mullet (orig r6036): arcanez | 2009-04-30 01:24:41 -0700 branch to work on Sybase/MSSQL subtleties r6038@mullet (orig r6037): arcanez | 2009-04-30 01:27:11 -0700 jump to ::DBI::Sybase::MSSQL if we are using MSSQL through Sybase r6062@mullet (orig r6061): arcanez | 2009-04-30 14:05:24 -0700 fixes for MSSQL via Sybase r6126@mullet (orig r6125): arcanez | 2009-05-05 00:27:13 -0700 add a line to Changes and add a CAVEAT r2490@hlagh (orig r6163): ribasushi | 2009-05-07 10:09:01 -0700 r6115@Thesaurus (orig r6114): plu | 2009-05-03 10:39:16 +0200 new branch to fix $rs->update and $rs->delete using the new as_query method r6116@Thesaurus (orig r6115): plu | 2009-05-03 10:52:07 +0200 Methods update/delete on resultset use now new as_query method to updated/delete properly on joined/prefetched resultset using a subquery. Therefore some tests have been added and some have been changed as well as the warnings around $rs->update/delete have been removed. Cheers! r6117@Thesaurus (orig r6116): plu | 2009-05-03 11:13:48 +0200 Using "is" instead of "cmp_ok" r6160@Thesaurus (orig r6159): ribasushi | 2009-05-07 11:58:14 +0200 Back out skip_parens support in as_query r6161@Thesaurus (orig r6160): ribasushi | 2009-05-07 19:00:48 +0200 This test is completely borked, needs a rewrite r6162@Thesaurus (orig r6161): ribasushi | 2009-05-07 19:07:19 +0200 Temporary fix or the IN ( ( ... ) ) problem until we get proper SQLA AST (needs SQLA released with commit 6158 to work) r2491@hlagh (orig r6164): ribasushi | 2009-05-07 10:11:46 -0700 Changes, remove merged branch r2492@hlagh (orig r6168): ribasushi | 2009-05-07 10:24:54 -0700 Bump SQLA dependency so -in/-between workarounds overload properly r2495@hlagh (orig r6171): ribasushi | 2009-05-07 11:49:26 -0700 Cookbook cleanup r2496@hlagh (orig r6173): ribasushi | 2009-05-08 01:13:30 -0700 Throw away some debugging code r2497@hlagh (orig r6174): ribasushi | 2009-05-08 01:21:53 -0700 Documentation patch by nniuq r2498@hlagh (orig r6175): plu | 2009-05-08 01:30:20 -0700 Set NLS_LANG so we have a predictable date format when using MON r2499@hlagh (orig r6176): ribasushi | 2009-05-08 03:15:15 -0700 Fix POD r2500@hlagh (orig r6178): jgoulah | 2009-05-08 07:27:49 -0700 renaming rh performance test so it will show up at the end of test output r2513@hlagh (orig r6194): caelum | 2009-05-09 06:46:55 -0700 added postgres default port stuff to FAQ r2514@hlagh (orig r6198): mo | 2009-05-10 08:37:16 -0700 set_$rel accepts now a $link_vals hashref like add_to_$rel does r2516@hlagh (orig r6201): ribasushi | 2009-05-10 10:57:31 -0700 Require DBICTest.pm in all tests even if it is not needed at all r2517@hlagh (orig r6202): ribasushi | 2009-05-10 11:17:09 -0700 No more 'I forgot to run perl Makefile.PL' r2518@hlagh (orig r6203): ribasushi | 2009-05-10 12:35:03 -0700 Switch the m2m method warnings from warnings::register to $ENV{DBIC_METHOD_CLOBBER_OK} = 1 r2519@hlagh (orig r6205): ribasushi | 2009-05-11 03:50:54 -0700 Change the makefile to test r6202 r2527@hlagh (orig r6217): ribasushi | 2009-05-11 22:02:14 -0700 Trying to untangle failing merge (whitespace change) r2529@hlagh (orig r6219): ribasushi | 2009-05-11 22:02:56 -0700 r5757@Thesaurus (orig r5756): arcanez | 2009-03-14 14:55:55 +0100 created count_distinct branch r5758@Thesaurus (orig r5757): arcanez | 2009-03-14 15:33:03 +0100 * change count with group_by (distinct) to use a subquery * rewrite of _bind_to_sql (uses placeholders and bindvars) * tests for count distinct * fixed tests for from subquery r5760@Thesaurus (orig r5759): arcanez | 2009-03-16 16:48:28 +0100 don't remove the where clause unless we're doing distinct, it needs to be there r5850@Thesaurus (orig r5849): arcanez | 2009-03-30 21:40:05 +0200 * add more tests * remove old cruft * remove old note r6035@Thesaurus (orig r6034): ribasushi | 2009-04-30 09:10:36 +0200 Add joined count test r6079@Thesaurus (orig r6078): arcanez | 2009-05-01 08:41:34 +0200 cleanup/fix some broken tests r6097@Thesaurus (orig r6096): arcanez | 2009-05-01 19:37:04 +0200 make sure merge bind test for aformentioned TODO count_joined test for a little while r6105@Thesaurus (orig r6104): arcanez | 2009-05-02 02:33:49 +0200 remove hackish ways r6106@Thesaurus (orig r6105): arcanez | 2009-05-02 03:20:04 +0200 more fixes to tests r6107@Thesaurus (orig r6106): arcanez | 2009-05-02 03:33:47 +0200 remove DBIx::Class::Storage::DBI::MultiDistinctEmulation r6111@Thesaurus (orig r6110): ribasushi | 2009-05-03 02:00:19 +0200 Failing test without immediate fixes go to branches, not to trunk r6114@Thesaurus (orig r6113): ribasushi | 2009-05-03 10:23:28 +0200 Bump SQLA ependencies so parenthesis_significant is guaranteed to be there r6148@Thesaurus (orig r6147): ribasushi | 2009-05-06 17:40:31 +0200 Add subquery/from test by michaelr (copied from subquery branch r5742) r6151@Thesaurus (orig r6150): ribasushi | 2009-05-06 17:56:07 +0200 TODOify sqla-dependent tests r6152@Thesaurus (orig r6151): arcanez | 2009-05-06 18:33:58 +0200 fix old test using new bind vars (no more interpolating) r6154@Thesaurus (orig r6153): ribasushi | 2009-05-07 00:56:40 +0200 Rename internal function to clarify what it does r6171@Thesaurus (orig r6170): ribasushi | 2009-05-07 19:53:30 +0200 Adjust tests for the IN fixes r6187@Thesaurus (orig r6186): ribasushi | 2009-05-08 23:11:43 +0200 Final count tests r6188@Thesaurus (orig r6187): arcanez | 2009-05-09 03:50:12 +0200 rewrite DISTINCT/COUNT(DISTINCT) Cookbook entries r6213@Thesaurus (orig r6212): arcanez | 2009-05-11 22:41:21 +0200 warn/die based on { select => { distinct => { } } } r6214@Thesaurus (orig r6213): arcanez | 2009-05-11 23:21:11 +0200 use carp instead of warn r6216@Thesaurus (orig r6215): arcanez | 2009-05-11 23:45:05 +0200 make sure we get just a string r6217@Thesaurus (orig r6216): arcanez | 2009-05-11 23:52:11 +0200 oops r2531@hlagh (orig r6221): ribasushi | 2009-05-11 23:11:27 -0700 r6112@Thesaurus (orig r6111): nniuq | 2009-05-03 02:36:33 +0200 Initially, fixes to enable saving of LOB types in Oracle. Possibly timestamp tweaks. r6113@Thesaurus (orig r6112): nniuq | 2009-05-03 03:52:29 +0200 Support for saving CLOB and BLOB types in Oracle. r6118@Thesaurus (orig r6117): nniuq | 2009-05-04 03:58:03 +0200 Proper support for timestamp inflation. Added last_updated_at to DBICTest::Schema::Track as a date by default, initialized in sqlite loader, redefined to timestamp for Oracle tests. r6119@Thesaurus (orig r6118): nniuq | 2009-05-04 04:03:28 +0200 Re-added last_updated_at to create table statement. r6134@Thesaurus (orig r6133): nniuq | 2009-05-05 15:11:49 +0200 Added self to contributors; clarified comment on :ora_types imports. r6182@Thesaurus (orig r6181): nniuq | 2009-05-08 17:10:58 +0200 Refactored to call _{inflate_to,deflate_from}_datetime through a _flate_or_fallback wrapper handling a parser's lack of support for the requested type. r6183@Thesaurus (orig r6182): ribasushi | 2009-05-08 17:24:54 +0200 Remove redundant var r6189@Thesaurus (orig r6188): nniuq | 2009-05-09 03:59:20 +0200 Changed test of lob values from is to ok on an eq expr, to avoid a huge got/expected diagnosis. In doing so, discovered it was testing undef vs undef! Whoops. Fixed. r6210@Thesaurus (orig r6209): nniuq | 2009-05-11 16:24:27 +0200 Moved DBIC::SQL::Abstract inner classes to DBIx::Class::SQLAHacks namespace to decouple 41orrible.t tests from use of DBD::Oracle in Oracle Generic driver. r2533@hlagh (orig r6223): ribasushi | 2009-05-11 23:13:31 -0700 r6223@Thesaurus (orig r6222): ribasushi | 2009-05-12 08:12:50 +0200 Whops, forgotten post-merge tweaks r2535@hlagh (orig r6225): ribasushi | 2009-05-11 23:43:58 -0700 Cleanup r2536@hlagh (orig r6226): ribasushi | 2009-05-12 00:42:45 -0700 Shuffle delete tests, and sanify the delete related ones r2537@hlagh (orig r6227): ribasushi | 2009-05-12 00:54:37 -0700 Rename m2m warn disable envvar r2538@hlagh (orig r6228): ribasushi | 2009-05-12 01:20:08 -0700 Switch warn to carp and die to throw_exception where possible r2539@hlagh (orig r6229): bricas | 2009-05-12 04:31:35 -0700 added info to Changes from my DateTime::InflateColumn modifications r2540@hlagh (orig r6230): nniuq | 2009-05-12 06:08:14 -0700 Added synopsis of merged oracle-tweaks branch to Changes r2542@hlagh (orig r6232): debolaz | 2009-05-12 08:17:09 -0700 Test for failing code related to many to many in MySQL r2543@hlagh (orig r6233): arcanez | 2009-05-12 08:33:56 -0700 Changes for count_distinct branch merge r2544@hlagh (orig r6234): ribasushi | 2009-05-12 09:09:14 -0700 Some more die/croak conversions r2545@hlagh (orig r6235): ribasushi | 2009-05-12 09:51:38 -0700 Fix shot test r2546@hlagh (orig r6243): ribasushi | 2009-05-12 18:02:11 -0700 fix bogus test r2547@hlagh (orig r6244): ribasushi | 2009-05-12 18:06:42 -0700 Fix _select_for_update/delete - bring back old code, use subqueries only when resultset attributes call for it r2554@hlagh (orig r6251): ribasushi | 2009-05-13 16:41:31 -0700 Better testing and heuristics for subqueried _cond_for_update_delete r2555@hlagh (orig r6252): ribasushi | 2009-05-13 16:54:41 -0700 join can be found without seen_join r2557@hlagh (orig r6254): ribasushi | 2009-05-14 03:12:44 -0700 Sometimes _prepare_for_execute may not return a set of bind vars - guard against that r2558@hlagh (orig r6255): ribasushi | 2009-05-14 03:14:19 -0700 Clarify test r2564@hlagh (orig r6263): ribasushi | 2009-05-14 06:40:19 -0700 r6121@Thesaurus (orig r6120): caelum | 2009-05-04 17:13:22 +0200 Making new branch for storage tweaking r6122@Thesaurus (orig r6121): caelum | 2009-05-04 20:07:47 +0200 support hashrefs for connect_replicants r6123@Thesaurus (orig r6122): caelum | 2009-05-04 23:07:43 +0200 ::Replicated - test hashref for connect_replicants and croak on coderef, switch to MX::Types, make test less noisy r6143@Thesaurus (orig r6142): caelum | 2009-05-06 05:13:56 +0200 fix ::DBI::Replicated::all_storages r6144@Thesaurus (orig r6143): caelum | 2009-05-06 05:25:04 +0200 Replicated - fixup types and namespace::clean r6147@Thesaurus (orig r6146): caelum | 2009-05-06 15:29:39 +0200 ::DBI:Replicated - merge connect_info from master to replicants r6184@Thesaurus (orig r6183): caelum | 2009-05-08 18:08:29 +0200 support ::DBI::Replicated opts in connect_info r6190@Thesaurus (orig r6189): caelum | 2009-05-09 05:31:15 +0200 ::DBI::Replicated - add master_read_weight to ::Random balancer_type r6191@Thesaurus (orig r6190): caelum | 2009-05-09 12:50:25 +0200 ::DBI::Replicated - fix fallback to master, test for the warning, other cleanups r6193@Thesaurus (orig r6192): caelum | 2009-05-09 13:52:52 +0200 updated Changes r6194@Thesaurus (orig r6193): caelum | 2009-05-09 14:21:44 +0200 ::DBI::Replicated - don't build pool/balancer from connect_info unless necessary r2568@hlagh (orig r6267): caelum | 2009-05-14 19:04:12 -0700 minor replication changes - use a real hash merge, clarify master_read_weight, really done with this now. r2570@hlagh (orig r6271): abraxxa | 2009-05-15 04:45:54 -0700 added Static sub-classing DBIx::Class result classes section to the cookbook r2572@hlagh (orig r6276): ribasushi | 2009-05-15 15:46:00 -0700 Optimize some Ordered.pm code r2573@hlagh (orig r6277): ribasushi | 2009-05-15 23:02:18 -0700 Cleanup tests r2575@hlagh (orig r6279): ribasushi | 2009-05-16 00:30:05 -0700 Not sure what this part of the test is for, but it breaks custom resultsets, and the test passes without it. Removing as a possible remnant of an ancient civilization r2576@hlagh (orig r6280): ribasushi | 2009-05-16 00:33:24 -0700 Add default resultclass/resultsetclass to the entire test schema, as I am tired of typing extra shit for debugging purposes r2577@hlagh (orig r6281): ribasushi | 2009-05-16 00:34:21 -0700 Now we can do diag $rs->hri_dump, ain't that nice r4123@hlagh (orig r6289): ribasushi | 2009-05-16 15:06:40 -0700 Rewrite SqlMakerTest to fully depend on SQLA::Test Allow is_same_sql_bind to accept an arrayrefref instead of any pair of $sql, \@bind r4127@hlagh (orig r6298): frew | 2009-05-18 09:16:44 -0700 Fix order by clauses for MSSQL r4131@hlagh (orig r6303): frew | 2009-05-18 12:43:48 -0700 Test to show problem r4132@hlagh (orig r6304): ribasushi | 2009-05-18 13:12:35 -0700 Failing tests go to branches r4133@hlagh (orig r6305): ribasushi | 2009-05-18 13:14:26 -0700 Require bugfixed sqla r4137@hlagh (orig r6311): ribasushi | 2009-05-18 14:05:10 -0700 r6157@Thesaurus (orig r6156): ribasushi | 2009-05-07 10:28:14 +0200 new branch for the diamond join/prefetch bug r6158@Thesaurus (orig r6157): ribasushi | 2009-05-07 11:12:41 +0200 Add failing test by gheift r6294@Thesaurus (orig r6293): ribasushi | 2009-05-18 01:10:22 +0200 Fixes for the diamond-relationship prefetch/join problem The core of the issue was that resolve_prefetch calculated duplicate join alias numbers separate from resolve_join In order to solve this, now the only join alias calculation happens in resolve_join (with prefetch being always merged as extra joins), and each join arrayref in from is labeled with the full relationship chain from me to the particular join. Then resolve_prefetch has to walk this chain and pull the necessary alias in order to generate the correct select r6296@Thesaurus (orig r6295): ribasushi | 2009-05-18 14:05:31 +0200 Add a comment about a small resolve_join omission r4139@hlagh (orig r6313): frew | 2009-05-18 14:56:37 -0700 cleanup for ribasushi r4141@hlagh (orig r6315): frew | 2009-05-18 16:10:20 -0700 I contributed! r4142@hlagh (orig r6316): arcanez | 2009-05-18 20:30:18 -0700 doc patch per amiri r4143@hlagh (orig r6317): arcanez | 2009-05-18 20:33:47 -0700 I think I got it right this time r4146@hlagh (orig r6321): abraxxa | 2009-05-19 10:07:08 -0700 added test for total_entries on a paged resultset r4150@hlagh (orig r6325): ribasushi | 2009-05-19 10:34:45 -0700 r6258@Thesaurus (orig r6257): ribasushi | 2009-05-14 13:18:58 +0200 Refactor count handling - use a different code path depending on the complexity of the resultset query, allows proper collapsing of count results via group_by subqueries r4151@hlagh (orig r6326): ribasushi | 2009-05-19 10:34:53 -0700 r6259@Thesaurus (orig r6258): ribasushi | 2009-05-14 13:19:35 +0200 Straightforward test changes r4152@hlagh (orig r6327): ribasushi | 2009-05-19 10:35:00 -0700 r6260@Thesaurus (orig r6259): ribasushi | 2009-05-14 13:19:59 +0200 Questionable test changes - need a review r4153@hlagh (orig r6328): ribasushi | 2009-05-19 10:35:07 -0700 r6269@Thesaurus (orig r6268): ribasushi | 2009-05-15 10:43:04 +0200 Add failing multikey rs delete (and by implication update) test r4154@hlagh (orig r6329): ribasushi | 2009-05-19 10:35:14 -0700 r6276@Thesaurus (orig r6275): ribasushi | 2009-05-15 23:35:06 +0200 A workable fix for the resultset multicol update/delete debacle - by default fallback to per-row deletions, with the ability to overide this behavior for various storage drivers r4155@hlagh (orig r6330): ribasushi | 2009-05-19 10:35:20 -0700 r6279@Thesaurus (orig r6278): ribasushi | 2009-05-16 08:36:45 +0200 Rename tests r4156@hlagh (orig r6331): ribasushi | 2009-05-19 10:36:37 -0700 r6284@Thesaurus (orig r6283): ribasushi | 2009-05-16 10:40:44 +0200 Test and fixed for paged grouped count r4157@hlagh (orig r6332): ribasushi | 2009-05-19 10:38:00 -0700 r6301@Thesaurus (orig r6300): ribasushi | 2009-05-18 19:32:42 +0200 pager optimization r4158@hlagh (orig r6333): ribasushi | 2009-05-19 10:39:27 -0700 r6321@Thesaurus (orig r6320): ribasushi | 2009-05-19 18:11:00 +0200 Make select always equal group by on count subqueries Make sure offset does not increment boundlessly on every _resolved_attrs run r4159@hlagh (orig r6334): ribasushi | 2009-05-19 10:39:34 -0700 r6323@Thesaurus (orig r6322): ribasushi | 2009-05-19 19:26:21 +0200 Make sure pg test can restart after half-way failures r4160@hlagh (orig r6335): ribasushi | 2009-05-19 10:39:42 -0700 r6324@Thesaurus (orig r6323): ribasushi | 2009-05-19 19:34:19 +0200 Hide resultsource methods that should have never been documented r4161@hlagh (orig r6336): ribasushi | 2009-05-19 10:42:59 -0700 Add files dropped by the screwed up merge - I suck r4162@hlagh (orig r6337): ribasushi | 2009-05-19 10:43:56 -0700 Adjust dependencies - most of them pull in bugfixes r4163@hlagh (orig r6338): ribasushi | 2009-05-19 10:52:39 -0700 Make podcoverage happy (deprecated, undocumented methods) r4164@hlagh (orig r6339): ribasushi | 2009-05-19 11:46:40 -0700 Simplify __count() - explicitly specify which attributes to copy, instead of deleting a whole bunch of them r4166@hlagh (orig r6341): dandv | 2009-05-19 17:56:57 -0700 Tiny POD formatting fix r4167@hlagh (orig r6342): caelum | 2009-05-19 20:11:12 -0700 add mysql lost password faq r4168@hlagh (orig r6343): caelum | 2009-05-19 20:58:36 -0700 add test for distinct result of sql function r4311@hlagh (orig r6344): ribasushi | 2009-05-20 00:03:08 -0700 Make joined rs counts backwards compatible - we do not collapse a result exploded by a has_many join unless it is explicitly requested by distinct => 1, OR unless we have collapse set which implies prefetch r4312@hlagh (orig r6346): ribasushi | 2009-05-20 03:44:54 -0700 detect/purge having bind for compeleteness r4313@hlagh (orig r6347): ribasushi | 2009-05-20 03:51:05 -0700 Bring back the old code from resolve_prefetch so ash's code can work Add tests to make sure we throw it away in 09 r4314@hlagh (orig r6348): ribasushi | 2009-05-20 05:30:40 -0700 Add explicit grouping for rs update/delete operations if the parameters warrant it (tests coming tonight) r4315@hlagh (orig r6349): ribasushi | 2009-05-20 06:32:27 -0700 Make sure we always work with resolved rs attributes while counting (and test) r4316@hlagh (orig r6350): ribasushi | 2009-05-20 06:42:48 -0700 More explicit attribute deletion/detection - a lof of this is probably redundant, as _resoved_attrs() should flatten them away (i.e. prefetch to collapse and distinct to group_by). Nevertheless keep them there for explcetness ( delete() is cheap ) r4317@hlagh (orig r6351): arcanez | 2009-05-20 08:04:17 -0700 update to Changes r4318@hlagh (orig r6352): arcanez | 2009-05-20 08:06:50 -0700 fix for sql functions in group_by r4319@hlagh (orig r6353): frew | 2009-05-20 09:03:55 -0700 fix test for people with spaces in path r4320@hlagh (orig r6354): ribasushi | 2009-05-20 13:59:10 -0700 POD fixes r4321@hlagh (orig r6355): ribasushi | 2009-05-20 14:00:13 -0700 Switch as_query testing to direct specification in is_same_sql_bind r4322@hlagh (orig r6356): ribasushi | 2009-05-20 14:47:05 -0700 on_connect_do now accepts a single string like it does an arrayref (patch by prema) r4323@hlagh (orig r6357): ribasushi | 2009-05-21 00:45:52 -0700 Clarify usage of _resolved_attrs by adding the explicit _resolved_attrs_copy Clarify code in ResultSetColumn r4324@hlagh (orig r6358): ribasushi | 2009-05-21 00:59:50 -0700 Duh, no point of having ordered subqueries while counting, Debolaz++ r4327@hlagh (orig r6366): caelum | 2009-05-21 19:54:12 -0700 add some support for trying to determine storage driver without being connected r4328@hlagh (orig r6367): caelum | 2009-05-21 21:52:47 -0700 comment addition r4329@hlagh (orig r6368): caelum | 2009-05-21 23:09:05 -0700 fix limit for DB2 r4330@hlagh (orig r6369): ribasushi | 2009-05-22 01:28:58 -0700 Extend DB2 test r4331@hlagh (orig r6370): ribasushi | 2009-05-22 01:31:25 -0700 Some attributes require a grouped count subquery, some - just a subquery. Differentiate properly r4332@hlagh (orig r6371): ribasushi | 2009-05-22 01:35:36 -0700 duh r4334@hlagh (orig r6373): caelum | 2009-05-22 06:50:45 -0700 ::Replicated -- check for master rebless and reapply role if necessary r4336@hlagh (orig r6375): ash | 2009-05-22 09:54:00 -0700 Make distinct calculate columns *after* prefetch has been resolved. Tests to come r4339@hlagh (orig r6379): ribasushi | 2009-05-23 01:09:46 -0700 Refactor rs_update_delete (too many methods for no reason) Make mysql use _per_row_update_delete by default as this is the only thing it understands: http://dev.mysql.com/doc/refman/5.0/en/subquery-errors.html r4340@hlagh (orig r6380): caelum | 2009-05-23 07:44:59 -0700 Sybase autopk, and a test, no limit support yet r4341@hlagh (orig r6381): ribasushi | 2009-05-23 12:33:28 -0700 Tests and test schema adjustments for resultset update/delete r4342@hlagh (orig r6382): ribasushi | 2009-05-23 12:35:59 -0700 Add storage component of multipk resultset update/delete for multicolumn IN capable rdbms Switch Pg to that (tested via DBICTEST_DSN) r4343@hlagh (orig r6383): caelum | 2009-05-23 12:46:11 -0700 Sybase bindvar and IC::DT support r4344@hlagh (orig r6384): caelum | 2009-05-23 12:57:08 -0700 hide internal Sybase classes from PAUSE r4346@hlagh (orig r6386): caelum | 2009-05-23 13:28:42 -0700 revert last Sybase changes r4349@hlagh (orig r6389): ribasushi | 2009-05-23 13:59:17 -0700 Extra test and count fixes for prefetch + distinct r4350@hlagh (orig r6390): caelum | 2009-05-23 14:04:01 -0700 minor clean up r4351@hlagh (orig r6391): ribasushi | 2009-05-23 14:37:19 -0700 Make sure MultiColumnIn quotes column names while munging literal sql Tested by running t/resultset/update_delete against pg with quote char " and name sep . r4352@hlagh (orig r6392): ribasushi | 2009-05-23 15:47:40 -0700 update changes r4353@hlagh (orig r6393): ribasushi | 2009-05-23 15:50:08 -0700 Extend distinct deprecation tests and clarify warnings r4355@hlagh (orig r6395): ribasushi | 2009-05-24 01:47:03 -0700 MSSQL through ODBC does not like unfinished statements - make sure we finish the scope identity retrieval (This worked before because of the automatic retry on exception, essentially running any select after insert twice) r4356@hlagh (orig r6396): ribasushi | 2009-05-24 02:42:01 -0700 Make sure we do not clobber search attributes when using subqueries r4357@hlagh (orig r6397): ribasushi | 2009-05-24 02:43:32 -0700 SUPER is so last century r4358@hlagh (orig r6398): ribasushi | 2009-05-24 05:12:39 -0700 Deprecate ::DBI::Sybase::MSSQL r4359@hlagh (orig r6399): ribasushi | 2009-05-24 06:00:50 -0700 eol adjustments r4360@hlagh (orig r6400): ribasushi | 2009-05-24 06:07:45 -0700 Switch trunk to native eol-style r4361@hlagh (orig r6401): ribasushi | 2009-05-24 06:35:07 -0700 Failing test about warnings triggered in SQLA::Limit when using a subquery r4365@hlagh (orig r6405): ribasushi | 2009-05-24 13:53:15 -0700 Switch around inheritance of MSSQL drivers, remove some duplicate code r4366@hlagh (orig r6406): caelum | 2009-05-24 16:49:17 -0700 fix double connect for ODBC/MSSQL r4367@hlagh (orig r6407): caelum | 2009-05-24 16:53:12 -0700 added test to make sure only one connection to ODBC/MSSQL is made r4520@hlagh (orig r6410): ribasushi | 2009-05-24 23:48:38 -0700 Factor out the order_by sqlahacks resolver r4521@hlagh (orig r6411): ribasushi | 2009-05-25 00:42:45 -0700 Move the DB2 Limit syntax setting into the storage class r4522@hlagh (orig r6412): ribasushi | 2009-05-25 00:47:01 -0700 Forgotten podcoverage override r4523@hlagh (orig r6413): ribasushi | 2009-05-25 02:11:01 -0700 Define how Top limit emulation should behave r5249@hlagh (orig r6418): ribasushi | 2009-05-25 07:53:13 -0700 Actually don't need this anymore r5251@hlagh (orig r6420): tomboh | 2009-05-25 09:33:46 -0700 Small documentation improvement: link to a documented method. r5253@hlagh (orig r6422): ribasushi | 2009-05-25 10:42:02 -0700 This method does not exist anymore r5254@hlagh (orig r6426): ribasushi | 2009-05-25 23:15:34 -0700 TODOified test for RT#40701 r5256@hlagh (orig r6428): ash | 2009-05-26 07:17:44 -0700 Fix 'timestamp with time zone' columns for IC::DT inflation r5258@hlagh (orig r6430): ribasushi | 2009-05-26 07:29:55 -0700 r6415@Thesaurus (orig r6414): ribasushi | 2009-05-25 11:18:05 +0200 Yet another branch to attempt a top fix r6416@Thesaurus (orig r6415): ribasushi | 2009-05-25 11:24:32 +0200 The Top limit emulation bundled with SQLA::Limit assumes that the limited resultset will be _always_ sorted. In order to fix this, I reimplemented _Top in SQLAHacks with a slight modification. Now the original order_by is passed to the outside of the nested select block, while order_up/down are calculated either based on the original order_by, or if one is not present an order by all PKs is attempted. Since I do not have access to $rsrc in SQLA, I pass the list of PKs as an extra group_by hash entry. This appears to be rather safe, and besides we already pollute order_by with group_by and having (which seems to work rather well). The only thing I am unsure about is the need for _gen_virtual_order(). Initially I was going to generate the pk list, only if we use the Top limit. Then it turned out there is no limit dialect before we connect, so I commented it out. Now all it does is check for a limit condition and returns the PK list. Is this necessary at all? r6417@Thesaurus (orig r6416): ribasushi | 2009-05-25 16:08:40 +0200 Shoot another Top problem, move test from top_limit_tweaks branch and delete r6420@Thesaurus (orig r6419): ribasushi | 2009-05-25 17:45:33 +0200 Too much logic for no benefit - always populate _virtual_order_by r5260@hlagh (orig r6432): ribasushi | 2009-05-26 07:36:55 -0700 Fix test skip message r5261@hlagh (orig r6433): ribasushi | 2009-05-26 08:20:57 -0700 Minor fixes of the return value of rs->update/delete r5262@hlagh (orig r6434): ribasushi | 2009-05-26 11:49:49 -0700 fix comments r5263@hlagh (orig r6435): ribasushi | 2009-05-26 12:28:49 -0700 Attempt to reproduce reported mysql error (failed) - fixed another bug in ResultSetColumn along the way r5264@hlagh (orig r6436): ribasushi | 2009-05-26 13:02:29 -0700 Release 0.08103 r5288@hlagh (orig r6446): ribasushi | 2009-05-28 01:20:57 -0700 Commit rather useless but already written mysql test extension r5289@hlagh (orig r6447): ribasushi | 2009-05-28 04:02:22 -0700 Fix multiprefetch warning - we can now count properly r5290@hlagh (orig r6456): ribasushi | 2009-05-29 22:40:24 -0700 Patch + test for more informative exceptions on load_namespace a non-rs class r5291@hlagh (orig r6457): ribasushi | 2009-05-30 00:34:20 -0700 Add better error reporting on bulk_insert (ash++) r5300@hlagh (orig r6469): ribasushi | 2009-05-30 10:46:09 -0700 populate() fix and Changes r5301@hlagh (orig r6470): ribasushi | 2009-05-31 00:37:37 -0700 M::I 0.89 finally resolves all provlems with auto_install r5302@hlagh (orig r6471): ribasushi | 2009-05-31 00:42:35 -0700 Throw away the makefile SQLite test - it served its purpose r5303@hlagh (orig r6472): ribasushi | 2009-05-31 02:24:15 -0700 There is a saner way to write out resources r5304@hlagh (orig r6473): ribasushi | 2009-05-31 07:07:18 -0700 Last set of Makefile.PL optimizations r5305@hlagh (orig r6474): ribasushi | 2009-06-01 03:24:41 -0700 deploy-related pod fixes r5307@hlagh (orig r6476): ribasushi | 2009-06-01 07:40:22 -0700 r6462@Thesaurus (orig r6461): mo | 2009-05-30 11:06:54 +0200 order_by tests r5308@hlagh (orig r6477): ribasushi | 2009-06-01 07:40:30 -0700 r6463@Thesaurus (orig r6462): ribasushi | 2009-05-30 16:54:37 +0200 TODOify some of the order with bind tests r5309@hlagh (orig r6478): ribasushi | 2009-06-01 07:40:41 -0700 r6464@Thesaurus (orig r6463): ribasushi | 2009-05-30 16:55:37 +0200 Restructure bind tests r5310@hlagh (orig r6479): ribasushi | 2009-06-01 07:40:50 -0700 r6465@Thesaurus (orig r6464): ribasushi | 2009-05-30 17:15:57 +0200 Greatly simplify _order_by override to fallback on new SQLA r5311@hlagh (orig r6480): ribasushi | 2009-06-01 07:40:56 -0700 r6467@Thesaurus (orig r6466): ribasushi | 2009-05-30 19:13:23 +0200 Evil hack to make Carp::Clan work throughout SQLA as well r5312@hlagh (orig r6481): ribasushi | 2009-06-01 07:41:42 -0700 r6468@Thesaurus (orig r6467): ribasushi | 2009-05-30 19:17:02 +0200 Add changes r5313@hlagh (orig r6482): ribasushi | 2009-06-01 07:41:49 -0700 r5315@hlagh (orig r6484): ribasushi | 2009-06-01 07:49:09 -0700 Fix fallout from another botched merge (I suck, part 2) r5317@hlagh (orig r6486): ribasushi | 2009-06-03 01:14:51 -0700 Require a recent version of Date::Simple during CDBI tests r5325@hlagh (orig r6495): ribasushi | 2009-06-04 00:35:25 -0700 Move relationship tests around r5328@hlagh (orig r6498): ribasushi | 2009-06-04 02:52:18 -0700 Delegate actual counting to the storage class r5334@hlagh (orig r6501): ribasushi | 2009-06-04 06:38:21 -0700 Really delegate counting to the storage class - now we have either a grouped count or a regular one r5341@hlagh (orig r6508): ribasushi | 2009-06-04 13:54:28 -0700 having without group_by is useless - thus do not supply a group_by on count, let things die r5343@hlagh (orig r6510): ribasushi | 2009-06-04 14:51:13 -0700 It seems that this localisation can lead to problems Unfortunately no test case as the trigger was buried deep within Reaction, I coulnd't figure out an isolation --- efa934d7d431f0d217eb527d8da144cbeb81c6ec diff --cc lib/DBIx/Class/Storage/DBI/NoBindVars.pm index c74b9c0,7027ad6..ea44fc4 --- a/lib/DBIx/Class/Storage/DBI/NoBindVars.pm +++ b/lib/DBIx/Class/Storage/DBI/NoBindVars.pm @@@ -61,28 -61,9 +61,28 @@@ sub _prep_for_execute } $new_sql .= join '', @sql_part; - return ($new_sql); + return ($new_sql, []); } +=head2 should_quote_data_type + +This method is called by L for every column in +order to determine if its value should be quoted or not. The arguments +are the current column data type and the actual bind value. The return +value is interpreted as: true - do quote, false - do not quote. You should +override this in you Storage::DBI:: subclass, if your RDBMS +does not like quotes around certain datatypes (e.g. Sybase and integer +columns). The default method always returns true (do quote). + + WARNING!!! + + Always validate that the bind-value is valid for the current datatype. + Otherwise you may very well open the door to SQL injection attacks. + +=cut + +sub should_quote_data_type { 1 } + =head1 AUTHORS Brandon Black diff --cc lib/DBIx/Class/Storage/DBI/Sybase.pm index 0a26173,ec4fcf7..6ee1e80 --- a/lib/DBIx/Class/Storage/DBI/Sybase.pm +++ b/lib/DBIx/Class/Storage/DBI/Sybase.pm @@@ -5,26 -5,25 +5,45 @@@ use warnings use base qw/DBIx::Class::Storage::DBI::NoBindVars/; + sub _rebless { + my $self = shift; + + my $dbtype = eval { @{$self->dbh->selectrow_arrayref(qq{sp_server_info \@attribute_id=1})}[2] }; + unless ( $@ ) { + $dbtype =~ s/\W/_/gi; + my $subclass = "DBIx::Class::Storage::DBI::Sybase::${dbtype}"; + if ($self->load_optional_class($subclass) && !$self->isa($subclass)) { + bless $self, $subclass; + $self->_rebless; + } + } + } + + sub _dbh_last_insert_id { + my ($self, $dbh, $source, $col) = @_; + return ($dbh->selectrow_array('select @@identity'))[0]; + } + +my $noquote = { + int => qr/^ \-? \d+ $/x, + integer => qr/^ \-? \d+ $/x, + + # TODO maybe need to add float/real/etc +}; + +sub should_quote_data_type { + my $self = shift; + my ($type, $value) = @_; + + return $self->next::method(@_) if not defined $value; + + if (my $re = $noquote->{$type}) { + return 0 if $value =~ $re; + } + + return $self->next::method(@_); +} + 1; =head1 NAME diff --cc t/lib/DBICNSTest/Bogus/B.pm index 0000000,0000000..e9cdc37 new file mode 100644 --- /dev/null +++ b/t/lib/DBICNSTest/Bogus/B.pm @@@ -1,0 -1,0 +1,6 @@@ ++package DBICNSTest::Result::B; ++use base qw/DBIx::Class/; ++__PACKAGE__->load_components(qw/PK::Auto Core/); ++__PACKAGE__->table('b'); ++__PACKAGE__->add_columns('b'); ++1;