From: Peter Rabbitson Date: Wed, 10 Mar 2010 09:21:12 +0000 (+0000) Subject: Merge 'trunk' into 'oracle_hierarchical_queries_rt39121' X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=54161a15147b7e8c1fe3251595cf9d5dae78b59b;p=dbsrgits%2FDBIx-Class-Historic.git Merge 'trunk' into 'oracle_hierarchical_queries_rt39121' r7937@Thesaurus (orig r7925): ribasushi | 2009-11-19 12:04:21 +0100 Bail out eary in Versioned if no versioning checks are requested r7938@Thesaurus (orig r7926): ribasushi | 2009-11-19 12:06:13 +0100 POD fixes r7940@Thesaurus (orig r7928): caelum | 2009-11-22 11:03:33 +0100 fix connection setup for Sybase r7943@Thesaurus (orig r7931): caelum | 2009-11-22 13:27:43 +0100 override _run_connection_actions for internal connection setup in sybase stuff, much cleaner this way r7947@Thesaurus (orig r7935): ribasushi | 2009-11-23 01:18:28 +0100 Whoops r7948@Thesaurus (orig r7936): ribasushi | 2009-11-23 01:28:50 +0100 Fix ::Versioned regression introduced in r7925 r7951@Thesaurus (orig r7939): caelum | 2009-11-23 12:32:10 +0100 add subname to rdbms_specific_methods wrapper r7953@Thesaurus (orig r7941): caelum | 2009-11-23 13:23:14 +0100 r21187@hlagh (orig r7933): ribasushi | 2009-11-22 18:38:34 -0500 New sybase refactor branch r21188@hlagh (orig r7934): ribasushi | 2009-11-22 19:06:48 -0500 refactor part1 r21192@hlagh (orig r7938): ribasushi | 2009-11-22 19:30:05 -0500 refactor part 2 r21194@hlagh (orig r7940): caelum | 2009-11-23 07:06:46 -0500 fix test r7955@Thesaurus (orig r7943): ribasushi | 2009-11-23 16:30:13 +0100 Add missing Sub::Name invocations and improve the SQLA Carp overrides r7957@Thesaurus (orig r7945): ribasushi | 2009-11-24 10:12:49 +0100 r7749@Thesaurus (orig r7738): norbi | 2009-09-28 22:01:39 +0200 Created branch 'void_populate_resultset_cond': Fixing a bug: $rs->populate in void context does not use the conditions from $rs. r7751@Thesaurus (orig r7740): norbi | 2009-09-28 23:26:06 +0200 r7935@vger: mendel | 2009-09-28 23:25:52 +0200 Undid the previous tweaks to the already existing tests and added new tests instead. r7928@Thesaurus (orig r7916): ribasushi | 2009-11-16 08:48:42 +0100 Change plan r7956@Thesaurus (orig r7944): ribasushi | 2009-11-24 10:10:49 +0100 Better naming and a bit leaner implementation. Main idea remains the same r7959@Thesaurus (orig r7947): ribasushi | 2009-11-24 10:39:52 +0100 Changes and prevent a spurious todo-pass r7962@Thesaurus (orig r7950): ribasushi | 2009-11-24 19:43:42 +0100 Extra sqla quoting test r7963@Thesaurus (orig r7951): ribasushi | 2009-11-24 19:48:01 +0100 Extra sqla quoting test(2) r7964@Thesaurus (orig r7952): ribasushi | 2009-11-25 21:24:10 +0100 wtf r7967@Thesaurus (orig r7955): ribasushi | 2009-11-26 11:07:06 +0100 cleanups r7968@Thesaurus (orig r7956): ribasushi | 2009-11-26 12:11:21 +0100 Sanify search_related chaining code (no functional changes) r7969@Thesaurus (orig r7957): ribasushi | 2009-11-26 12:52:05 +0100 Another count() quirk down r7970@Thesaurus (orig r7958): ribasushi | 2009-11-26 14:23:28 +0100 Add a no-accessor column to generally test handling r7972@Thesaurus (orig r7960): ribasushi | 2009-11-26 15:32:17 +0100 Whoops, wrong accessor (things still work though) r7977@Thesaurus (orig r7965): ribasushi | 2009-11-26 16:43:21 +0100 r7971@Thesaurus (orig r7959): ribasushi | 2009-11-26 14:54:17 +0100 New branch for get_inflated_column bugfix r7974@Thesaurus (orig r7962): ribasushi | 2009-11-26 15:56:20 +0100 Fix for rt46953 r7975@Thesaurus (orig r7963): ribasushi | 2009-11-26 16:05:17 +0100 Make Test::More happy r7976@Thesaurus (orig r7964): ribasushi | 2009-11-26 16:43:09 +0100 Changes r7980@Thesaurus (orig r7968): ribasushi | 2009-11-27 01:38:11 +0100 Fix search_related wrt grouped resultsets (distinct is currently passed to the new resultset, this is probably wrong) r7987@Thesaurus (orig r7975): ribasushi | 2009-11-28 16:54:23 +0100 Cleanup the s.c.o. index r7988@Thesaurus (orig r7976): ribasushi | 2009-11-28 16:57:04 +0100 Test based on http://lists.scsys.co.uk/pipermail/dbix-class/2009-November/008599.html r8007@Thesaurus (orig r7995): castaway | 2009-11-30 16:20:19 +0100 Remove over-emphasis on +select/+as. Add docs on prefetch and other ways to get related data, with caveats etc. r8009@Thesaurus (orig r7997): dew | 2009-11-30 19:37:00 +0100 Alter the docs for has_many relationships to make them a little easier to grok r8021@Thesaurus (orig r8009): castaway | 2009-12-02 14:19:40 +0100 Added note about prefetch and has_many related objects r8029@Thesaurus (orig r8017): ribasushi | 2009-12-03 13:24:04 +0100 Source sanity check on subqueried update/delete r8030@Thesaurus (orig r8018): ribasushi | 2009-12-03 14:39:37 +0100 Sanify populate arg handling r8040@Thesaurus (orig r8028): ribasushi | 2009-12-04 02:46:20 +0100 r7935@Thesaurus (orig r7923): ribasushi | 2009-11-19 11:05:04 +0100 Branches for RTs r7965@Thesaurus (orig r7953): ribasushi | 2009-11-26 00:19:21 +0100 Test and fix scalarref in an inflatable slot corner-case r7966@Thesaurus (orig r7954): ribasushi | 2009-11-26 00:24:23 +0100 Looks like we nailed a todo r8038@Thesaurus (orig r8026): ribasushi | 2009-12-04 02:45:40 +0100 Changes r8039@Thesaurus (orig r8027): ribasushi | 2009-12-04 02:46:08 +0100 Changes(2) r8055@Thesaurus (orig r8043): ribasushi | 2009-12-07 15:11:25 +0100 Forgotten auto-savepoint example patch r8057@Thesaurus (orig r8045): ribasushi | 2009-12-08 14:13:38 +0100 Weird test case r8058@Thesaurus (orig r8046): ribasushi | 2009-12-08 14:23:31 +0100 Fix the test - code is correct r8063@Thesaurus (orig r8051): ribasushi | 2009-12-09 02:33:30 +0100 It's almost 2010 - load_components ('Core') is like ewwww r8067@Thesaurus (orig r8055): caelum | 2009-12-09 18:13:33 +0100 workaround for evil ADO bug r8068@Thesaurus (orig r8056): ribasushi | 2009-12-09 23:13:59 +0100 r8022@Thesaurus (orig r8010): frew | 2009-12-02 17:57:17 +0100 branch for replacing TOP with RNO in MSSQL r8027@Thesaurus (orig r8015): frew | 2009-12-03 02:48:36 +0100 Switch to RowNumberOver for MSSQL r8028@Thesaurus (orig r8016): ribasushi | 2009-12-03 10:03:18 +0100 The correct top100 mssql solution and test r8031@Thesaurus (orig r8019): frew | 2009-12-03 15:56:35 +0100 fix RNO for MSSQL to not use a kludgy regexp r8032@Thesaurus (orig r8020): frew | 2009-12-04 01:33:28 +0100 initial (broken) version of 42rno.t r8033@Thesaurus (orig r8021): frew | 2009-12-04 01:37:06 +0100 first shot at moving stuff around r8034@Thesaurus (orig r8022): frew | 2009-12-04 01:45:42 +0100 rename files to get rid of numbers and use folders r8035@Thesaurus (orig r8023): frew | 2009-12-04 01:48:00 +0100 missed toplimit r8036@Thesaurus (orig r8024): frew | 2009-12-04 01:52:44 +0100 still broken rno test, but now it actually tests mssql r8042@Thesaurus (orig r8030): ribasushi | 2009-12-04 09:34:56 +0100 Variable clash r8043@Thesaurus (orig r8031): ribasushi | 2009-12-04 11:44:47 +0100 The complex prefetch rewrite actually takes care of this as cleanly as possible r8044@Thesaurus (orig r8032): ribasushi | 2009-12-04 11:47:22 +0100 Smarter implementation of the select top 100pct subselect handling r8045@Thesaurus (orig r8033): ribasushi | 2009-12-04 12:07:05 +0100 Add support for unordered limited resultsets Rename the limit helper to signify it is MS specific Make sure we don't lose group_by/having clauses r8046@Thesaurus (orig r8034): ribasushi | 2009-12-04 12:07:56 +0100 Un-todoify mssql limit tests - no changes necessary (throw away the obsolete generated sql checks) r8047@Thesaurus (orig r8035): ribasushi | 2009-12-04 12:24:13 +0100 Tests for bindvar propagation and Changes r8049@Thesaurus (orig r8037): ribasushi | 2009-12-04 15:01:32 +0100 KISS - a select(1) makes perfect ordering criteria r8050@Thesaurus (orig r8038): ribasushi | 2009-12-04 15:06:11 +0100 Unify the MSSQL and DB2 RNO implementations - they are the same r8051@Thesaurus (orig r8039): ribasushi | 2009-12-05 10:29:50 +0100 Wrap mssql selects in yet another subquery to make limited right-ordered join resultsets possible r8052@Thesaurus (orig r8040): ribasushi | 2009-12-05 10:46:41 +0100 Better not touch Top - it's too complex at this point r8053@Thesaurus (orig r8041): ribasushi | 2009-12-05 11:03:00 +0100 Extend test just a bit more r8054@Thesaurus (orig r8042): ribasushi | 2009-12-05 11:44:25 +0100 DB2 and MSSQL have different default order syntaxes r8056@Thesaurus (orig r8044): frew | 2009-12-08 02:10:06 +0100 add version check for mssql 2005 and greater r8059@Thesaurus (orig r8047): frew | 2009-12-08 16:15:50 +0100 real exception instead of die r8061@Thesaurus (orig r8049): ribasushi | 2009-12-09 00:19:49 +0100 Test for immediate connection with known storage type r8062@Thesaurus (orig r8050): frew | 2009-12-09 01:24:45 +0100 fix mssql version check so it's lazier r8064@Thesaurus (orig r8052): ribasushi | 2009-12-09 02:40:51 +0100 Fix comment r8066@Thesaurus (orig r8054): caelum | 2009-12-09 16:12:56 +0100 fix _get_mssql_version for ODBC r8071@Thesaurus (orig r8059): frew | 2009-12-10 00:32:55 +0100 fail nicely if user doesn't have perms for xp_msver r8073@Thesaurus (orig r8061): ribasushi | 2009-12-10 09:36:21 +0100 Changes r8074@Thesaurus (orig r8062): ribasushi | 2009-12-10 09:53:38 +0100 First half of distinct cleanup r8075@Thesaurus (orig r8063): frew | 2009-12-10 16:04:37 +0100 release 0.08115 r8076@Thesaurus (orig r8064): ribasushi | 2009-12-12 12:31:12 +0100 Even clearer unloaded FK exception r8078@Thesaurus (orig r8066): ribasushi | 2009-12-12 14:27:18 +0100 As clear as it gets r8141@Thesaurus (orig r8129): ovid | 2009-12-16 17:40:50 +0100 Have has_one/might_have warn if set on nullable columns. r8143@Thesaurus (orig r8131): caelum | 2009-12-17 13:30:10 +0100 somewhat better fix for ADO r8144@Thesaurus (orig r8132): caelum | 2009-12-17 13:34:20 +0100 minor changes r8146@Thesaurus (orig r8134): caelum | 2009-12-17 17:44:34 +0100 cleanup source_bind_attributes for ADO r8147@Thesaurus (orig r8135): caelum | 2009-12-17 18:09:55 +0100 more types for ADO fix, and documentation r8148@Thesaurus (orig r8136): abraxxa | 2009-12-17 19:54:55 +0100 Cookbook POD fix for add_drop_table instead of add_drop_tables r8158@Thesaurus (orig r8146): ribasushi | 2009-12-18 14:55:53 +0100 r8150@Thesaurus (orig r8138): abraxxa | 2009-12-17 23:22:07 +0100 Views without a view_definition won't be added to the SQL::Translator::Schema by the parser + tests r8151@Thesaurus (orig r8139): abraxxa | 2009-12-17 23:23:33 +0100 test cleanups r8153@Thesaurus (orig r8141): abraxxa | 2009-12-18 14:34:14 +0100 throw_exception if view_definition is missing instead of silent skipping + test changes r8154@Thesaurus (orig r8142): abraxxa | 2009-12-18 14:40:32 +0100 use Test::Exception r8155@Thesaurus (orig r8143): abraxxa | 2009-12-18 14:42:00 +0100 fixed Changes r8156@Thesaurus (orig r8144): abraxxa | 2009-12-18 14:44:52 +0100 test cleanups r8157@Thesaurus (orig r8145): ribasushi | 2009-12-18 14:46:26 +0100 Another bitr r8160@Thesaurus (orig r8148): ribasushi | 2009-12-18 15:04:34 +0100 Fix no_index entries r8162@Thesaurus (orig r8150): abraxxa | 2009-12-18 15:59:58 +0100 Schema POD inprovement for dclone r8163@Thesaurus (orig r8151): abraxxa | 2009-12-18 16:07:27 +0100 link to DBIx::Class::Row r8164@Thesaurus (orig r8152): abraxxa | 2009-12-18 16:08:56 +0100 fixed typo in Changes r8165@Thesaurus (orig r8153): abraxxa | 2009-12-18 16:14:47 +0100 dclone pod take #2 r8169@Thesaurus (orig r8157): ribasushi | 2009-12-19 18:47:42 +0100 detabify r8170@Thesaurus (orig r8158): ribasushi | 2009-12-19 19:41:42 +0100 Fix RT52812 r8171@Thesaurus (orig r8159): caelum | 2009-12-23 07:16:29 +0100 minor POD fixes r8175@Thesaurus (orig r8163): ribasushi | 2009-12-24 09:59:52 +0100 Fix deployment_statements context sensitivity regression r8176@Thesaurus (orig r8164): ribasushi | 2009-12-24 10:13:37 +0100 Don't call the PK setter if no PK r8204@Thesaurus (orig r8192): caelum | 2009-12-30 22:58:47 +0100 bump CAG dep r8231@Thesaurus (orig r8219): matthewt | 2010-01-02 01:41:12 +0100 fix typo in variable name r8238@Thesaurus (orig r8226): rafl | 2010-01-02 18:46:40 +0100 Merge branch 'native_traits' * native_traits: Port replicated storage from MXAH to native traits. Create branch native_traits r8244@Thesaurus (orig r8232): caelum | 2010-01-04 00:30:51 +0100 fix _rebless into sybase/mssql/nobindvars r8247@Thesaurus (orig r8235): caelum | 2010-01-05 13:54:56 +0100 r22328@hlagh (orig r8201): caelum | 2009-12-31 12:29:51 -0500 new branch to fix table aliases in queries over the 30char limit r22329@hlagh (orig r8202): caelum | 2009-12-31 12:55:50 -0500 failing test r22330@hlagh (orig r8203): caelum | 2009-12-31 13:00:35 -0500 switch oracle tests to done_testing() r22331@hlagh (orig r8204): caelum | 2009-12-31 15:02:50 -0500 got something working r22332@hlagh (orig r8205): caelum | 2009-12-31 15:08:30 -0500 POD touchups r22343@hlagh (orig r8216): caelum | 2010-01-01 07:42:03 -0500 fix uninitialized warning and a bug in ResultSet r22419@hlagh (orig r8234): caelum | 2010-01-05 07:53:18 -0500 append half of a base64 MD5 to shortened table aliases for Oracle r8249@Thesaurus (orig r8237): caelum | 2010-01-05 15:27:40 +0100 minor change: use more of the hash if possible for oracle table alias shortening r8251@Thesaurus (orig r8239): caelum | 2010-01-06 02:20:17 +0100 bump perl_version to 5.8.1 r8252@Thesaurus (orig r8240): caelum | 2010-01-06 02:21:41 +0100 remove alignment mark on base64 md5 r8260@Thesaurus (orig r8248): ribasushi | 2010-01-07 11:21:55 +0100 5.8.1 is minimum required perl r8261@Thesaurus (orig r8249): ribasushi | 2010-01-07 11:22:42 +0100 Minor optimization r8262@Thesaurus (orig r8250): ribasushi | 2010-01-07 11:23:35 +0100 Wrong title r8265@Thesaurus (orig r8253): ribasushi | 2010-01-08 17:48:50 +0100 Resolve problem reported by http://lists.scsys.co.uk/pipermail/dbix-class/2009-December/008699.html r8266@Thesaurus (orig r8254): ribasushi | 2010-01-08 17:52:01 +0100 Put utf8columns in line with the store_column fix r8267@Thesaurus (orig r8255): ribasushi | 2010-01-08 19:03:26 +0100 Tests while hunting for something else r8268@Thesaurus (orig r8256): ribasushi | 2010-01-08 19:14:42 +0100 Make test look even more like http://lists.scsys.co.uk/pipermail/dbix-class/2009-November/008599.html r8277@Thesaurus (orig r8265): ribasushi | 2010-01-09 02:16:14 +0100 r8263@Thesaurus (orig r8251): ribasushi | 2010-01-08 15:43:38 +0100 New branch to find a leak r8264@Thesaurus (orig r8252): ribasushi | 2010-01-08 15:52:46 +0100 Weird test failures r8272@Thesaurus (orig r8260): ribasushi | 2010-01-09 01:24:56 +0100 Proper invocation r8273@Thesaurus (orig r8261): ribasushi | 2010-01-09 01:35:34 +0100 Test for the real leak reason r8274@Thesaurus (orig r8262): ribasushi | 2010-01-09 01:37:33 +0100 Void ctx as it should be r8275@Thesaurus (orig r8263): ribasushi | 2010-01-09 02:10:13 +0100 A "fix" for sqlt-related schema leaks r8276@Thesaurus (orig r8264): ribasushi | 2010-01-09 02:15:53 +0100 Changes r8287@Thesaurus (orig r8275): caelum | 2010-01-10 11:29:06 +0100 r22483@hlagh (orig r8272): caelum | 2010-01-09 05:52:15 -0500 new branch to add "normalize_connect_info" class method to Storage::DBI r22495@hlagh (orig r8274): caelum | 2010-01-10 05:27:42 -0500 split connect_info parser out into private _normalize_connect_info r8289@Thesaurus (orig r8277): caelum | 2010-01-10 12:04:52 +0100 fix connection details in ::DBI::Replicated docs r8291@Thesaurus (orig r8279): ribasushi | 2010-01-11 09:50:21 +0100 r8077@Thesaurus (orig r8065): ribasushi | 2009-12-12 14:24:30 +0100 Branch for yet another mssql ordered prefetch problem r8079@Thesaurus (orig r8067): ribasushi | 2009-12-12 14:37:48 +0100 prefetch does not get disassembled properly r8112@Thesaurus (orig r8100): ribasushi | 2009-12-13 00:07:00 +0100 Extra test to highlight search_related inefficiency r8113@Thesaurus (orig r8101): ribasushi | 2009-12-13 00:17:44 +0100 Real test for search_related and prefetch r8114@Thesaurus (orig r8102): ribasushi | 2009-12-13 00:19:57 +0100 Fix corner case regression on search_related on a prefetching rs r8115@Thesaurus (orig r8103): ribasushi | 2009-12-13 00:21:05 +0100 Isolate prefetch heads using RNO with a subquery r8116@Thesaurus (orig r8104): ribasushi | 2009-12-13 00:23:46 +0100 Changes r8125@Thesaurus (orig r8113): ribasushi | 2009-12-15 13:06:26 +0100 Extend mssql limited prefetch tests r8126@Thesaurus (orig r8114): ribasushi | 2009-12-15 13:08:56 +0100 Add extra test to prove Alan wrong :) r8132@Thesaurus (orig r8120): ribasushi | 2009-12-16 00:38:04 +0100 Do not realias tables in the RNO subqueries r8133@Thesaurus (orig r8121): ribasushi | 2009-12-16 00:50:52 +0100 Deliberately disturb alphabetical order r8134@Thesaurus (orig r8122): ribasushi | 2009-12-16 10:26:43 +0100 Got a failing test r8135@Thesaurus (orig r8123): ribasushi | 2009-12-16 10:49:10 +0100 Cleanup r8136@Thesaurus (orig r8124): ribasushi | 2009-12-16 10:51:58 +0100 More moving around r8137@Thesaurus (orig r8125): ribasushi | 2009-12-16 11:25:37 +0100 The real mssql problem - it's... bad r8138@Thesaurus (orig r8126): ribasushi | 2009-12-16 11:29:20 +0100 Clearer debug r8139@Thesaurus (orig r8127): ribasushi | 2009-12-16 11:47:48 +0100 This is horrific but the tests pass... maybe someone will figure out something better r8140@Thesaurus (orig r8128): ribasushi | 2009-12-16 16:45:47 +0100 cleanup tests r8187@Thesaurus (orig r8175): ribasushi | 2009-12-24 16:22:30 +0100 Ordered subqueries do not work in mssql after all r8271@Thesaurus (orig r8259): ribasushi | 2010-01-08 23:58:13 +0100 Cleaner RNO sql r8279@Thesaurus (orig r8267): ribasushi | 2010-01-09 10:13:16 +0100 Subqueries no longer experimental r8280@Thesaurus (orig r8268): ribasushi | 2010-01-09 11:26:46 +0100 Close the book on mssql ordered subqueries r8281@Thesaurus (orig r8269): ribasushi | 2010-01-09 11:36:36 +0100 Changes and typos r8283@Thesaurus (orig r8271): ribasushi | 2010-01-09 11:42:21 +0100 Highlight the real problem r8285@Thesaurus (orig r8273): ribasushi | 2010-01-10 10:07:10 +0100 Rename subquery to subselect and rewrite POD (per castaway) r8290@Thesaurus (orig r8278): ribasushi | 2010-01-10 17:01:24 +0100 rename as per mst r8295@Thesaurus (orig r8283): caelum | 2010-01-11 23:42:30 +0100 make a public ::Schema::unregister_source r8298@Thesaurus (orig r8286): abraxxa | 2010-01-12 18:04:18 +0100 fixed a typo in Changes more detailed explanation for the warning about has_one/might_have rels on nullable columns r8307@Thesaurus (orig r8295): abraxxa | 2010-01-13 17:28:05 +0100 added the sources parser arg to the example code r8327@Thesaurus (orig r8315): ribasushi | 2010-01-15 01:25:39 +0100 r8167@Thesaurus (orig r8155): ribasushi | 2009-12-19 12:50:13 +0100 New branch for null-only-result fix r8168@Thesaurus (orig r8156): ribasushi | 2009-12-19 12:51:21 +0100 Failing test r8322@Thesaurus (orig r8310): ribasushi | 2010-01-15 00:48:09 +0100 Correct test order r8323@Thesaurus (orig r8311): ribasushi | 2010-01-15 01:15:33 +0100 Generalize the to-node inner-join-er to apply to all related_resultset calls, not just counts r8324@Thesaurus (orig r8312): ribasushi | 2010-01-15 01:16:05 +0100 Adjust sql-emitter tests r8326@Thesaurus (orig r8314): ribasushi | 2010-01-15 01:25:10 +0100 One more sql-test fix and changes r8328@Thesaurus (orig r8316): ribasushi | 2010-01-15 01:31:58 +0100 Strict mysql bugfix r8329@Thesaurus (orig r8317): ribasushi | 2010-01-15 01:38:53 +0100 Better description of mysql strict option r8331@Thesaurus (orig r8319): ribasushi | 2010-01-15 03:12:13 +0100 Update troubleshooting doc r8337@Thesaurus (orig r8325): ribasushi | 2010-01-15 17:13:28 +0100 RT52674 r8346@Thesaurus (orig r8334): ribasushi | 2010-01-17 09:41:49 +0100 No method aliasing in OO code, *ever* r8373@Thesaurus (orig r8360): ribasushi | 2010-01-18 11:54:51 +0100 Adjust my email r8387@Thesaurus (orig r8374): ribasushi | 2010-01-19 13:07:07 +0100 r8340@Thesaurus (orig r8328): abraxxa | 2010-01-15 19:21:20 +0100 added branch no_duplicate_indexes_for_pk_cols with test and fix r8343@Thesaurus (orig r8331): abraxxa | 2010-01-15 19:32:16 +0100 don't use eq_set in test r8344@Thesaurus (orig r8332): abraxxa | 2010-01-15 19:44:04 +0100 don't sort the primary columns because order matters for indexes r8345@Thesaurus (orig r8333): abraxxa | 2010-01-15 19:56:46 +0100 don't sort the key columns because the order of columns is important for indexes r8372@Thesaurus (orig r8359): abraxxa | 2010-01-18 10:22:09 +0100 don't sort the columns in the tests either r8378@Thesaurus (orig r8365): abraxxa | 2010-01-18 15:39:28 +0100 added pod section for parser args r8379@Thesaurus (orig r8366): abraxxa | 2010-01-18 15:53:08 +0100 better pod thanks to ribasushi r8380@Thesaurus (orig r8367): abraxxa | 2010-01-18 16:04:34 +0100 test and pod fixes r8383@Thesaurus (orig r8370): abraxxa | 2010-01-19 12:38:44 +0100 fixed Authors section added License section fixed t/86sqlt.t tests r8384@Thesaurus (orig r8371): ribasushi | 2010-01-19 12:59:52 +0100 Regenaretd under new parser r8385@Thesaurus (orig r8372): ribasushi | 2010-01-19 13:03:51 +0100 Minor style change and white space trim r8386@Thesaurus (orig r8373): ribasushi | 2010-01-19 13:06:54 +0100 Changes abraxxa++ r8390@Thesaurus (orig r8377): ribasushi | 2010-01-19 13:41:03 +0100 Some minor test refactor and tab cleanups r8394@Thesaurus (orig r8381): frew | 2010-01-19 17:34:10 +0100 add test to ensure no tabs in perl files r8397@Thesaurus (orig r8384): frew | 2010-01-19 18:00:12 +0100 fix test to be an author dep r8398@Thesaurus (orig r8385): ribasushi | 2010-01-19 18:19:40 +0100 First round of detabification r8399@Thesaurus (orig r8386): frew | 2010-01-19 23:42:50 +0100 Add EOL test r8401@Thesaurus (orig r8388): ribasushi | 2010-01-20 08:32:39 +0100 Fix minor RSC bug r8402@Thesaurus (orig r8389): roman | 2010-01-20 15:47:26 +0100 Added a FAQ entry titled: How do I override a run time method (e.g. a relationship accessor)? r8403@Thesaurus (orig r8390): roman | 2010-01-20 16:31:41 +0100 Added myself as a contributor. r8408@Thesaurus (orig r8395): jhannah | 2010-01-21 06:48:14 +0100 Added FAQ: Custom methods in Result classes r8413@Thesaurus (orig r8400): frew | 2010-01-22 04:17:20 +0100 add _is_numeric to ::Row r8418@Thesaurus (orig r8405): ribasushi | 2010-01-22 11:00:05 +0100 Generalize autoinc/count test r8420@Thesaurus (orig r8407): ribasushi | 2010-01-22 11:11:49 +0100 Final round of detabify r8421@Thesaurus (orig r8408): ribasushi | 2010-01-22 11:12:54 +0100 Temporarily disable whitespace checkers r8426@Thesaurus (orig r8413): ribasushi | 2010-01-22 11:35:15 +0100 Moev failing regression test away from trunk r8431@Thesaurus (orig r8418): frew | 2010-01-22 17:05:12 +0100 fix name of _is_numeric to _is_column_numeric r8437@Thesaurus (orig r8424): ribasushi | 2010-01-26 09:33:42 +0100 Switch to Test::Exception r8438@Thesaurus (orig r8425): ribasushi | 2010-01-26 09:48:30 +0100 Test txn_scope_guard regression r8439@Thesaurus (orig r8426): ribasushi | 2010-01-26 10:10:11 +0100 Fix txn_begin on external non-AC coderef regression r8443@Thesaurus (orig r8430): ribasushi | 2010-01-26 14:19:50 +0100 r8304@Thesaurus (orig r8292): nigel | 2010-01-13 16:05:48 +0100 Branch to extend ::Schema::Versioned to handle series of upgrades r8320@Thesaurus (orig r8308): nigel | 2010-01-14 16:52:50 +0100 Changes to support multiple step schema version updates r8321@Thesaurus (orig r8309): nigel | 2010-01-14 17:05:21 +0100 Changelog for Changes to support multiple step schema version updates r8393@Thesaurus (orig r8380): ribasushi | 2010-01-19 13:59:51 +0100 Botched merge (tests still fail) r8395@Thesaurus (orig r8382): ribasushi | 2010-01-19 17:37:07 +0100 More cleanup r8396@Thesaurus (orig r8383): ribasushi | 2010-01-19 17:48:09 +0100 Fix last pieces of retardation and UNtodo the quick cycle r8442@Thesaurus (orig r8429): ribasushi | 2010-01-26 14:18:53 +0100 No need for 2 statements to get the version r8445@Thesaurus (orig r8432): ribasushi | 2010-01-26 14:22:16 +0100 r8161@Thesaurus (orig r8149): ovid | 2009-12-18 15:59:56 +0100 Prefetch queries make inefficient SQL when combined with a pager. This branch is to try to isolate some of the join conditions and figure out if we can fix this. r8166@Thesaurus (orig r8154): ovid | 2009-12-18 18:17:55 +0100 Refactor internals to expose some join logic. Awful method and args :( r8319@Thesaurus (orig r8307): ovid | 2010-01-14 15:37:35 +0100 Attempt to factor our alias handling has mostly failed. r8330@Thesaurus (orig r8318): ribasushi | 2010-01-15 03:02:21 +0100 Better refactor r8332@Thesaurus (orig r8320): ribasushi | 2010-01-15 03:14:39 +0100 Better varnames r8347@Thesaurus (orig r8335): ribasushi | 2010-01-17 11:33:55 +0100 More mangling r8348@Thesaurus (orig r8336): ribasushi | 2010-01-17 13:44:00 +0100 Getting warmer r8349@Thesaurus (orig r8337): ribasushi | 2010-01-17 14:00:20 +0100 That was tricky :) r8352@Thesaurus (orig r8340): ribasushi | 2010-01-17 15:57:06 +0100 Turned out to be much trickier r8354@Thesaurus (orig r8342): ribasushi | 2010-01-17 16:29:20 +0100 This is made out of awesome r8355@Thesaurus (orig r8343): ribasushi | 2010-01-17 16:46:02 +0100 Changes r8400@Thesaurus (orig r8387): ribasushi | 2010-01-20 08:17:44 +0100 Whoops - need to dsable quoting r8459@Thesaurus (orig r8446): ribasushi | 2010-01-27 11:56:15 +0100 Clean up some stuff r8463@Thesaurus (orig r8450): ribasushi | 2010-01-27 12:08:04 +0100 Merge some cleanups from the prefetch branch r8466@Thesaurus (orig r8453): ribasushi | 2010-01-27 12:33:33 +0100 DSNs can not be empty r8471@Thesaurus (orig r8458): frew | 2010-01-27 21:38:42 +0100 fix silly multipk bug r8472@Thesaurus (orig r8459): ribasushi | 2010-01-28 11:13:16 +0100 Consolidate insert_bulk guards (and make them show up correctly in the trace) r8473@Thesaurus (orig r8460): ribasushi | 2010-01-28 11:28:30 +0100 Fix bogus test DDL r8480@Thesaurus (orig r8467): ribasushi | 2010-01-28 22:11:59 +0100 r8381@Thesaurus (orig r8368): moses | 2010-01-18 16:41:38 +0100 Test commit r8425@Thesaurus (orig r8412): ribasushi | 2010-01-22 11:25:01 +0100 Informix test + cleanups r8428@Thesaurus (orig r8415): ribasushi | 2010-01-22 11:59:25 +0100 Initial informix support r8482@Thesaurus (orig r8469): ribasushi | 2010-01-28 22:19:23 +0100 Informix changes r8483@Thesaurus (orig r8470): ribasushi | 2010-01-29 12:01:41 +0100 Require non-warning-spewing MooseX::Types r8484@Thesaurus (orig r8471): ribasushi | 2010-01-29 12:15:15 +0100 Enhance warning test a bit (seems to fail on 5.8) r8485@Thesaurus (orig r8472): ribasushi | 2010-01-29 13:00:54 +0100 Fugly 5.8 workaround r8494@Thesaurus (orig r8481): frew | 2010-01-31 06:47:42 +0100 cleanup (3 arg open, 1 grep instead of 3) r8496@Thesaurus (orig r8483): ribasushi | 2010-01-31 10:04:43 +0100 better skip message r8510@Thesaurus (orig r8497): caelum | 2010-02-01 12:07:13 +0100 throw exception on attempt to insert a blob with DBD::Oracle == 1.23 r8511@Thesaurus (orig r8498): caelum | 2010-02-01 12:12:48 +0100 add RT link for Oracle blob bug in DBD::Oracle == 1.23 r8527@Thesaurus (orig r8514): caelum | 2010-02-02 23:20:17 +0100 r22968@hlagh (orig r8502): caelum | 2010-02-02 05:30:47 -0500 branch to support Sybase SQL Anywhere r22971@hlagh (orig r8505): caelum | 2010-02-02 07:21:13 -0500 ASA last_insert_id and limit support, still needs BLOB support r22972@hlagh (orig r8506): caelum | 2010-02-02 08:33:57 -0500 deref table name if needed, check all columns for identity column not just PK r22973@hlagh (orig r8507): caelum | 2010-02-02 08:48:11 -0500 test blobs, they work, didn't have to do anything r22974@hlagh (orig r8508): caelum | 2010-02-02 09:15:44 -0500 fix stupid identity bug, test empty insert (works), test DTs (not working yet) r22976@hlagh (orig r8510): caelum | 2010-02-02 14:31:00 -0500 rename ::Sybase::ASA to ::SQLAnywhere, per mst r22978@hlagh (orig r8512): caelum | 2010-02-02 17:02:29 -0500 DT inflation now works r22979@hlagh (orig r8513): caelum | 2010-02-02 17:18:06 -0500 minor POD update r8528@Thesaurus (orig r8515): caelum | 2010-02-02 23:23:26 +0100 r22895@hlagh (orig r8473): caelum | 2010-01-30 03:57:26 -0500 branch to fix computed columns in Sybase ASE r22911@hlagh (orig r8489): caelum | 2010-01-31 07:18:33 -0500 empty insert into a Sybase table with computed columns and either data_type => undef or default_value => SCALARREF works now r22912@hlagh (orig r8490): caelum | 2010-01-31 07:39:32 -0500 add POD about computed columns and timestamps for Sybase r22918@hlagh (orig r8496): caelum | 2010-02-01 05:09:07 -0500 update POD about Schema::Loader for Sybase r8531@Thesaurus (orig r8518): ribasushi | 2010-02-02 23:57:27 +0100 r8512@Thesaurus (orig r8499): boghead | 2010-02-01 23:38:13 +0100 - Creating a branch for adding _post_inflate_datetime and _pre_deflate_datetime to InflateColumn::DateTime r8513@Thesaurus (orig r8500): boghead | 2010-02-01 23:42:14 +0100 - Add _post_inflate_datetime and _pre_deflate_datetime to InflateColumn::DateTime to allow for modifying DateTime objects after inflation or before deflation. r8524@Thesaurus (orig r8511): boghead | 2010-02-02 22:59:28 +0100 - Simplify by allowing moving column_info depreciated {extra}{timezone} data to {timezone} (and the same with locale) r8533@Thesaurus (orig r8520): caelum | 2010-02-03 05:19:59 +0100 support for Sybase SQL Anywhere through ODBC r8536@Thesaurus (orig r8523): ribasushi | 2010-02-03 08:27:54 +0100 Changes r8537@Thesaurus (orig r8524): ribasushi | 2010-02-03 08:31:20 +0100 Quote fail r8538@Thesaurus (orig r8525): caelum | 2010-02-03 13:21:37 +0100 test DT inflation for Sybase SQL Anywhere over ODBC too r8539@Thesaurus (orig r8526): caelum | 2010-02-03 17:36:39 +0100 minor code cleanup for SQL Anywhere last_insert_id r8540@Thesaurus (orig r8527): ribasushi | 2010-02-04 11:28:33 +0100 Fix bug reported by tommyt r8548@Thesaurus (orig r8535): ribasushi | 2010-02-04 14:34:45 +0100 Prepare for new SQLA release r8560@Thesaurus (orig r8547): ribasushi | 2010-02-05 08:59:04 +0100 Refactor some evil code r8565@Thesaurus (orig r8552): ribasushi | 2010-02-05 17:00:12 +0100 Looks like RSC is finally (halfway) fixed r8566@Thesaurus (orig r8553): ribasushi | 2010-02-05 17:07:13 +0100 RSC subquery can not include the prefetch r8567@Thesaurus (orig r8554): ribasushi | 2010-02-05 17:10:29 +0100 Fix typo and borked test r8569@Thesaurus (orig r8556): ribasushi | 2010-02-05 17:33:12 +0100 Release 0.08116 r8571@Thesaurus (orig r8558): ribasushi | 2010-02-05 18:01:33 +0100 No idea how I missed all these fails... r8572@Thesaurus (orig r8559): ribasushi | 2010-02-05 18:13:34 +0100 Release 0.08117 r8574@Thesaurus (orig r8561): ribasushi | 2010-02-05 18:51:12 +0100 Try to distinguish trunk from official versions r8580@Thesaurus (orig r8567): gshank | 2010-02-05 22:29:24 +0100 add doc on 'where' attribute r8587@Thesaurus (orig r8574): frew | 2010-02-07 21:07:03 +0100 add as_subselect_rs r8588@Thesaurus (orig r8575): frew | 2010-02-07 21:13:04 +0100 fix longstanding unmentioned bug ("me") r8589@Thesaurus (orig r8576): frew | 2010-02-08 06:17:43 +0100 another example of as_subselect_rs r8590@Thesaurus (orig r8577): frew | 2010-02-08 06:23:58 +0100 fix bug in UTF8Columns r8591@Thesaurus (orig r8578): ribasushi | 2010-02-08 09:31:01 +0100 Extend utf8columns test to trap fixed bug r8592@Thesaurus (orig r8579): ribasushi | 2010-02-08 12:03:23 +0100 Cleanup rel accessor type handling r8593@Thesaurus (orig r8580): ribasushi | 2010-02-08 12:20:47 +0100 Fix some fallout r8595@Thesaurus (orig r8582): ribasushi | 2010-02-08 12:38:19 +0100 Merge some obsolete code cleanup from the prefetch branch r8596@Thesaurus (orig r8583): ribasushi | 2010-02-08 12:42:09 +0100 Merge fix of RT54039 from prefetch branch r8598@Thesaurus (orig r8585): ribasushi | 2010-02-08 12:48:31 +0100 Release 0.08118 r8600@Thesaurus (orig r8587): ribasushi | 2010-02-08 12:52:33 +0100 Bump trunk version r8606@Thesaurus (orig r8593): ribasushi | 2010-02-08 16:16:44 +0100 cheaper lookup r8609@Thesaurus (orig r8596): ribasushi | 2010-02-10 12:40:37 +0100 Consolidate last_insert_id handling with a fallback-attempt on DBI::last_insert_id r8614@Thesaurus (orig r8601): caelum | 2010-02-10 21:29:51 +0100 workaround for Moose bug affecting Replicated storage r8615@Thesaurus (orig r8602): caelum | 2010-02-10 21:40:07 +0100 revert Moose bug workaround, bump Moose dep for Replicated to 0.98 r8616@Thesaurus (orig r8603): caelum | 2010-02-10 22:48:34 +0100 add a couple proxy methods to Replicated so it can run r8628@Thesaurus (orig r8615): caelum | 2010-02-11 11:35:01 +0100 r21090@hlagh (orig r7836): caelum | 2009-11-02 06:40:52 -0500 new branch to fix unhandled methods in Storage::DBI::Replicated r21091@hlagh (orig r7837): caelum | 2009-11-02 06:42:00 -0500 add test to display unhandled methods r21092@hlagh (orig r7838): caelum | 2009-11-02 06:55:34 -0500 minor fix to last committed test r21093@hlagh (orig r7839): caelum | 2009-11-02 09:26:00 -0500 minor test code cleanup r23125@hlagh (orig r8607): caelum | 2010-02-10 19:25:51 -0500 add unimplemented Storage::DBI methods to ::DBI::Replicated r23130@hlagh (orig r8612): ribasushi | 2010-02-11 05:12:48 -0500 Podtesting exclusion r8630@Thesaurus (orig r8617): frew | 2010-02-11 11:45:54 +0100 Changes (from a while ago) r8631@Thesaurus (orig r8618): caelum | 2010-02-11 11:46:58 +0100 savepoints for SQLAnywhere r8640@Thesaurus (orig r8627): ribasushi | 2010-02-11 12:33:19 +0100 r8424@Thesaurus (orig r8411): ribasushi | 2010-01-22 11:19:40 +0100 Chaining POC test r8641@Thesaurus (orig r8628): ribasushi | 2010-02-11 12:34:19 +0100 r8426@Thesaurus (orig r8413): ribasushi | 2010-01-22 11:35:15 +0100 Moev failing regression test away from trunk r8642@Thesaurus (orig r8629): ribasushi | 2010-02-11 12:34:56 +0100 r8643@Thesaurus (orig r8630): ribasushi | 2010-02-11 12:35:03 +0100 r8507@Thesaurus (orig r8494): frew | 2010-02-01 04:33:08 +0100 small refactor to put select/as/+select/+as etc merging in it's own function r8644@Thesaurus (orig r8631): ribasushi | 2010-02-11 12:35:11 +0100 r8514@Thesaurus (orig r8501): frew | 2010-02-02 05:12:29 +0100 revert actual changes from yesterday as per ribasushis advice r8645@Thesaurus (orig r8632): ribasushi | 2010-02-11 12:35:16 +0100 r8522@Thesaurus (orig r8509): frew | 2010-02-02 19:39:33 +0100 delete +stuff if stuff exists r8646@Thesaurus (orig r8633): ribasushi | 2010-02-11 12:35:23 +0100 r8534@Thesaurus (orig r8521): frew | 2010-02-03 06:14:44 +0100 change deletion/overriding to fix t/76 r8647@Thesaurus (orig r8634): ribasushi | 2010-02-11 12:35:30 +0100 r8535@Thesaurus (orig r8522): frew | 2010-02-03 06:57:15 +0100 some basic readability factorings (aka, fewer nested ternaries and long maps) r8648@Thesaurus (orig r8635): ribasushi | 2010-02-11 12:36:01 +0100 r8558@Thesaurus (orig r8545): frew | 2010-02-04 20:32:54 +0100 fix incorrect test in t/76select.t and posit an incorrect solution r8649@Thesaurus (orig r8636): ribasushi | 2010-02-11 12:38:47 +0100 r8650@Thesaurus (orig r8637): ribasushi | 2010-02-11 12:38:57 +0100 r8578@Thesaurus (orig r8565): ribasushi | 2010-02-05 19:11:09 +0100 Should not be needed r8651@Thesaurus (orig r8638): ribasushi | 2010-02-11 12:39:03 +0100 r8579@Thesaurus (orig r8566): ribasushi | 2010-02-05 19:13:24 +0100 SQLA now fixed r8652@Thesaurus (orig r8639): ribasushi | 2010-02-11 12:39:10 +0100 r8624@Thesaurus (orig r8611): ribasushi | 2010-02-11 10:31:08 +0100 MOAR testing r8653@Thesaurus (orig r8640): ribasushi | 2010-02-11 12:39:17 +0100 r8626@Thesaurus (orig r8613): frew | 2010-02-11 11:16:30 +0100 fix bad test r8654@Thesaurus (orig r8641): ribasushi | 2010-02-11 12:39:23 +0100 r8627@Thesaurus (orig r8614): frew | 2010-02-11 11:21:52 +0100 fix t/76, break rsc tests r8655@Thesaurus (orig r8642): ribasushi | 2010-02-11 12:39:30 +0100 r8632@Thesaurus (orig r8619): frew | 2010-02-11 11:53:50 +0100 fix incorrect test r8656@Thesaurus (orig r8643): ribasushi | 2010-02-11 12:39:35 +0100 r8633@Thesaurus (orig r8620): frew | 2010-02-11 11:54:49 +0100 make t/76s and t/88 pass by deleting from the correct attr hash r8657@Thesaurus (orig r8644): ribasushi | 2010-02-11 12:39:40 +0100 r8634@Thesaurus (orig r8621): frew | 2010-02-11 11:55:41 +0100 fix a test due to ordering issues r8658@Thesaurus (orig r8645): ribasushi | 2010-02-11 12:39:45 +0100 r8635@Thesaurus (orig r8622): frew | 2010-02-11 11:58:23 +0100 this is why you run tests before you commit them. r8659@Thesaurus (orig r8646): ribasushi | 2010-02-11 12:39:51 +0100 r8636@Thesaurus (orig r8623): frew | 2010-02-11 12:00:59 +0100 fix another ordering issue r8660@Thesaurus (orig r8647): ribasushi | 2010-02-11 12:39:57 +0100 r8637@Thesaurus (orig r8624): frew | 2010-02-11 12:11:31 +0100 fix for search/select_chains r8661@Thesaurus (orig r8648): ribasushi | 2010-02-11 12:40:03 +0100 r8662@Thesaurus (orig r8649): caelum | 2010-02-11 12:40:07 +0100 test nanosecond precision for SQLAnywhere r8663@Thesaurus (orig r8650): ribasushi | 2010-02-11 12:40:09 +0100 r8639@Thesaurus (orig r8626): ribasushi | 2010-02-11 12:33:03 +0100 Changes and small ommission r8666@Thesaurus (orig r8653): ribasushi | 2010-02-11 18:16:45 +0100 Changes r8674@Thesaurus (orig r8661): ribasushi | 2010-02-12 09:12:45 +0100 Fix moose dep r8680@Thesaurus (orig r8667): dew | 2010-02-12 18:05:11 +0100 Add is_ordered to DBIC::ResultSet r8688@Thesaurus (orig r8675): ribasushi | 2010-02-13 09:36:29 +0100 r8667@Thesaurus (orig r8654): ribasushi | 2010-02-11 18:17:35 +0100 Try a dep-handling idea r8675@Thesaurus (orig r8662): ribasushi | 2010-02-12 12:46:11 +0100 Move optional deps out of the Makefile r8676@Thesaurus (orig r8663): ribasushi | 2010-02-12 13:40:53 +0100 Support methods to verify group dependencies r8677@Thesaurus (orig r8664): ribasushi | 2010-02-12 13:45:18 +0100 Move sqlt dephandling to Optional::Deps r8679@Thesaurus (orig r8666): ribasushi | 2010-02-12 14:03:17 +0100 Move replicated to Opt::Deps r8684@Thesaurus (orig r8671): ribasushi | 2010-02-13 02:47:52 +0100 Auto-POD for Optional Deps r8685@Thesaurus (orig r8672): ribasushi | 2010-02-13 02:53:20 +0100 Privatize the full list method r8686@Thesaurus (orig r8673): ribasushi | 2010-02-13 02:59:51 +0100 Scary warning r8687@Thesaurus (orig r8674): ribasushi | 2010-02-13 09:35:01 +0100 Changes r8691@Thesaurus (orig r8678): ribasushi | 2010-02-13 10:07:15 +0100 Autogen comment for Dependencies.pod r8692@Thesaurus (orig r8679): ribasushi | 2010-02-13 10:11:24 +0100 Ask for newer M::I r8698@Thesaurus (orig r8685): ribasushi | 2010-02-13 11:11:10 +0100 Add author/license to pod r8699@Thesaurus (orig r8686): arcanez | 2010-02-13 13:43:22 +0100 fix typo per nuba on irc r8705@Thesaurus (orig r8692): ribasushi | 2010-02-13 15:15:33 +0100 r8001@Thesaurus (orig r7989): goraxe | 2009-11-30 01:14:47 +0100 Branch for dbicadmin script refactor r8003@Thesaurus (orig r7991): goraxe | 2009-11-30 01:26:39 +0100 add DBIx::Class::Admin r8024@Thesaurus (orig r8012): goraxe | 2009-12-02 22:49:27 +0100 get deployment tests to pass r8025@Thesaurus (orig r8013): goraxe | 2009-12-02 22:50:42 +0100 get deployment tests to pass r8026@Thesaurus (orig r8014): goraxe | 2009-12-02 23:52:40 +0100 all ddl tests now pass r8083@Thesaurus (orig r8071): goraxe | 2009-12-12 17:01:11 +0100 add quite attribute to DBIx::Class admin r8086@Thesaurus (orig r8074): goraxe | 2009-12-12 17:36:58 +0100 add tests for data manipulation ported from 89dbicadmin.t r8088@Thesaurus (orig r8076): goraxe | 2009-12-12 17:38:07 +0100 add sleep 1 to t/admin/02ddl.t so insert into upgrade table does not happen too quickly r8089@Thesaurus (orig r8077): goraxe | 2009-12-12 17:40:33 +0100 update DBIx::Class::Admin data manip functions to pass the test r8095@Thesaurus (orig r8083): goraxe | 2009-12-12 19:36:22 +0100 change passing of preversion to be a parameter r8096@Thesaurus (orig r8084): goraxe | 2009-12-12 19:38:26 +0100 add some pod to DBIx::Class::Admin r8103@Thesaurus (orig r8091): goraxe | 2009-12-12 22:08:55 +0100 some changes to make DBIx::Class::Admin more compatible with dbicadmin interface r8104@Thesaurus (orig r8092): goraxe | 2009-12-12 22:09:39 +0100 commit refactored dbicadmin script and very minor changes to its existing test suite r8107@Thesaurus (orig r8095): goraxe | 2009-12-12 22:34:35 +0100 add compatability for --op for dbicadmin, revert test suite r8127@Thesaurus (orig r8115): goraxe | 2009-12-15 22:14:20 +0100 dep check to end of module r8128@Thesaurus (orig r8116): goraxe | 2009-12-15 23:15:25 +0100 add namespace::autoclean to DBIx::Class::Admin r8129@Thesaurus (orig r8117): goraxe | 2009-12-15 23:16:00 +0100 update test suite to skip if cannot load DBIx::Class::Admin r8130@Thesaurus (orig r8118): goraxe | 2009-12-15 23:18:35 +0100 add deps check for 89dbicadmin.t r8131@Thesaurus (orig r8119): goraxe | 2009-12-15 23:19:01 +0100 include deps for dbicadmin DBIx::Class::Admin to Makefile.PL r8149@Thesaurus (orig r8137): goraxe | 2009-12-17 23:21:50 +0100 use DBICTest::_database over creating a schema object to steal conn info r8338@Thesaurus (orig r8326): goraxe | 2010-01-15 19:00:17 +0100 change white space to not be tabs r8339@Thesaurus (orig r8327): goraxe | 2010-01-15 19:10:42 +0100 remove Module::Load from test suite r8358@Thesaurus (orig r8346): ribasushi | 2010-01-17 17:52:10 +0100 Real detabify r8359@Thesaurus (orig r8347): ribasushi | 2010-01-17 18:01:53 +0100 Fix POD (spacing matters) r8360@Thesaurus (orig r8348): ribasushi | 2010-01-17 21:57:53 +0100 More detabification r8361@Thesaurus (orig r8349): ribasushi | 2010-01-17 22:33:12 +0100 Test cleanup r8362@Thesaurus (orig r8350): ribasushi | 2010-01-17 22:41:11 +0100 More tets cleanup r8363@Thesaurus (orig r8351): ribasushi | 2010-01-17 22:43:57 +0100 And more cleanup r8364@Thesaurus (orig r8352): ribasushi | 2010-01-17 22:51:21 +0100 Disallow mucking with INC r8365@Thesaurus (orig r8353): ribasushi | 2010-01-17 23:23:15 +0100 More cleanup r8366@Thesaurus (orig r8354): ribasushi | 2010-01-17 23:27:49 +0100 Add lib path to ENV so that $^X can see it r8367@Thesaurus (orig r8355): ribasushi | 2010-01-17 23:33:10 +0100 Move script-test r8368@Thesaurus (orig r8356): goraxe | 2010-01-17 23:35:03 +0100 change warns/dies -> carp/throw_exception r8369@Thesaurus (orig r8357): goraxe | 2010-01-17 23:53:54 +0100 add goraxe to contributors r8370@Thesaurus (orig r8358): goraxe | 2010-01-17 23:54:15 +0100 remove comment headers r8404@Thesaurus (orig r8391): caelum | 2010-01-20 20:54:29 +0100 minor fixups r8405@Thesaurus (orig r8392): goraxe | 2010-01-20 21:13:24 +0100 add private types to coerce r8406@Thesaurus (orig r8393): goraxe | 2010-01-20 21:17:19 +0100 remove un-needed coerce from schema_class of type Str r8411@Thesaurus (orig r8398): caelum | 2010-01-21 23:36:25 +0100 minor documentation updates r8436@Thesaurus (orig r8423): caelum | 2010-01-25 02:56:30 +0100 this code never runs anyway r8440@Thesaurus (orig r8427): caelum | 2010-01-26 14:05:53 +0100 prefer JSON::DWIW for barekey support r8693@Thesaurus (orig r8680): ribasushi | 2010-02-13 10:27:18 +0100 dbicadmin dependencies r8694@Thesaurus (orig r8681): ribasushi | 2010-02-13 10:28:04 +0100 Some cleaup, make use of Text::CSV r8695@Thesaurus (orig r8682): ribasushi | 2010-02-13 10:34:19 +0100 We use Try::Tiny in a single spot, not grounds for inlusion in deps r8696@Thesaurus (orig r8683): ribasushi | 2010-02-13 10:37:30 +0100 POD section r8697@Thesaurus (orig r8684): ribasushi | 2010-02-13 11:05:17 +0100 Switch tests to Optional::Deps r8700@Thesaurus (orig r8687): ribasushi | 2010-02-13 14:32:50 +0100 Switch Admin/dbicadmin to Opt::Deps r8702@Thesaurus (orig r8689): ribasushi | 2010-02-13 14:39:24 +0100 JSON dep is needed for Admin.pm itself r8703@Thesaurus (orig r8690): ribasushi | 2010-02-13 15:06:28 +0100 Test fixes r8704@Thesaurus (orig r8691): ribasushi | 2010-02-13 15:13:31 +0100 Changes r8707@Thesaurus (orig r8694): ribasushi | 2010-02-13 16:37:57 +0100 Test for optional deps manager r8710@Thesaurus (orig r8697): caelum | 2010-02-14 05:22:03 +0100 add doc on maximum cursors for SQLAnywhere r8711@Thesaurus (orig r8698): ribasushi | 2010-02-14 09:23:09 +0100 Cleanup dependencies / Admin inheritance r8712@Thesaurus (orig r8699): ribasushi | 2010-02-14 09:28:29 +0100 Some formatting r8715@Thesaurus (orig r8702): ribasushi | 2010-02-14 10:46:51 +0100 This is Moose, so use CMOP r8720@Thesaurus (orig r8707): ribasushi | 2010-02-15 10:28:22 +0100 Final POD touches r8721@Thesaurus (orig r8708): ribasushi | 2010-02-15 10:31:38 +0100 Spellcheck (jawnsy++) r8722@Thesaurus (orig r8709): ribasushi | 2010-02-15 10:32:24 +0100 One more r8723@Thesaurus (orig r8710): ribasushi | 2010-02-15 14:49:26 +0100 Release 0.08119 r8725@Thesaurus (orig r8712): ribasushi | 2010-02-15 14:50:56 +0100 Bump trunl version r8726@Thesaurus (orig r8713): rafl | 2010-02-15 15:49:55 +0100 Make sure we actually run all tests, given we're using done_testing. r8727@Thesaurus (orig r8714): rafl | 2010-02-15 15:50:01 +0100 Make sure overriding deployment_statements is possible from within schemas. r8728@Thesaurus (orig r8715): rafl | 2010-02-15 15:56:06 +0100 Changelogging. r8729@Thesaurus (orig r8716): rafl | 2010-02-15 15:58:09 +0100 Make some cookbook code compile. r8730@Thesaurus (orig r8717): nuba | 2010-02-15 16:11:52 +0100 spelling fixes in the documaentation, sholud be gud now ;) r8732@Thesaurus (orig r8719): caelum | 2010-02-16 11:09:58 +0100 use OO interface of Hash::Merge for ::DBI::Replicated r8734@Thesaurus (orig r8721): ribasushi | 2010-02-16 11:41:06 +0100 Augment did-author-run-makefile check to include OptDeps r8735@Thesaurus (orig r8722): ribasushi | 2010-02-16 12:16:06 +0100 Reorg support section, add live-chat link r8739@Thesaurus (orig r8726): caelum | 2010-02-16 14:51:58 +0100 set behavior for Hash::Merge in ::DBI::Replicated, otherwise it uses the global setting r8740@Thesaurus (orig r8727): caelum | 2010-02-16 15:43:25 +0100 POD touchups r8759@Thesaurus (orig r8746): ribasushi | 2010-02-19 00:30:37 +0100 Fix bogus test r8760@Thesaurus (orig r8747): ribasushi | 2010-02-19 00:34:22 +0100 Retire useless abstraction (all rdbms need this anyway) r8761@Thesaurus (orig r8748): ribasushi | 2010-02-19 00:35:01 +0100 Fix count of group_by over aliased function r8765@Thesaurus (orig r8752): ribasushi | 2010-02-19 10:11:20 +0100 r8497@Thesaurus (orig r8484): ribasushi | 2010-01-31 10:06:29 +0100 Branch to unify mandatory PK handling r8498@Thesaurus (orig r8485): ribasushi | 2010-01-31 10:20:36 +0100 This is not really used for anything (same code in DBI) r8499@Thesaurus (orig r8486): ribasushi | 2010-01-31 10:25:55 +0100 Helper primary_columns wrapper to throw if a PK is not defined r8500@Thesaurus (orig r8487): ribasushi | 2010-01-31 11:07:25 +0100 Stupid errors r8501@Thesaurus (orig r8488): ribasushi | 2010-01-31 12:18:57 +0100 Saner handling of nonexistent/partial conditions r8762@Thesaurus (orig r8749): ribasushi | 2010-02-19 10:07:40 +0100 trap unresolvable conditions due to incomplete relationship specification r8764@Thesaurus (orig r8751): ribasushi | 2010-02-19 10:11:09 +0100 Changes r8767@Thesaurus (orig r8754): ribasushi | 2010-02-19 11:14:30 +0100 Fix for RT54697 r8769@Thesaurus (orig r8756): caelum | 2010-02-19 12:21:53 +0100 bump Test::Pod dep r8770@Thesaurus (orig r8757): caelum | 2010-02-19 12:23:07 +0100 bump Test::Pod dep in Optional::Dependencies too r8773@Thesaurus (orig r8760): rabbit | 2010-02-19 16:41:24 +0100 Fix stupid sqlt parser regression r8774@Thesaurus (orig r8761): rabbit | 2010-02-19 16:42:40 +0100 Port remaining tests to the Opt::Dep reposiory r8775@Thesaurus (orig r8762): rabbit | 2010-02-19 16:43:36 +0100 Some test cleanups r8780@Thesaurus (orig r8767): rabbit | 2010-02-20 20:59:20 +0100 Test::Deep actually isn't required r8786@Thesaurus (orig r8773): rabbit | 2010-02-20 22:21:41 +0100 These are core for perl 5.8 r8787@Thesaurus (orig r8774): rabbit | 2010-02-21 10:52:40 +0100 Shuffle tests a bit r8788@Thesaurus (orig r8775): rabbit | 2010-02-21 12:09:25 +0100 Bogus require r8789@Thesaurus (orig r8776): rabbit | 2010-02-21 12:09:48 +0100 Bogus unnecessary dep r8800@Thesaurus (orig r8787): rabbit | 2010-02-21 13:39:21 +0100 r8748@Thesaurus (orig r8735): goraxe | 2010-02-17 23:17:15 +0100 branch for dbicadmin pod fixes r8778@Thesaurus (orig r8765): goraxe | 2010-02-20 20:35:00 +0100 add G:L:D sub classes to generate pod r8779@Thesaurus (orig r8766): goraxe | 2010-02-20 20:56:16 +0100 dbicadmin: use subclassed G:L:D to generate some pod r8782@Thesaurus (orig r8769): goraxe | 2010-02-20 21:48:29 +0100 adjust Makefile.pl to generate dbicadmin.pod r8783@Thesaurus (orig r8770): goraxe | 2010-02-20 21:50:55 +0100 add svn-ignore for dbicadmin.pod r8784@Thesaurus (orig r8771): goraxe | 2010-02-20 22:01:41 +0100 change Options to Arguments r8785@Thesaurus (orig r8772): goraxe | 2010-02-20 22:10:29 +0100 add DBIx::Class::Admin::{Descriptive,Usage} to podcover ignore list r8790@Thesaurus (orig r8777): rabbit | 2010-02-21 12:35:38 +0100 Cleanup the makefile regen a bit r8792@Thesaurus (orig r8779): rabbit | 2010-02-21 12:53:01 +0100 Bah humbug r8793@Thesaurus (orig r8780): rabbit | 2010-02-21 12:55:18 +0100 And another one r8797@Thesaurus (orig r8784): rabbit | 2010-02-21 13:32:03 +0100 The minimal pod seems to confuse the manpage generator, commenting out for now r8798@Thesaurus (orig r8785): rabbit | 2010-02-21 13:38:03 +0100 Add license/author to dbicadmin autogen POD r8799@Thesaurus (orig r8786): rabbit | 2010-02-21 13:38:58 +0100 Reorder makefile author actions to make output more readable r8803@Thesaurus (orig r8790): ribasushi | 2010-02-21 14:24:15 +0100 Fix exception text r8804@Thesaurus (orig r8791): ribasushi | 2010-02-21 15:14:58 +0100 Extra testdep r8808@Thesaurus (orig r8795): caelum | 2010-02-22 20:16:07 +0100 with_deferred_fk_checks for Oracle r8809@Thesaurus (orig r8796): rabbit | 2010-02-22 21:26:20 +0100 Add a hidden option to dbicadmin to self-inject autogenerated POD r8810@Thesaurus (orig r8797): caelum | 2010-02-22 21:48:43 +0100 improve with_deferred_fk_checks for Oracle, add tests r8812@Thesaurus (orig r8799): rbuels | 2010-02-22 23:09:40 +0100 added package name to DBD::Pg warning in Pg storage driver to make it explicit where the warning is coming from r8815@Thesaurus (orig r8802): rabbit | 2010-02-23 11:21:10 +0100 Looks like the distdir wrapping is finally taken care of r8818@Thesaurus (orig r8805): rabbit | 2010-02-23 14:05:14 +0100 remove POD r8819@Thesaurus (orig r8806): rabbit | 2010-02-23 14:05:32 +0100 More index exclusions r8821@Thesaurus (orig r8808): goraxe | 2010-02-23 15:00:38 +0100 remove short options from dbicadmin r8822@Thesaurus (orig r8809): rabbit | 2010-02-23 15:15:00 +0100 Whitespace r8826@Thesaurus (orig r8813): rabbit | 2010-02-24 09:28:43 +0100 r8585@Thesaurus (orig r8572): faxm0dem | 2010-02-06 23:01:04 +0100 sqlt::producer::oracle is now able to handle quotes correctly. Now we need to take advantage of that as currently the oracle producer capitalises everything r8586@Thesaurus (orig r8573): faxm0dem | 2010-02-06 23:03:31 +0100 the way I thought. ribasushi suggested to override deploy(ment_statements) r8607@Thesaurus (orig r8594): faxm0dem | 2010-02-09 21:53:48 +0100 should work now r8714@Thesaurus (orig r8701): faxm0dem | 2010-02-14 09:49:44 +0100 oracle_version r8747@Thesaurus (orig r8734): faxm0dem | 2010-02-17 18:54:45 +0100 still need to uc source_name if quotes off r8817@Thesaurus (orig r8804): rabbit | 2010-02-23 12:03:23 +0100 Cleanup code (hopefully no functional changes) r8820@Thesaurus (orig r8807): rabbit | 2010-02-23 14:14:19 +0100 Proper error message r8823@Thesaurus (orig r8810): faxm0dem | 2010-02-23 15:46:11 +0100 Schema Object Naming Rules : [...] However, database names, global database names, and database link names are always case insensitive and are stored as uppercase. # source: http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/sql_elements008.htm r8824@Thesaurus (orig r8811): rabbit | 2010-02-23 16:09:36 +0100 Changes and dep-bump r8828@Thesaurus (orig r8815): rabbit | 2010-02-24 09:32:53 +0100 Changelogging r8829@Thesaurus (orig r8816): rabbit | 2010-02-24 09:37:14 +0100 Protect dbicadmin from self-injection when not in make r8830@Thesaurus (orig r8817): rabbit | 2010-02-24 10:00:43 +0100 Release 0.08120 r8832@Thesaurus (orig r8819): rabbit | 2010-02-24 10:02:36 +0100 Bump trunk version r8833@Thesaurus (orig r8820): goraxe | 2010-02-24 14:21:23 +0100 do not include hidden opts in generated pod r8834@Thesaurus (orig r8821): rabbit | 2010-02-24 15:50:34 +0100 small tool to query cpan deps r8835@Thesaurus (orig r8822): rabbit | 2010-02-26 00:22:51 +0100 Typo r8849@Thesaurus (orig r8836): rabbit | 2010-03-01 01:32:03 +0100 Cleanup logic in RSC r8850@Thesaurus (orig r8837): rabbit | 2010-03-01 01:36:24 +0100 Fix incorrect placement of condition resolution failure trap r8851@Thesaurus (orig r8838): rabbit | 2010-03-01 01:37:53 +0100 Changes r8855@Thesaurus (orig r8842): rabbit | 2010-03-01 18:04:23 +0100 Add has_relationship proxy to row r8856@Thesaurus (orig r8843): rabbit | 2010-03-02 10:29:18 +0100 Do not autoviv empty ENV vars r8857@Thesaurus (orig r8844): rabbit | 2010-03-02 11:09:06 +0100 This test is identical to the one above it r8858@Thesaurus (orig r8845): rabbit | 2010-03-02 11:13:55 +0100 Test belongs_to accessor in-memory tie r8859@Thesaurus (orig r8846): rabbit | 2010-03-02 11:35:19 +0100 proving rafl wrong r8865@Thesaurus (orig r8852): mo | 2010-03-03 12:05:51 +0100 Fix for SQLite to ignore the { for => ... } attribute r8866@Thesaurus (orig r8853): rabbit | 2010-03-03 12:15:22 +0100 Fix whitespace r8869@Thesaurus (orig r8856): castaway | 2010-03-03 23:07:40 +0100 Minor doc tweaks r8870@Thesaurus (orig r8857): castaway | 2010-03-03 23:33:07 +0100 Added note+warning about how Ordered works, from steveo_aa r8900@Thesaurus (orig r8887): rabbit | 2010-03-04 19:11:32 +0100 Fix identity fiasco r8901@Thesaurus (orig r8888): rjbs | 2010-03-04 19:39:54 +0100 fix a typo in FAQ r8904@Thesaurus (orig r8891): acmoore | 2010-03-05 22:37:55 +0100 Fix regression where SQL files with comments were not handled properly by ::Schema::Versioned. r8913@Thesaurus (orig r8900): ribasushi | 2010-03-06 12:26:10 +0100 More checks for weird usage of _determine_driver (maint/gen-schema) r8916@Thesaurus (orig r8903): rabbit | 2010-03-06 12:30:56 +0100 r8422@Thesaurus (orig r8409): ribasushi | 2010-01-22 11:14:57 +0100 Branches for some stuff r8477@Thesaurus (orig r8464): ribasushi | 2010-01-28 12:26:40 +0100 RT#52681 r8478@Thesaurus (orig r8465): ribasushi | 2010-01-28 12:41:25 +0100 Deprecate IC::File r8479@Thesaurus (orig r8466): ribasushi | 2010-01-28 12:41:56 +0100 Deprecate IC::File(2) r8487@Thesaurus (orig r8474): ribasushi | 2010-01-30 13:11:18 +0100 Draft PK explanation r8488@Thesaurus (orig r8475): frew | 2010-01-30 21:19:30 +0100 clarify PK stuff in intro just a bit r8489@Thesaurus (orig r8476): frew | 2010-01-30 21:24:21 +0100 no first in POD r8910@Thesaurus (orig r8897): rabbit | 2010-03-06 11:37:12 +0100 Improve POD about PKs and why they matter r8912@Thesaurus (orig r8899): rabbit | 2010-03-06 11:42:41 +0100 One more PODlink r8915@Thesaurus (orig r8902): rabbit | 2010-03-06 12:27:29 +0100 Fully deprecate IC::File r8919@Thesaurus (orig r8906): rabbit | 2010-03-06 12:44:59 +0100 Fix RT54063 r8920@Thesaurus (orig r8907): rabbit | 2010-03-06 13:18:02 +0100 me-- not thinking r8925@Thesaurus (orig r8912): wreis | 2010-03-06 18:51:59 +0100 improvements for HasOne relationship validationn r8934@Thesaurus (orig r8921): rabbit | 2010-03-07 00:52:51 +0100 Cascading delete needs a guard to remain atomic r8936@Thesaurus (orig r8923): rabbit | 2010-03-07 02:35:51 +0100 Fix the docs for select/as r8937@Thesaurus (orig r8924): rabbit | 2010-03-07 02:58:09 +0100 Unmark Opt::Deps experimental and add extra method as per RT55211 r8938@Thesaurus (orig r8925): rabbit | 2010-03-07 03:22:08 +0100 Switch NoTab/EOL checks to Opt::Deps Enable NoTab checks Disable EOL checks r8939@Thesaurus (orig r8926): rabbit | 2010-03-07 10:23:24 +0100 Cleanup a bit r8941@Thesaurus (orig r8928): rabbit | 2010-03-07 11:38:35 +0100 Fix MC bug reported by felix r8944@Thesaurus (orig r8931): caelum | 2010-03-07 11:55:06 +0100 r23004@hlagh (orig r8530): moritz | 2010-02-04 07:41:29 -0500 create branch for Storage::DBI::InterBase r23005@hlagh (orig r8531): moritz | 2010-02-04 07:44:02 -0500 primitive, non-working and very specific Storage::DBI::InterBase r23006@hlagh (orig r8532): moritz | 2010-02-04 08:00:05 -0500 [Storage::DBI::InterBase] remove cruft copied from MSSQL r23008@hlagh (orig r8534): moritz | 2010-02-04 08:34:22 -0500 [Storage::DBI::InterBase] remove more cruft r23014@hlagh (orig r8540): caelum | 2010-02-04 10:08:27 -0500 test file for firebird, not passing yet r23015@hlagh (orig r8541): caelum | 2010-02-04 11:24:51 -0500 Firebird: fix test cleanup, add ODBC wrapper r23016@hlagh (orig r8542): caelum | 2010-02-04 13:18:48 -0500 limit and better autoinc for Firebird r23018@hlagh (orig r8544): caelum | 2010-02-04 14:19:51 -0500 override quoting columns for RETURNING in Firebird ODBC (where it doesn't work) and generate a RETURNING clause only when necessary r23022@hlagh (orig r8548): caelum | 2010-02-05 03:55:43 -0500 fix up my Row code for non-pk autoincs, add pretty crappy DT inflation for Firebird r23023@hlagh (orig r8549): caelum | 2010-02-05 04:26:03 -0500 rename a couple of variables r23024@hlagh (orig r8550): caelum | 2010-02-05 04:46:31 -0500 check for both NULL and null, rename _fb_auto_incs to _auto_incs r23025@hlagh (orig r8551): caelum | 2010-02-05 05:07:14 -0500 support autoinc PKs without is_auto_increment set r23047@hlagh (orig r8570): caelum | 2010-02-06 07:35:31 -0500 move Firebird ODBC override for RETURNING to a SQLAHacks class r23048@hlagh (orig r8571): caelum | 2010-02-06 08:06:44 -0500 Firebird: add POD, fix BLOB tests r23085@hlagh (orig r8588): caelum | 2010-02-08 08:26:41 -0500 better DT inflation for Firebird and _ping r23087@hlagh (orig r8590): moritz | 2010-02-08 08:32:26 -0500 test ->update({...}) for firebird r23088@hlagh (orig r8591): caelum | 2010-02-08 08:33:09 -0500 test update r23089@hlagh (orig r8592): moritz | 2010-02-08 08:43:50 -0500 use quoting in firebird tests r23115@hlagh (orig r8597): caelum | 2010-02-10 07:05:21 -0500 default to sql dialect 3 unless overridden r23116@hlagh (orig r8598): caelum | 2010-02-10 07:42:17 -0500 turn on ib_softcommit, savepoint tests now pass for DBD::InterBase r23123@hlagh (orig r8605): caelum | 2010-02-10 17:38:24 -0500 fix savepoints for Firebird ODBC r23170@hlagh (orig r8652): caelum | 2010-02-11 07:27:19 -0500 support the DATE data type for Firebird r23186@hlagh (orig r8668): caelum | 2010-02-12 14:43:20 -0500 special bind_param_array move to make DBD::InterBase happy (RT#54561) r23213@hlagh (orig r8695): caelum | 2010-02-13 15:15:46 -0500 fix fail in t/72pg.t related to new autoinc retrieval code in ::Row r23214@hlagh (orig r8696): caelum | 2010-02-13 15:18:27 -0500 fix multiple cursor test r23246@hlagh (orig r8728): caelum | 2010-02-16 09:47:43 -0500 POD fix r23358@hlagh (orig r8758): caelum | 2010-02-19 06:25:27 -0500 s/primary_columns/_pri_cols/ for Firebird r23420@hlagh (orig r8800): rkitover | 2010-02-22 19:33:13 -0500 don't use ib_softcommit by default r23496@hlagh (orig r8841): rkitover | 2010-03-01 04:22:19 -0500 update POD r23545@hlagh (orig r8855): rkitover | 2010-03-03 12:59:41 -0500 destroy cached statements in $storage->disconnect too r23582@hlagh (orig r8892): rkitover | 2010-03-05 18:06:33 -0500 auto_nextval support for Firebird r23598@hlagh (orig r8908): rkitover | 2010-03-06 11:48:41 -0500 remove that code for non-pk autoincs from Row, move to ::DBI::InterBase r23599@hlagh (orig r8909): rkitover | 2010-03-06 12:00:15 -0500 remove BindType2 test class r23601@hlagh (orig r8911): rkitover | 2010-03-06 12:12:55 -0500 cache autoinc sequence in column_info r23609@hlagh (orig r8919): rkitover | 2010-03-06 18:05:24 -0500 remove connect_info from maint/gen-schema.pl r23610@hlagh (orig r8920): rkitover | 2010-03-06 18:15:13 -0500 don't die on insert in firebird with no pk r23612@hlagh (orig r8922): ribasushi | 2010-03-06 19:18:46 -0500 What I really meant r23619@hlagh (orig r8929): rkitover | 2010-03-07 05:46:04 -0500 fix RETURNING for empty INSERT r8946@Thesaurus (orig r8933): caelum | 2010-03-07 12:08:00 +0100 remove unnecessary transaction_depth check in DBI::insert_bulk r8963@Thesaurus (orig r8950): ilmari | 2010-03-09 15:06:48 +0100 Fix POD link --- 54161a15147b7e8c1fe3251595cf9d5dae78b59b diff --cc lib/DBIx/Class/Storage/DBI/Oracle/Generic.pm index 57540cb,a6081a6..e926911 --- a/lib/DBIx/Class/Storage/DBI/Oracle/Generic.pm +++ b/lib/DBIx/Class/Storage/DBI/Oracle/Generic.pm @@@ -15,55 -17,11 +17,56 @@@ DBIx::Class::Storage::DBI::Oracle::Gene __PACKAGE__->set_primary_key('id'); __PACKAGE__->sequence('mysequence'); + # Somewhere in your Code + # add some data to a table with a hierarchical relationship + $schema->resultset('Person')->create ({ + firstname => 'foo', + lastname => 'bar', + children => [ + { + firstname => 'child1', + lastname => 'bar', + children => [ + { + firstname => 'grandchild', + lastname => 'bar', + } + ], + }, + { + firstname => 'child2', + lastname => 'bar', + }, + ], + }); + + # select from the hierarchical relationship + my $rs = $schema->resultset('Person')->search({}, + { + 'start_with' => { 'firstname' => 'foo', 'lastname' => 'bar' }, + 'connect_by' => { 'parentid' => 'prior persionid'}, + 'order_siblings_by' => 'firstname ASC', + }; + ); + + # this will select the whole tree starting from person "foo bar", creating + # following query: + # SELECT + # me.persionid me.firstname, me.lastname, me.parentid + # FROM + # person me + # START WITH + # firstname = 'foo' and lastname = 'bar' + # CONNECT BY + # parentid = prior persionid + # ORDER SIBLINGS BY + # firstname ASC + =head1 DESCRIPTION - This class implements autoincrements for Oracle and adds support for Oracle - specific hierarchical queries. + This class implements base Oracle support. The subclass + L is for C<(+)> joins in Oracle + versions before 9. =head1 METHODS @@@ -72,8 -30,22 +75,24 @@@ use base qw/DBIx::Class::Storage::DBI/; use mro 'c3'; +__PACKAGE__->sql_maker_class('DBIx::Class::SQLAHacks::Oracle'); + + sub deployment_statements { + my $self = shift;; + my ($schema, $type, $version, $dir, $sqltargs, @rest) = @_; + + $sqltargs ||= {}; + my $quote_char = $self->schema->storage->sql_maker->quote_char; + $sqltargs->{quote_table_names} = $quote_char ? 1 : 0; + $sqltargs->{quote_field_names} = $quote_char ? 1 : 0; + + my $oracle_version = eval { $self->_get_dbh->get_info(18) }; + + $sqltargs->{producer_args}{oracle_version} = $oracle_version; + + $self->next::method($schema, $type, $version, $dir, $sqltargs, @rest); + } + sub _dbh_last_insert_id { my ($self, $dbh, $source, @columns) = @_; my @ids = (); @@@ -317,99 -296,79 +343,167 @@@ sub _svp_begin sub _svp_release { 1 } sub _svp_rollback { - my ($self, $name) = @_; + my ($self, $name) = @_; + $self->_get_dbh->do("ROLLBACK TO SAVEPOINT $name") + } + + =head2 relname_to_table_alias + + L uses L names as table aliases in + queries. + + Unfortunately, Oracle doesn't support identifiers over 30 chars in length, so + the L name is shortened and appended with half of an + MD5 hash. + + See L. + + =cut + + sub relname_to_table_alias { + my $self = shift; + my ($relname, $join_count) = @_; + + my $alias = $self->next::method(@_); + + return $alias if length($alias) <= 30; + + # get a base64 md5 of the alias with join_count + require Digest::MD5; + my $ctx = Digest::MD5->new; + $ctx->add($alias); + my $md5 = $ctx->b64digest; + + # remove alignment mark just in case + $md5 =~ s/=*\z//; + + # truncate and prepend to truncated relname without vowels + (my $devoweled = $relname) =~ s/[aeiou]//g; + my $shortened = substr($devoweled, 0, 18); + + my $new_alias = + $shortened . '_' . substr($md5, 0, 30 - length($shortened) - 1); + + return $new_alias; + } + + =head2 with_deferred_fk_checks + + Runs a coderef between: + + alter session set constraints = deferred + ... + alter session set constraints = immediate + + to defer foreign key checks. + + Constraints must be declared C for this to work. + + =cut + + sub with_deferred_fk_checks { + my ($self, $sub) = @_; + + my $txn_scope_guard = $self->txn_scope_guard; + + $self->_do_query('alter session set constraints = deferred'); - ++ + my $sg = Scope::Guard->new(sub { + $self->_do_query('alter session set constraints = immediate'); + }); - $self->_get_dbh->do("ROLLBACK TO SAVEPOINT $name") + return Context::Preserve::preserve_context(sub { $sub->() }, + after => sub { $txn_scope_guard->commit }); } +sub _select_args { + my ($self, $ident, $select, $where, $attrs) = @_; + + my $connect_by_args = {}; + if ( $attrs->{connect_by} || $attrs->{start_with} || $attrs->{order_siblings_by} ) { + $connect_by_args = { + connect_by => $attrs->{connect_by}, + start_with => $attrs->{start_with}, + order_siblings_by => $attrs->{order_siblings_by}, + } + } + + my @rv = $self->next::method($ident, $select, $where, $attrs); + + return (@rv, $connect_by_args); +} + +=head1 ATTRIBUTES + +Following additional attributes can be used in resultsets. + +=head2 connect_by + +=over 4 + +=item Value: \%connect_by + +=back + +A hashref of conditions used to specify the relationship between parent rows +and child rows of the hierarchy. + + connect_by => { parentid => 'prior personid' } + + # adds a connect by statement to the query: + # SELECT + # me.persionid me.firstname, me.lastname, me.parentid + # FROM + # person me + # CONNECT BY + # parentid = prior persionid + +=head2 start_with + +=over 4 + +=item Value: \%condition + +=back + +A hashref of conditions which specify the root row(s) of the hierarchy. + +It uses the same syntax as L + + start_with => { firstname => 'Foo', lastname => 'Bar' } + + # SELECT + # me.persionid me.firstname, me.lastname, me.parentid + # FROM + # person me + # START WITH + # firstname = 'foo' and lastname = 'bar' + # CONNECT BY + # parentid = prior persionid + +=head2 order_siblings_by + +=over 4 + +=item Value: ($order_siblings_by | \@order_siblings_by) + +=back + +Which column(s) to order the siblings by. + +It uses the same syntax as L + + 'order_siblings_by' => 'firstname ASC' + + # SELECT + # me.persionid me.firstname, me.lastname, me.parentid + # FROM + # person me + # CONNECT BY + # parentid = prior persionid + # ORDER SIBLINGS BY + # firstname ASC + =head1 AUTHOR See L. diff --cc t/73oracle.t index c1ef40b,0aa3ee7..3f60930 --- a/t/73oracle.t +++ b/t/73oracle.t @@@ -71,15 -61,18 +71,19 @@@ $dbh->do("CREATE SEQUENCE track_seq STA $dbh->do("CREATE SEQUENCE pkid1_seq START WITH 1 MAXVALUE 999999 MINVALUE 0"); $dbh->do("CREATE SEQUENCE pkid2_seq START WITH 10 MAXVALUE 999999 MINVALUE 0"); $dbh->do("CREATE SEQUENCE nonpkid_seq START WITH 20 MAXVALUE 999999 MINVALUE 0"); + -$dbh->do("CREATE TABLE artist (artistid NUMBER(12), name VARCHAR(255), rank NUMBER(38), charfield VARCHAR2(10))"); +$dbh->do("CREATE TABLE artist (artistid NUMBER(12), parentid NUMBER(12), name VARCHAR(255), rank NUMBER(38), charfield VARCHAR2(10))"); + $dbh->do("ALTER TABLE artist ADD (CONSTRAINT artist_pk PRIMARY KEY (artistid))"); + $dbh->do("CREATE TABLE sequence_test (pkid1 NUMBER(12), pkid2 NUMBER(12), nonpkid NUMBER(12), name VARCHAR(255))"); - $dbh->do("CREATE TABLE cd (cdid NUMBER(12), artist NUMBER(12), title VARCHAR(255), year VARCHAR(4), single_track NUMBER(12), genreid NUMBER(12))"); - $dbh->do("CREATE TABLE track (trackid NUMBER(12), cd NUMBER(12), position NUMBER(12), title VARCHAR(255), last_updated_on DATE, last_updated_at DATE, small_dt DATE)"); + $dbh->do("ALTER TABLE sequence_test ADD (CONSTRAINT sequence_test_constraint PRIMARY KEY (pkid1, pkid2))"); - $dbh->do("ALTER TABLE artist ADD (CONSTRAINT artist_pk PRIMARY KEY (artistid))"); + $dbh->do("CREATE TABLE cd (cdid NUMBER(12), artist NUMBER(12), title VARCHAR(255), year VARCHAR(4), genreid NUMBER(12), single_track NUMBER(12))"); $dbh->do("ALTER TABLE cd ADD (CONSTRAINT cd_pk PRIMARY KEY (cdid))"); + + $dbh->do("CREATE TABLE track (trackid NUMBER(12), cd NUMBER(12) REFERENCES cd(cdid) DEFERRABLE, position NUMBER(12), title VARCHAR(255), last_updated_on DATE, last_updated_at DATE, small_dt DATE)"); +$dbh->do("ALTER TABLE track ADD (CONSTRAINT track_pk PRIMARY KEY (trackid))"); - $dbh->do("ALTER TABLE sequence_test ADD (CONSTRAINT sequence_test_constraint PRIMARY KEY (pkid1, pkid2))"); + $dbh->do(qq{ CREATE OR REPLACE TRIGGER artist_insert_trg BEFORE INSERT ON artist @@@ -163,9 -132,36 +167,36 @@@ is($cd->cdid, 1, "Oracle Auto-PK worke $new = $schema->resultset('ArtistFQN')->create( { name => 'bar' } ); is( $new->artistid, 2, "Oracle Auto-PK worked with fully-qualified tablename" ); + # test rel names over the 30 char limit + my $query = $schema->resultset('Artist')->search({ + artistid => 1 + }, { + prefetch => 'cds_very_very_very_long_relationship_name' + }); + + lives_and { + is $query->first->cds_very_very_very_long_relationship_name->first->cdid, 1 + } 'query with rel name over 30 chars survived and worked'; + + # rel name over 30 char limit with user condition + # This requires walking the SQLA data structure. + { + local $TODO = 'user condition on rel longer than 30 chars'; + + $query = $schema->resultset('Artist')->search({ + 'cds_very_very_very_long_relationship_name.title' => 'EP C' + }, { + prefetch => 'cds_very_very_very_long_relationship_name' + }); + + lives_and { + is $query->first->cds_very_very_very_long_relationship_name->first->cdid, 1 + } 'query with rel name over 30 chars and user condition survived and worked'; + } + # test join with row count ambiguity -my $track = $schema->resultset('Track')->create({ trackid => 1, cd => 1, +my $track = $schema->resultset('Track')->create({ cd => $cd->cdid, position => 1, title => 'Track1' }); my $tjoin = $schema->resultset('Track')->search({ 'me.title' => 'Track1'}, { join => 'cd', @@@ -237,330 -254,38 +289,338 @@@ my $st = $schema->resultset('SequenceTe is($st->pkid1, 55, "Oracle Auto-PK without trigger: First primary key set manually"); SKIP: { - skip 'buggy BLOB support in DBD::Oracle 1.23', 8 - if $DBD::Oracle::VERSION == 1.23; + my %binstr = ( 'small' => join('', map { chr($_) } ( 1 .. 127 )) ); + $binstr{'large'} = $binstr{'small'} x 1024; - my %binstr = ( 'small' => join('', map { chr($_) } ( 1 .. 127 )) ); - $binstr{'large'} = $binstr{'small'} x 1024; + my $maxloblen = length $binstr{'large'}; + note "Localizing LongReadLen to $maxloblen to avoid truncation of test data"; + local $dbh->{'LongReadLen'} = $maxloblen; - my $maxloblen = length $binstr{'large'}; - note "Localizing LongReadLen to $maxloblen to avoid truncation of test data"; - local $dbh->{'LongReadLen'} = $maxloblen; + my $rs = $schema->resultset('BindType'); + my $id = 0; - my $rs = $schema->resultset('BindType'); - my $id = 0; + if ($DBD::Oracle::VERSION eq '1.23') { + throws_ok { $rs->create({ id => 1, blob => $binstr{large} }) } + qr/broken/, + 'throws on blob insert with DBD::Oracle == 1.23'; - foreach my $type (qw( blob clob )) { - foreach my $size (qw( small large )) { - $id++; + skip 'buggy BLOB support in DBD::Oracle 1.23', 7; + } - lives_ok { $rs->create( { 'id' => $id, $type => $binstr{$size} } ) } - "inserted $size $type without dying"; - ok($rs->find($id)->$type eq $binstr{$size}, "verified inserted $size $type" ); - } - } + foreach my $type (qw( blob clob )) { + foreach my $size (qw( small large )) { + $id++; + + lives_ok { $rs->create( { 'id' => $id, $type => $binstr{$size} } ) } + "inserted $size $type without dying"; + + ok($rs->find($id)->$type eq $binstr{$size}, "verified inserted $size $type" ); + } + } } - # test hierarchical querys ++# test hierarchical queries +if ( $schema->storage->isa('DBIx::Class::Storage::DBI::Oracle::Generic') ) { + my $source = $schema->source('Artist'); + + $source->add_column( 'parentid' ); + + $source->add_relationship('children', 'DBICTest::Schema::Artist', + { 'foreign.parentid' => 'self.artistid' }, + { + accessor => 'multi', + join_type => 'LEFT', + cascade_delete => 1, + cascade_copy => 1, + } ); + $source->add_relationship('parent', 'DBICTest::Schema::Artist', + { 'foreign.artistid' => 'self.parentid' }, + { accessor => 'single' } ); + DBICTest::Schema::Artist->add_column( 'parentid' ); + DBICTest::Schema::Artist->has_many( + children => 'DBICTest::Schema::Artist', + { 'foreign.parentid' => 'self.artistid' } + ); + DBICTest::Schema::Artist->belongs_to( + parent => 'DBICTest::Schema::Artist', + { 'foreign.artistid' => 'self.parentid' } + ); + + $schema->resultset('Artist')->create ({ + name => 'root', + cds => [], + children => [ + { + name => 'child1', + children => [ + { + name => 'grandchild', + cds => [ + { + title => "grandchilds's cd" , + year => '2008', + tracks => [ + { + position => 1, + title => 'Track 1 grandchild', + } + ], + } + ], + children => [ + { + name => 'greatgrandchild', + } + ], + } + ], + }, + { + name => 'child2', + }, + ], + }); + + { + # select the whole tree + my $rs = $schema->resultset('Artist')->search({}, + { + 'start_with' => { 'name' => 'root' }, + 'connect_by' => { 'parentid' => { '-prior' => \'artistid' } }, + }); +=pod + SELECT + COUNT( * ) + FROM + artist me + START WITH + name = ? + CONNECT BY + parentid = prior artistid + + Parameters: 'root' +=cut + is( $rs->count, 5, 'Connect By count ok' ); + my $ok = 1; +=pod + SELECT + me.artistid, me.name, me.rank, me.charfield, me.parentid + FROM + artist me + START WITH + name = ? + CONNECT BY + parentid = prior artistid + + Parameters: 'root' +=cut + foreach my $node_name (qw(root child1 grandchild greatgrandchild child2)) { + $ok = 0 if $rs->next->name ne $node_name; + } + ok( $ok, 'got artist tree'); + } + + { + # use order siblings by statement + my $rs = $schema->resultset('Artist')->search({}, + { + 'start_with' => { 'name' => 'root' }, + 'connect_by' => { 'parentid' => { '-prior' => \'artistid' } }, + 'order_siblings_by' => 'name DESC', + }); + my $ok = 1; +=pod + SELECT + me.artistid, me.name, me.rank, me.charfield, me.parentid + FROM + artist me + START WITH + name = ? + CONNECT BY + parentid = prior artistid + ORDER SIBLINGS BY + name DESC + + Parameters: 'root' +=cut + foreach my $node_name (qw(root child2 child1 grandchild greatgrandchild)) { + $ok = 0 if $rs->next->name ne $node_name; + } + ok( $ok, 'Order Siblings By ok'); + } + + { + # get the root node + my $rs = $schema->resultset('Artist')->search({ parentid => undef }, + { + 'start_with' => { 'name' => 'greatgrandchild' }, + 'connect_by' => { '-prior' => [ \'parentid', \'artistid' ] } , + }); +=pod + SELECT + COUNT( * ) + FROM + artist me + WHERE + ( parentid IS NULL ) + START WITH + name = ? + CONNECT BY + prior parentid = artistid + + Parameters: 'greatgrandchild' +=cut + is( $rs->count, 1, 'root node count ok' ); +=pod + SELECT + me.artistid, me.name, me.rank, me.charfield, me.parentid + FROM + artist me + WHERE + ( parentid IS NULL ) + START WITH + name = ? + CONNECT BY + prior parentid = artistid + + Parameters: 'greatgrandchild' +=cut + ok( $rs->next->name eq 'root', 'found root node'); + } + + { + # combine a connect by with a join + my $rs = $schema->resultset('Artist')->search({'cds.title' => { 'like' => '%cd'}}, + { + 'join' => 'cds', + 'start_with' => { 'name' => 'root' }, + 'connect_by' => { 'parentid' => { '-prior' => \'artistid' } }, + }); +=pod + SELECT + COUNT( * ) + FROM + artist me + LEFT JOIN + cd cds ON cds.artist = me.artistid + WHERE + ( cds.title LIKE ? ) + START WITH + name = ? + CONNECT BY + parentid = prior artistid + + Parameters: '%cd', 'root' +=cut + is( $rs->count, 1, 'Connect By with a join; count ok' ); +=pod + SELECT + me.artistid, me.name, me.rank, me.charfield, me.parentid + FROM + artist me + LEFT JOIN + cd cds ON cds.artist = me.artistid + WHERE + ( cds.title LIKE ? ) + START WITH + name = ? + CONNECT BY + parentid = prior artistid + + Parameters: '%cd', 'root' +=cut + ok( $rs->next->name eq 'grandchild', 'Connect By with a join; result name ok') + } + + { + # combine a connect by with order_by + my $rs = $schema->resultset('Artist')->search({}, + { + 'start_with' => { 'name' => 'greatgrandchild' }, + 'connect_by' => { '-prior' => [ \'parentid', \'artistid' ] }, + 'order_by' => 'name ASC', + }); + my $ok = 1; +=pod + SELECT + me.artistid, me.name, me.rank, me.charfield, me.parentid + FROM + artist me + START WITH + name = ? + CONNECT BY + prior parentid = artistid + ORDER BY + name ASC + + Parameters: 'greatgrandchild' +=cut + foreach my $node_name (qw(child1 grandchild greatgrandchild root)) { + $ok = 0 if $rs->next->name ne $node_name; + } + ok( $ok, 'Connect By with a order_by; result name ok'); + } + + { + # limit a connect by + my $rs = $schema->resultset('Artist')->search({}, + { + 'start_with' => { 'name' => 'greatgrandchild' }, + 'connect_by' => { '-prior' => [ \'parentid', \'artistid' ] }, + 'order_by' => 'name ASC', + 'rows' => 2, + 'page' => 1, + }); +=pod + SELECT + COUNT( * ) + FROM + artist me + START WITH + name = ? + CONNECT BY + prior parentid = artistid + + Parameters: 'greatgrandchild' +=cut + is( $rs->count(), 2, 'Connect By; LIMIT count ok' ); + my $ok = 1; +=pod + SELECT + * + FROM + ( + SELECT + A.*,ROWNUM r + FROM + ( + SELECT + me.artistid AS col1, me.name AS col2, me.rank AS col3, me.charfield AS col4, me.parentid AS col5 + FROM + artist me + START WITH + name = ? + CONNECT BY + prior parentid = artistid + ORDER BY + name ASC + ) A + WHERE + ROWNUM < 3 + ) B + WHERE + r >= 1 + Parameters: 'greatgrandchild' +=cut + foreach my $node_name (qw(child1 grandchild)) { + $ok = 0 if $rs->next->name ne $node_name; + } + ok( $ok, 'LIMIT a Connect By query ok'); + } +} + + done_testing; + # clean up our mess END { if($schema && ($dbh = $schema->storage->dbh)) {