[libdata-objectdriver-perl] branch master updated (6899d1a -> 63c11a1)
Lucas Kanashiro
kanashiro-guest at moszumanska.debian.org
Wed Aug 19 18:23:24 UTC 2015
This is an automated email from the git hooks/post-receive script.
kanashiro-guest pushed a change to branch master
in repository libdata-objectdriver-perl.
from 6899d1a update changelog
new 93f7585 Add debian/upstream/metadata
new 9807295 Update debian/changelog
adds 0ad4906 Directory structure
adds e500135 Initial import of Data::ObjectDriver
adds dd1cd66 Broke out SQL generation code into Data::ObjectDriver::SQL. Refactored (and improved) a lot of code in DBI.pm.
adds 4e5a13f Moved default init_db into DBI.pm. Removed audit stuff from BaseObject.
adds 29d465b Changed to assume use of SERIAL columns, which auto-generate IDs for us
adds 8962809 Remove the lc, because it breaks Pg
adds 8bd3e42 Pass in classname to fetch_id
adds 4c4e6d5 Fixed broken update method, and added a test for it
adds 2d871ea Added . to list of allowed chars in column name
adds 153b7db Use dot notation for all columns in SELECT
adds 1fc2c8a Moved empty subroutine definitions into POD
adds 18e785e Reoganized cache drivers into a base class and subclasses; added a caching driver for generic Cache.pm subclasses
adds 3d16a65 Added a simple lookup_multi method in DBI.pm; added some other various changes from development
adds 5f1cc58 Prefix column names in WHERE clauses with table name
adds 14813ca Added caching tests, and moved partitioning test libraries
adds 10f7c8d Oops, left this extra line in
adds de46661 Removed helper methods from MT and TypePad--they can be added by subclasses or other helpers
adds 55498d6 Added support for changing logic of an individual term, SQL::Abstract style
adds b20382d Don't use table name dot notation on INSERTs and UPDATEs
adds 8d9a081 Pull the driver name out of the database handle, if present. Added backticks around column names.
adds dca48b4 Removed reliance on id column; fixed bugs in exists method
adds 4070ca3 Added get_dbh, which is a getter for returning a dbh
adds c2be4fe get_driver fix
adds 68eeab6 Updated todo list
adds 9fea2d6 added RAM based cache driver
adds b4b9a6e I'm anti-AUTOLOAD
adds 24f0c38 Revert back to AUTOLOAD add check if $class has $col and gives warning if not
adds aaea406 oops, remove debug
adds bccbddd Removed SQLDEBUG constant, made it a driver setting
adds 384b976 What was I thinking? DEBUG makes much more sense as a global setting
adds a602040 Added explicit DESTROY so that AUTOLOAD doesn't try to handle it
adds cd74a9c * BaseCache::lookup_multi now falls back to the backend if a particular object isn't in the cache * Memcached::lookup_multi falls back for all objects that weren't loaded from get_multi * Changed interface for lookup_multi: now returns array ref instead of hash ref, because multiple column primary keys don't serialize well * Added some tests for lookup_multi
adds 0871485 * Changed lookup_multi to take a reference to a list of IDs, to allow for future expansion with a list of options * Added global Disabled class method for all Cache classes
adds e8d066c Updated todo list
adds 6563596 Class::Data::Inheritable is now a prereq
adds cfec3cd Updated todo again
adds f3374bb Don't put backticks around column names anymore
adds 05a0424 Moved all DB-specific code into DBD modules, instead of subclasses of DBI.pm, which simplifies subclassing of DBI.pm.
adds bb4bcd2 Fixed void context warning
adds e756e17 Removed backticks (again)
adds 3179565 Updating default sequence name to standard SERIAL sequence format
adds 015f31e Class::Data::Inheritable allows object method call
adds 968e96b Added Apache pnotes based Cache driver (I dunno it works with Apache2)
adds 53fbe1d debug() is no more object attribute debug(@list) gives you a dumped message DEBUG gives you bound variables as well
adds 0cd481b Added first version of SQLite driver
adds 08c9f8d args{join} no longer exists
adds c709b4d Added docs. Not final or finished yet.
adds fb16d8b BaseCache::search now uses fetchonly to load only the primary column of each row, then uses lookup to look up the item, potentially loading it from the cache.
adds 8971d36 Created separate ToDo file
adds 84b64aa Added schemas for testing.
adds 264d075 Added license & copyright info.
adds 9787418 more tests for my own understanding
adds 333f4dd fix update() in case table doesn't have non-PK column
adds 108dc9d Fixed the annoying warning in Metadata (which litteraly clutters log files and screens)
adds e105a4e Added some more docs
adds 479b45c Test scripts now create and teardown test databases, using DBD::SQLite
adds 63796f0 Skip tests unless DBD::SQLite is installed
adds e0b3c91 Use Cache::Memory instead of Cache::Memcached for caching tests
adds c1b27ea Oops, Class::Memcached isn't a prereq
adds fe81e09 Removed half-finished introduction. Will add it back in later
adds aa2450e Added description, and note about it being alpha
adds 1fcf071 Removed username
adds 48146e7 bump version to 0.02 in development add trigger support with Class::Trigger
adds 7343c54 pod fix
adds 88bae05 proposed multiple ORDER BY support?
adds a0e676b proposed GROUP BY support?
adds ff4a694 Use lookup_multi instead of an iterator with lookup, because it's just so much faster than it's worth the potential extra memory usage for loading up the full list of objects into memory.
adds e49b438 Fixed for multiple primary keys
adds 526b5bd Added primary_key_tuple() shortcut
adds 5035d0c Oh my Gosh. I forgot to backport that back to cpan repo => Lot of re-debugging for nothing !
adds 742000c Added a new trigger test script for clustered db Added a refresh() method... and subsequently : Extracted fetch() from search Added fetch() data which returns raw data from the db for one object
adds 1132cee We don't want to publicize fetch(). It's DBI dependant (it returns $sth)
adds 839b29b I need to implement this one...
adds 619fad8 Cleaner fetch() interface. pass %rec by reference, only return $sth
adds 1f0de28 Added a fallback fetch_data to Cache Drivers
adds 1926502 Added Tatsuhiko's patch Added tests for that new feature
adds bebf09c Test case for the D::OD bug (doesn't die on inexistent col call)
adds 649913c Added a search trigger test. A few hours ago I thought the problem might come from D::OD (It's not so the test is green ;)
adds 57fd961 Added a test + patch for inexistent() columns. Tatsuhiko will talk with Ben about dying directly in BaseObject
adds bf7f0db Added more tests -- especially sqlite. I'm not sure tests are passing with SQLite < 1.11
adds 3242cfe skip if the DBD::SQLite version isn't ok
adds 06ef860 I didn't notice this was on CPAN already ! Pod fix http://www.annocpan.org/~BTROTT/Data-ObjectDriver-0.01/lib/Data/ObjectDriver.pm#note_317
adds 1f43a56 Added BaseView class, which was Randy's good idea for a class that looks like a regular datasource, but actually does something trickier under the hood.
adds 192fea9 Backported a pre_save hook from the Data::ObjectDriver in our Comet repo
adds afb6f33 * Added "method" parameter in pre_save trigger for hooks to know if it's insert/update/remove * Added $class->remove($terms) in addition to $obj->remove so it directly issues DELETE FROM table WHERE $terms without creating an object It has to be useful for tables without PKs
adds 7d3173d no fetch for DELETE sql statement
adds 59d08f3 Die right away in case someone is doing something really stupid
adds c8a7881 No method argument to pre_save, post_save instead we have new triggers: pre_update, post_update etc. for insert/update/remove
adds e7b91e0 Make $class->remove behave the same with search + remove, but issues DELETE SQL when you set 'nofetch' option Added document for Class->remove Update the document on available triggers
adds e74f28f Don't overwrite limit and offset arguments in view; pass through arguments/options to get_driver routine
adds a8e05f9 Minor tests fixes
adds a19b7e4 note Class::Trigger is required
adds bd95d85 Apply DBD's column name mangling when building Postgres sequence names Allow DBD to be specified when instantiating driver Apply DBD's column name mangling when building WHERE clauses
adds 480af58 Allow extra DBI->connect options with Driver->new( connect_options => {} ) Add missing ) in synopsis found while looking for a place to document connect_options (which there isn't)
adds a160019 Use DBD's column name decoration in ORDER BY clauses too (Is this right? When does a class have no datasource?)
adds 793964e Make _mk_term an overridable method
adds 53be7db Disable triggers in BaseCache when doing the first PK-only load.
adds b6d9bd3 Fixed a nasty bug where the Driver modifies the $term passed in arguments for '-and' so if you reused $terms twice, -and gets transformed to a -or
adds 91da404 s/carp/croak/; # finally
adds b8cba2d Uncommented the tests for "croak"
adds 05fbbdd Let's also croak for column('inexistent')
adds 0bb88f9 Don't trust the object to clone itself (TypePad needs to override clone to stay compatible with MT::Object::clone, which removes key columns' values from clones) BugzID: 24363
adds 9501635 back this out re engineering list thread BugzID: 24363
adds 484a9b4 require Class::Trigger
adds a44b47d Keep track of changed columns and issues UPDATE only handles them Bugzid:24369
adds 6eb7a7a use $obj, not $orig_obj so the triggers take effects
adds d1fdd8c Add a few tests for primary key functions Add some perldoc to BaseObject, so next time I forget primary_key != properties->{primary_key}, I can at least RTFM BugzID: 24158
adds a7b37fb Add tests about cloning Treat primary_key_tuple as the arrayref it is BugzID: 24158
adds d2912e2 This should do the UPDATE optimization
adds 42ef340 Added no_changed_flag hack to column(). Bugzid:24369
adds eaee2f8 Should call post_* triggers even if update() is no-op Bugzid:24498
adds cc8e785 Some modules uses set_values() as a public API. Don't break it. Added set_values_internal, that doesn't set update flag on columns Bugzid:24461,24457,24456
adds b28c159 Give object callbacks the original object too BugzID: 24183
adds e5d8d7d correct form for mod_perl 2.0
adds 13d8a75 Added changelog, updated copyright date
adds 4da306a clear changed_cols after save
adds eb9c753 added is_changed utility method
adds c9fd750 pass in $terms and $args so that base_statement can use
adds 7088981 HAVING support, especially useful on View classes
adds 02425c8 Fix alias bug Fix aggregate empty string warning Fix test on alias COUNT(*) -> count
adds efbf3f1 HAVING test
adds 04bcb74 add View having test .... but DBD::SQLite seems broken! :/
adds f6f69b4 Reworked the changes made yesterday with Tatsuhiko to limit having clause to aggretated columns (MAX, SUM, COUNT...) a bit ugly but it seems to work
adds 872f776 Adding grouped by aggregates in HAVING conditions
adds 8c9b8ff Typo
adds 50694f6 Hope I got it right this time
adds 4d866e0 revert it
adds 8ef8eb1 Do not add terms to HAVING when it's already defined in WHERE clause. A bit ugly.
adds c414933 Don't use HAVING if view class has datasource. It's a nasty hack, yeah. Bugzid:25491
adds b42ff90 Don't die during Apache startup, when the request object isn't yet defined
adds 693e952 Refactored lookup_multi to use an OR search in the case of a single-column PK
adds 704dfb0 * Moved special lookup_multi object into BaseCache and made it more generic. * Improved it so that BaseCache->lookup_multi looks first for all cached items, then gets the list of not-found IDs and does a lookup_multi on the rest, so that the backend DBI driver can do an OR search.
adds 7a462cf Updated changes doc, again
adds 36825f6 fix POD of DBD::SQLite, which broke documentation on search.cpan.org
adds b6eb96e Fixed a problem with detection of already existing where clauses
adds a6879b6 Moved primary_key_to_terms to the Object/Class Simplified a bit driver code Added test for what should return this sub
adds fca3091 Fixed a bug where changed_cols weren't cleared after writing out changes to db Added tests for it
adds dacf824 - Fixed a bug where primary-key less table cannot work properly! - Added is_pkless(), to try to be more explicit, but has_primary_key() and is_pkless are still a bit confusing IMHO. - Added corresponding tests
adds 7914e9b Removed the line that should have been deleted in my previous change no more pre_save on remove
adds 335177b return undef right away if one tries to lookup without an 'id'
adds b582811 0 might be a valid id in some database. Test against undef.
adds d7dadb4 Yesterday I forgot to checkin this... sorry to tired :)
adds 9e48087 Added test for "0" primary key
adds b9e87d3 Added a cache_class lookup in the Class of the object cache_class is optional but will save your life if you tend to rebless your objects
adds 5ad334c Partition driver now works with pk-less classes: - Class->remove will pass in terms to the get_driver method - $obj->save etc will pass in $obj->column_values
adds 3f3fcd9 When constructing a statement, ignore adding SELECT columns for any that are already in the statement. They could have been put there by a view, for example.
adds a7b15a7 Added deflate/inflate methods. The idea is that these are perfect for caching things in memcached. The memcached driver hasn't yet been modified to use them, though.
adds 98e716a * Fixed cache key when adding items not in cache through lookup_multi. * Chaining of caching drivers works now. * Added general inflate/deflate functionality. The BaseCache just does clone_all on deflate, and nothing on inflate. But other classes can do something different. * Added a lot more tests for deflate/inflate stuff in cache driver.
adds b77324f * Created a new cache_object method in all drivers. In a caching driver, it actually caches an object, then passes the object along to the fallback so that it can cache it, as well. * Moved caching of loaded objects out into BaseObject, so that they're not part of the driver itself. This allows the driver to call deflate in a way that won't lead to an infinite loop. * Partition drivers should never call BaseObject class or object methods, mainly in [...]
adds 00c2d0e Call Class->driver->lookup instead of just Class->lookup. Drivers should only ever talk to drivers.
adds a2effab * Search now adds items to the cache properly. * Moved generic list/iterator return functionality to the base driver.
adds 1f29ca7 Fixed number of tests
adds 33db48a Don't attempt to cache objects returned in a search query when fetchonly is specified, because they won't be complete.
adds 50878bb The __cached flag is now a per-cache-driver thing, so that even if the object is cached in memcached, the memory cache can still have a chance to cache it.
adds cdb8438 * If an object is already cached in the outer cache layer, don't bother sending it to a lower-caching layer for caching. Assume that it's already cached there. * Localize $args->{fetchonly} when rewriting search query, so that we don't make the results uncacheable.
adds 664c133 Memcached caching driver should use object's inflate/deflate before caching the object.
adds 26b99e0 Allow use of DOD_DEBUG environment variable, be explicit on sigils
adds 29eb789 Fix a problem when requesting an iterator for a query that returns a null set. In that case an undef value was returned instead of an iterator wrapped around an empty array.
adds a0f6b3d Localize %Cache to this scope, someone revert if I'm totally offbase here.
adds 8be3f5c Stylistic nits, use warnings, brace style map/grep, no return undef
adds a49980d Stylistic Change, use spaces within map brace style
adds 3196e78 There's an edge case where we don't get exactly back the number of items that we requested from the cache, BUT we don't need to get any more. Very strange. But anyway, this was causing us to give DBI->lookup_multi an empty array ref of PKs, which generates mangled SQL. This patch fixes that.
adds 8420271 Add has_a feature to Data::ObjectDriver
adds 4b1dc98 Implement internal cache, tighten up generated methods
adds daff53f Tweak plurality, held off on cactus -> cacti :)
adds bec2f6e Change default naming of generated methods, using _obj and _objs suffixes
adds a2a9773 errant paste
adds d611884 Support composite keys, yeah\!
adds b95a3df Make an _obj method for simple column references too End sub assignments with semicolons
adds f4233b6 Don't limit has_a methods to one per class, by making has_a() args an array instead of a hash Make sure to return a real reference to objects fetched by cached has_a() methods, so we don't drop it immediately Turn off reference strictness in smaller scopes (?)
adds a223ac4 Updated to flush cache.
adds f681b79 Switch order of is_pkless and has_primary_key tests
adds bfdc21c Oops, didn't mean to commit this.
adds 2986b8b Added begin_work, and made it work better with commit and rollback.
adds 2f10e33 Need to actually load a class before you can inherit from it...
adds 23310ec Added IN clause handling and reduced usage of expensive 'column' method.
adds 1ed0fcf Make sure we explicitly return 1 so that old style TypePad that looks for a true return won't bork
adds bc46c1b Don't let spring-into-existence behavior of 'exists' cause false negative lookups BugzID: 28470
adds e2c2b54 Do a direct set of the column value rather than go through the accessor since this is supposed to be an internal setter.
adds 9ba338f Merge unfortunate set of changes on a tag here.
adds ff805a7 Added support for table prefixes.
adds 9f0c9dc performance optimization
adds 62c4373 Merged in the relevant changes from the archetype-0.4 branch. All tests still pass, which is good.
adds aca4447 Merged in relevant changes from archetype-0.6 branch.
adds 2ce4766 The very beginning of portable error codes across databases.
adds 70ac8c0 In the new D::OD trunk, set_values_internal was changed so that it doesn't actually call the named methods on the object to set the column values.
adds ee1e348 Checked in has_a tests in the new repo
adds 155f4f4 email more people
adds 06d995d Support JOINs against multiple tables.
adds c88ab73 In lookup methods, pass through a flag in the arguments hash that notes that the original query was based on primary key.
adds eae970b Changed the API slightly for adding explicit JOINs. This makes more sense, rather than trying to guess at the table on the left side of the join from the tables specified in $stmt->from. So, added add_join method to explicitly add a join.
adds fefd20f Make sure the args to save() get passed down to insert() and update()
adds 87fc0e9 Oh, that's what that does BugzID: 31377
adds 64d55c6 Added a clear_cache method to clear out the cache.
adds 950552c Added the ability to specify FOR UPDATE.
adds 6b9c529 Added support for specifying additional terms for an UPDATE clause.
adds 308dfd3 Fairly simple and straightforward (for now, at least) profiling module that counts queries and can keep track of the most frequent queries.
adds da212ee Cleaned up the reports using Text::SimpleTable.
adds bdf545a Added an optional cache_version method that object classes can define, if they want to version their cache entries. There's no default of 1.0 or anything, because having a default would break backwards-compatibility.
adds 528d652 Don't attempt to cache an object in a disabled driver.
adds 8f47c2d Updated version to 0.03 and added changelog for the new version.
adds 086706f SimplePartition driver, and BaseObject->has_partitions.
adds d97f092 merge back from tp1.8.9
adds 1818fd0 Change Text::SimpleTable to be an optionaal module, fail safely in the case that it's not installed. Modify tests to follow this concept, and update Makefile.PL to know about deps.
adds 3b1aba2 I forgot that begin blocks can happen before the body code of a module.
adds 2976874 Fixed an issue with remove() on cache drivers. If the class method was used, then the driver was dying.
adds f1e5263 Better style.
adds 32775fc Commit the remove() count patch and tests to the correct branch
adds 5b17052 Make sure the test count is correct so the whole test isn't busted
adds b98118e Passes all tests, but looks like there isn't a test specifically for multi-column has_a relationships. Will add that next.
adds 718fb50 Make sure that the step to create the has_a method name doesn't inadvertantly alter the column names in $column.
adds 0d435b4 whitespace only. to make next patch prettier.
adds 72e76d8 let DBD drivers say whether they can do LIMIT on DELETE statements, and how to get the unixtimestamp from them, using SQL.
adds 34d65d2 die("..\n") makes it hard to find where the code comes from.
adds c824cb6 BugID: 35866 - Add DB agnostic bulk_insert capability
adds 3005045 fix POD errors, add test for POD correctness
adds 9b8b695 return undef considered harmful
adds c6d593d perlcritic pragmas, use min amount of no strict refs
adds db86cee Add default initializer, add perl critic test and pragmas, adjust num of tests so all pass
adds 71b5f89 missed one no strict refs
adds 91f99f2 BugID: 34944 -add a new method to determine case sensitivity of the backend
adds bb7d0b2 remove local version of this cpan module
adds da61818 add documentation stubs
adds 84f542c remove silly dependencies.
adds 3993e2a our own minimal Cache::Memory so people can hack and make test without it installed.
adds a8769f5 throw error if non-digits in LIMIT clause
adds 331efcc use the t/lib
adds 889b05b POD for this module
adds d32486a POD for SimplePartition
adds b854bb0 More descriptive POD for properties
adds 845b2f0 Some docs for SQL.pm (not done)
adds 5dfa11c POD for Driver::DBD base class
adds bad5979 SimplePartition is the bas*ic* driver
adds c0f77d4 POD for this constant container class
adds d60de2e Note has_a sucks right now
adds cd0834a Insure that finish() is called on our statement handle
adds 5c5a87e Correct has_a() docs Move some parts of BaseObject docs around Stub out missing BaseObject methods Correct SimplePartition docs now that I've seen BaseObject::has_partitions
adds 7b2b4f1 Fix POD errors
adds 133282b spacing
adds c79bbc1 Full POD coverage in BaseObject if you squint right, yay
adds a0ea73f Add anemic but passing POD coverage test
adds 1474fe8 Document the attributes defined with Class::Accessor in an attributes section
adds 422b9bf Document modifying methods
adds e5c7984 Document serialization methods and the error message
adds 0979b17 Add the stuff that comes after USAGE
adds 8d782e8 Test more modules with passing POD
adds b5419de Fix for mysql bulk insert of 0 rows
adds 8dbc367 fix for bug in constructing statements where add_join is called more than once
adds 11c7c5c When rendering the query frequency table, secondarily sort by query content to yield some stable sort order
adds 8efe148 a little more pod
adds f999183 Usage and subclassing POD
adds 91a29ee complete 'use base' in POD synopsis
adds 4931d00 Cache::Memcached constructor takes a hashref (not that I just spent an hour of debugging to figure that out or anything)
adds dbfe476 Get in changes that didn't make it for SQL logging in ganglia
adds 57b2eaa Added a very experimental Data::ObjectDriver::Driver::Multiplexer driver.
adds 916dc39 It seems that this is not correct. I've checked with Garth, and\ we couldn't find a reasonable reason of this being written that way speak up if you do !
adds 4ba5262 Added a post_inflate trigger, which can be useful when you want to slightly adjust the representation of the object in memory when it comes from a cache.
adds a24f4fa Added experimental upport for REPLACE INTO, the new object method is replace()
adds 2cd8f14 - Added exists() support - Made exec_multiplexed transparent: exactly as if one $method had been executed this is relevant for insert() where the original object gets updated with the fact that object has been added the datastore (changed_cols updated). so after the first insert() the other were ignored.
adds 4624436 Removed debug cruft
adds fd46376 Added 'replace' support in Partition driver
adds 3f7a36d I'm not sure this $i assignment is useful :D
adds d3ed81a Additional test coverage
adds 2b3a040 Fixed a lookup_multi issue for single-PK classes. The result set wasn't sorted as advertised in the POD documentation. BugzID: 45501
adds 9ff2a1b More changelog updates
adds 5c0f38e typo
adds 6794069 add caller tracking code to Data::ObjectDriver::debug
adds cbe2028 Oops, this time really add where clause to the debug log
adds f566332 multi lookups take arrayrefs, not arrays, oops
adds 1a37192 Added simple support of multi-partition search() to SimplePartition
adds 1d6d8a7 More doc, and straightforward support for limit => 1 arg
adds e82cfad Don't try to index into the errors map if we didn't actually get a code BugzID: 46545
adds b181aed Don't disconnect dbh that we haven't created ourselves. This was the cause of big issues with dbh caches (DBI::Role, etc...) when 'dbh' argument was passed explicitely (as opposed with 'get_dbh') which was ok.
adds 1d33b02 reversed the logic... I messed up my commit between several branches :)
adds ddcef2c - Implemented on_lookup in the Multiplexer driver, that we eventually be able to use. - Changed the base partition driver to use $obj->column_values to find the partition instead of the primary key. It makes multiplexing work... and all partition drivers should implement a way to get a partition form $terms anyway.
adds 622158f * Made the second argument to D::OD::SQL optional (defaults to the first).
adds b25c6e0 Make a deep copy of changed_cols, so changing a clone doesn't mark the original changed (?)
adds 55cd60e yuid needed for mogile, using mysql's auto-increment interferes with master-master replication
adds 83e639e ugh, wrong branch
adds ed65d5b yuid's needed for mogile storage--using the mysql autoincrement for fids means breaks master-to-master replication
adds 0a8b001 Eek, this was in an svn:external! Sorry, Ben...
adds 7814840 Eek, forgot this was in an svn:external, sorry, Ben!
adds 2508166 Added remove() support in a highly experimental fashion I need this remove because the cache layer on top of my phenotype objects don't support nofetch => 1
adds 4432897 It appears to be expensive to eval "" each time
adds 81ac81a Changed replace() to use a transaction by default for non supporting drivers
adds c12c776 Added sql_class method to DBD class, which a DBD driver may use to provide a custom Data::ObjectDriver::SQL implementation.
adds a55f043 fixed the default sql_class to Data::ObjectDriver::SQL
adds 02985be Adding active object and property name to bind_param_attributes call list.
adds 9c7f950 get_dbh for locking purpose...
adds 581e9cb Don't forget the rest
adds bdfff16 inflate/deflate structures during cache roundtrip
adds d788510 Make the tests pass in Profiling with inflate/deflate in Cache::Cache
adds f4f0a85 Extracted install_column from install_properties (it will be called from TypeCore::Object), that defines all the parameter of a column of a class.
adds f0b2190 Applied Brad Choate patch to has_column.
adds 415293a Well, there is no reason not to risk update as well. yay for multiplexed update
adds 5bfd2fa Update the 'sort' option to also accept a second form. In addition to:
adds b4374d7 Patch from sekimura to re-connect to the DB if the connection goes stale.
adds 1f56a7c Document replace() to make t/96-pod-coverage.t pass
adds b0dabd8 skip callbacks.t since it breaks with new Class::Trigger
adds 7be8d23 Upped version.
adds 40f4d9b Pass along $orig_obj even in the case where $obj is unchanged.
adds 8a25b04 Updated Changes for 0.04 based on diff.
adds bae1f0b make has_a cache code work without Scalar::Util weakref support in RHEL perl.
adds 9d13994 now it *actually* should work without Scalar::Util. silly bugs fixed
adds bd4e886 - If options are passed to Class->remove then we pass the same options to the subsequent Object->remove after internal search() - Don't generate $terms in the Multiplexer if terms are already available
adds 5d79cfb Much simpler remove() for multiplexer... which looks to work better
adds 2e83f71 - Rely on result returnd by remove to increment the remove-count, and nothing else. - Fix the exec_partition arguments in the Class context (my bad)
adds 2c6aef9 This method's prototype expects an array ref for its second arg, not an array.
adds 9b6e6bb Make sure data isn't cached if the DB operation fails.
adds b41f0d0 Partly reverting Garth's change about remove: for remove, it's probably safer to remove from the cache first
adds 3e7104a Reverting this patch, this wasn't the one I wanted to checkin
adds ccac540 here we go, this is what I wanted to check in as r381
adds 3de8b56 Condition Profiler and Data::Dumper modules based on DOD_PROFILE environment variable. BugId:54990
adds a6715dc let DSNs start with "DBI:" instead of only "dbi:" (as documented in DBD::mysql docs. otherwises weird errors result)
adds aeb57f2 Assign an empty hashref to $terms and $args (if none were supplied) before call_trigger is invoked so the pre_search trigger can apply terms and args that are communicated back.
adds 545f1e7 Added a mechanism to override the logger that's used for outputting stuff to the debug log.
adds 6aecc1c HELLO CACHE GET BugzID: 56565
adds 454ba66 Hmm, probably a better way to do this BugzID: 56565
adds 87b3d10 Hook memcached operations into debug and profiler messages BugzID: 56565
adds 72aacba Hook ram cache driver operations into debug and profiler messages BugzID: 56565
adds 56e8f0c fetch_data multiplexed
adds 7e82387 Document the faux queries used in the profiler system BugzID: 56565
adds d7f0857 Add query tracking to Apache driver
adds c02b562 Use same keywords as memcached driver POD
adds f30aac1 some see-alsos
adds 76f0ab9 Fix typo in pod docs
adds 6ae9722 Prevent warning if we pass undefined ids
adds 934008b Removed a bogus usage of alarm(). This breaks MT4 compatiblity with Windows, and also doesn't do anything useful without alarm $timeout code anyway. bugid:56543
adds ec057f6 I don't think there is a Data::ObjectDriver::errstr, so last_error is probably what we want here
adds 7707702 New argument for preventing a 'prepare_cached' call. There are times when this is always the wrong thing to do by default.
adds 70cc871 Emergency week-end fix for our $sth business
adds 09c0108 Squashed commit of the following:
adds 1ad5db7 Documentation about the new Iterator, updated Changes file
adds b9b4289 Brad Choate pointed out that missing end_query
adds 0e25e41 First checkin of the result set object. Allows a query to be constructed in abstract terms and does not load any data until necessary.
adds ff479c9 Method to return a ResultSet object.
adds 211e09f Sometimes, not everything is an entry.
adds ac35d24 Updates to support generation of parenthetic query expressions similar in style and fashion to SQL::Abstract.
adds ec15f52 Updated POD.
adds bf14d49 Rename result_idx to 'index'. Make sure we count from zero.
adds e9662ca test
adds f84f4c5 * Index starting at zero, so make sure cursor starts at -1 * Some initial POD.
adds 6308e54 Added iterator method/constructor. This allows the result set object to just perform as an iterator given an existing dataset
adds 66e1b41 Don't overwrite sort arguments in load_results()
adds 29d0426 * use add_constraint() in new() to get a effort of tuning off paging with a limit term
adds de5fdac * added is_last() * fixed a doc for prev()
adds 3a3c393 count correctly without "paging"
adds 2e21dd5 * Allow filtering of results after results have already been loaded via same add_constraint interface * Get rid of internal paging; too complex, too many bugs * Mark private functions with an '_'
adds a07211c Add clone method.
adds 30826bd Make sure clone makes a copy of the elements from the original.
adds 1a1eb40 Accessors added.
adds 3dcd284 * added *_filter methods
adds f997dd0 some handy debugging
adds c0199ff * add_offset works correctly now
adds 053390a * make non-dod-debug people happy
adds 5dc2c7a * fixed limit and offset filtering
adds 2ae655d Fixed a problem involving result sets created via 'iterator'.
adds 96ebe82 Fixed accessor to filterS
adds a98900c Changed filter to filters to be consistent BugzID: 64221
adds 5605478 Make sure to filter on new sort values.
adds 8e79809 Make sure to requery if we get a new limit or filter after we've already queried for results.
adds d0cc162 * we need to force a requery when we change 'offset' that is smaller than current one * clear_constraint() should handle _results_loaded() as well as add_constraint()
adds 563322b * fixed typo "filters"
adds 1d54116 Don't try to search when we have an iterator.
adds f0e96e1 fixing perldoc, unterminated I<
adds e2bfd46 These modules are not directly used in the driver, so let's not require them (One might be using Cache::Memcached::Fast, so let the 'cache' variable be duck typed)
adds 6e74b73 1. Always return an array ref from 'slice' 2. Have count use a 'count' query if the results aren't already loaded.
adds 865a84e Do the full select if there is a limit term. Count should take that into account, but in MySQL limit and offset are ignored for count(*) queries.
adds 41ee8e4 Make sure to put the class check after we've checked for loaded results.
adds 01d0f59 Added a full changelog for changes from 0.04 to trunk.
adds 4fb0c44 Added .shipit to list of files to skip in MANIFEST.
adds d694134 Upped version to 0.05.
adds 07fe630 Added docs for result.
adds dc80240 Fixed compilation error in perl 5.10.
adds 7730b53 Moved creation of D::OD::Iterator object inside of else block, where it's actually used.
adds 7afb888 For the resultset iterator, adding a limit where there wasn't one before shouldn't invalidate the results.
adds d862aa7 Added uncache_object() method for those objects that are cached and you'd rather not.
adds 2a5b1e3 Adding peek_next() to ResultSet
adds bdcb702 Just tested that everything is alright "Circulez, y'a rien a voir"
adds 0a5ac21 * added rewind() to move back to the start of iterator
adds 8a5fbfc * clear results if one of existing terms changed
adds 6a375e4 Added DISTINCT patch from John Berthels.
adds 16e5802 Added quick helpers for object comparison by primary key and for printing primary keys of an object
adds b58c8a4 Fix redefine warning
adds 61725de Clean up 'my' warnings
adds 81adff9 If we're going to use Perl Critic, let's atleast pass all the tests
adds f76e5af - Added documentation for the last methods I've added - Added unit tests
adds cf91c51 Standardize slice() to always return an arrayref.
adds 300a809 added 'add_index_hint' to tell MySQL to use the named index to find rows
adds 0d0ba36 Better word choice
adds 5077724 If one id has been deleted then the partition driver will typically croak on lookup - wrapping it an eval{} make this lookup_multi at least succeed.
adds 5af8ee9 Improved support for transactions in partition and caching drivers.
adds f726ea8 Reverting this because it was causing errors with type-sync workers.
adds e3563a5 - Added a new 'comment' mutators to SQL statement objects - Added a new 'comment' option to search() setting that
adds 5bc9852 Let's continue to filter but restrict to ascii chars and allow more sigils
adds d4168ef Second version of this change, re-committing...
adds 7992480 Whitespace Test
adds 50804a3 Rolling back due to possible errors in TP1-ATP registration: "don't try to begin work if dbh has autocommit turned on"
adds ef6d03e Reinstating this code since it was unlikely to be causing a registration issue, according to further investigation.
adds f505a81 Don't expect run time block eval to catch errors from the compile time 'use'
adds 83da13d added a doc for add_index_hint()
adds 1887fc1 pull out subref and added a _add_index_hint method so that a SQL subclass can override the hint technique.
adds e45cf62 Added a is_ephemeral() method which is an aweful name, but will allow users to check if the memory object has been saved to the persistent store yet. (useful in triggers).
adds 2da1cf4 Added 'window_size' for search method of BaseCache class.
adds 40e6583 Added description of what changed for my stuff
adds 686b4da Updated the name of the method "is_ephemeral" to something less fancy. In order to avoid colision with existing columns, added a "object_" prefix to make it "object_is_stored" in fine.
adds 7319b2f Added support for transactions into Multiplexer driver the callback for transactions now returns an array BugzID: 73431
adds 0e96523 Fixed an issue in the case of a transaction involving different classes using same drivers. Each $driver stores the same $dbh returned by DBIRole (in our case) but at the end of the transaction we forget to remove the stashed copy of $dbh in the lasts drivers processed. So at the beginning of the next transaction the $dbh choke because of the attributes of the cached $dbh don't match what we're trying to do.
adds db4d7ea - Added a "reuse_dbh" option to D::OD::D::DBI, if enabled it caches and reuses $dbh using the dsn as the key. - Exposed the transaction mechanism built in the drivers at the object levels: D::OD::BO->begin_work now starts a global transaction across all drivers ending with a rollback or a commit on the same class.
adds eb9fc6c I changed the code/name halfway. This is the other half
adds 80cf7eb - Handled an edge case where txn_active wouln't be set if we have an begin_work during inconsistent transaction - More importantly fix an issue where we wouldn't delete $dbh for a driver which share the reference with another driver, leading to DBI complaining loudly about AutoCommit attribute: "DBD driver has not implemented the AutoCommit attribute"
adds 4696c59 Fixed an issue where passing an empty list of @ids in lookup_multi or a void $id in lookup would confuse get_driver() because this code ref needs some data to determine the partition, and it would die if it cannot determine it.
adds 786f4c7 change the eval to '' rather than {} to actually catch old perl without weaken()
adds 3eb110c Stop errors in certain versions of SQLite
adds 309d143 Allow you to set no prepared cache at instantation time
adds 4a58636 no critic
adds 872bba9 less warnings
adds 71f2098 don't ship 9x-.t author tests
adds 146b1b0 Fixed a bug in ResultSet->slice() where return value is not a proper array ref
adds 0c67ba9 Added ->all() method to be compatible with DBIC and handiness for TT templates
adds 60d43db $resultset->slice should not pad items with undef when it's called multiple times.
adds f0c1011 Added test when slice() returns nothing
adds bfbb611 Fix warning
adds 1f2451e Automatically stop using cached statements in SQLite which silences some warnings
adds c347d7e Better debug message
adds 9f86304 Update comment
adds 453229b Check for sure that these 'will warn' routines warn (while also suppressing the warnings)
adds b91eb8b Normalize can_replace() docs Document force_no_prepared_cache()
adds 7b0bd5d Improve transaction related warnings Use Carp for these warnings as we do with errors
adds 44d4605 Reenable these tests by using a different undocumented API to clear triggers
adds c9ed3c8 add shipit config
adds fb431ac revert the _get_limit check since it causes PhenoType to issue expensive limit-less count query
adds 7e59054 fixed a typo
adds d510076 Wrap teardown() in a destroy to fix problems with permissions on Win32
adds 09f32b8 Note fixes
adds efbf742 Sort out capabilities and make them a little more regular
adds 5c7607d Add note about Pg fix
adds 05ff26c Add docs, rename
adds a19bfd4 Not needed
adds 8490dfd shush
adds 3b0286e Update
adds 4c114f8 Shush
adds 8e63ec8 added a test for add_term()
adds 46d2af5 test num++ and removed dod_debug(1)
adds 9539d1e fixed the args to sort by rating and added a case faling to get object after add_term()
adds 3365f4b added a sucesssful test case for add_term()
adds 9dc9966 Fixed https://rt.cpan.org/Ticket/Display.html?id=41880 Using Pg and 'prefix' would make DOD to die.
adds cd2139a Added information about the new google group.
adds e28950e Removed trailing spaces only - no other code change
adds b909316 Added Oracle support by integrating https://rt.cpan.org/Ticket/Display.html?id=41929 patch
adds 143e54f Added documentation about our supported/tested databases
adds 1116315 Fix POD
adds fe555bd fixed a typo in checking a symbol table. This might affect performance (for good) because previously DOD::Driver::DBD->new() ALWAYS tries to 'use' subclass modules whether it's loaded or not
adds 97c0d2c no strict is not needed here because the defined check was wrong
adds a8dd852 ok, 5.10 definitely needs this. http://search.cpan.org/~rgarcia/perl-5.10.0/pod/perl5100delta.pod#strictures_and_dereferencing_in_defined()
adds 4f4bb0f - Added a new (experimental) GearmanDBI Driver that transports sql to a worker using Gearman - Refactored ObjectDriver::Driver::DBI a bit to allow the above
adds e6e8245 Upped version to 0.06
adds 94f7147 Added more changes for 0.06
adds 911af70 Added new modules to manifest
adds dee9fa8 Avoid joining to the same table multiple times.
adds cc308fa Added on_exception_cb and retry_count parameters to the driver, to pass down to Gearman::Task
adds c1c6d13 noting a caveat on clone() for future generations
adds 62ab3d4 Looks like SQLite got smarter Thanks Emmanuel Seyman for reporting this failure RT#45186
adds 513634e Also updated the Changelog
adds c4b22f8 Test that inflate doesn't mark objects as changed
adds 8ccbdf5 By design AUTOLOAD won't advertize that GearmanDBI does rw_handle() and r_handle() so declared them explicitely
adds 53b5ebd It looks like SQLite version is more the culprit than DBD::SQLite...
adds 0b24d2e Support a task timeout.
adds a3c886e Merge inflate speedup from Yann's tree. See changelog for r211 for potential client impact. http://code.sixapart.com/trac/Data-ObjectDriver/changeset/211 http://github.com/yannk/perl-data-objectdriver/commit/3c1d410b777cdcdfebc857125d5dfb8ee8d36ad5
adds feb6518 Performance test script for inflate()
adds e08db62 missing user_id
adds 990a78f It makes sense to be consistent and to cache the object as soon as we got the data from the database.
adds db300c3 uncache objects when they are changed instead of writing to the cache
adds e1623a8 Prevent a uuv warning
adds eea338d Removes the ALPHA warning
adds 7b8b23d Fixes a warning on defined %hash on perl5.11
adds 3fbbe5f Fixes incorrect bulk insert on MySQL
adds 2bdd3b5 prepares 0.7
adds dbf22d2 Modernizes the build and gitifies it.
adds 35197aa Fixes a profiler issue when $@ is set
adds 2f8871c Adding support for $Data::ObjectDriver::RESTRICT_IO
adds 83b6f2f Adding tests and docs
adds c220faf Merge branch 'restrict-io' into mymaster
adds c97507f Increment version to 0.08 which includes RESTRICT_IO patch
adds 2eb623e Merge branch '6a-master'
adds 9e5a7c9 Fixes test plan
adds ad7c8a9 Adds Brad changes to the changelog
adds 8a14835 Updates Release Changelog date
adds 3154797 Oh... Makefiles
adds 3325c4b Adds AuthorTests to the MANIFEST
adds 2f335af Fix a reuse_dbh() when ping fails
adds c80e99c Closing changes for 0.09
adds 019a696 Checking in changes prior to tagging of version 0.09.
adds c702d8d replaced is_empty references with is_finished in docs
adds 8434f49 Fix test
adds afecaf5 Merge pull request #16 from ambs/pr/fix-tests
adds d750ee8 Checking in changes prior to tagging of version 0.10_1.
adds fcf258b Cleanup old docs
adds 1b63ffc Spelling correction
adds 2e67ac2 Merge pull request #13 from dsteinbrunner/patch-6
adds 66febe3 Spelling correction
adds f662302 Merge pull request #12 from dsteinbrunner/patch-5
adds 057cdad Spelling correction
adds 09ead64 Merge pull request #11 from dsteinbrunner/patch-4
adds 41e34be Spelling corrections
adds bc3c85e Merge pull request #10 from dsteinbrunner/patch-3
adds 94daae4 Spelling corrections
adds b87c372 Merge pull request #9 from dsteinbrunner/patch-2
adds 65daa6a Spelling corrections
adds a3b0378 Merge pull request #8 from dsteinbrunner/patch-1
adds 3b52388 Spelling correction
adds 6a7aa67 Merge pull request #14 from dsteinbrunner/patch-7
adds 0204242 Checking in changes prior to tagging of version 0.10.
adds a00c205 Add .travis.yml
adds a39ca62 improved looping example in the synopsis of the POD
adds c1a4a46 Migrate to Minilla.
adds 0dbbbca Merge pull request #17 from sixapart/migrate-to-minilla
adds eb4209a Install DBD::SQLite to run more tests on Travis CI.
adds 03e33be Use Coveralls
adds d1d91ac D:OD:D:BaseObject should pass the whole args to fallback.
adds 50a99af Fix test.
adds 18c406d Merge pull request #18 from Peatix/fix-cachedriver-doesnt-pass-args
adds 2feb869 Remove a joined table from the "FROM" phrase.
adds 9af7d0c Merge pull request #7 from movabletype/remove_joined_table_from_from
adds 4cfa74c Checking in changes prior to tagging of version 0.11.
adds ca0300c Modify sth close timing for using in end_query() and in fetch_id().
adds 2818c3e Merge pull request #19 from movabletype/modify_sth_close_timing
adds 7c7586f Checking in changes prior to tagging of version 0.12.
adds 8f3c885 Fix the order of processes changed in pullreq #19.
adds f74435f Merge pull request #20 from masiuchi/fix-pullreq-#19
adds 4ce1f1e Checking in changes prior to tagging of version 0.13.
adds 94173d2 Imported Upstream version 0.13
new 3d88571 Merge tag 'upstream/0.13'
new 781d26c Update debian/changelog
new 1afea88 Bump debhelper compatibility level to 9
new ed1a017 Update patch that fix spelling errors
new ba95f99 Remove no longer necessary sqlite_unique.patch
new 49f2356 Declare compliance with Debian policy 3.9.6
new ab69f89 Add autopkgtest-pkg-perl
new b20584c Remove unexistent inc/Module/* from d/copyright
new 4c18ea5 Fix another spelling error
new f30ceb9 Add libmodule-build-perl as build dependency
new 63c11a1 Release libdata-objectdriver-perl version 0.13-1
The 13 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.
Summary of changes:
Build.PL | 65 +
Changes | 22 +-
LICENSE | 207 +++
MANIFEST | 40 +-
META.json | 182 +++
META.yml | 123 +-
Makefile.PL | 32 -
README | 30 -
README.md | 599 +++++++++
ToDo | 2 +
cpanfile | 12 +
debian/changelog | 19 +-
debian/compat | 2 +-
debian/control | 12 +-
debian/copyright | 7 +-
debian/patches/series | 1 -
debian/patches/spelling.patch | 60 +-
debian/patches/sqlite_unique.patch | 18 -
debian/upstream/metadata | 5 +
inc/Module/Install.pm | 470 -------
inc/Module/Install/AuthorTests.pm | 59 -
inc/Module/Install/Base.pm | 83 --
inc/Module/Install/Can.pm | 81 --
inc/Module/Install/Fetch.pm | 93 --
inc/Module/Install/GithubMeta.pm | 50 -
inc/Module/Install/Include.pm | 34 -
inc/Module/Install/Makefile.pm | 415 ------
inc/Module/Install/Metadata.pm | 715 ----------
inc/Module/Install/Win32.pm | 64 -
inc/Module/Install/WriteAll.pm | 63 -
inc/PerlIO.pm | 33 -
inc/Sub/Uplevel.pm | 165 ---
inc/Test/Builder.pm | 1589 -----------------------
inc/Test/Builder/IO/Scalar.pm | 406 ------
inc/Test/Exception.pm | 144 --
inc/parent.pm | 37 -
lib/Data/ObjectDriver.pm | 22 +-
lib/Data/ObjectDriver/BaseObject.pm | 6 +-
lib/Data/ObjectDriver/Driver/BaseCache.pm | 2 +-
lib/Data/ObjectDriver/Driver/DBD/SQLite.pm | 5 +-
lib/Data/ObjectDriver/Driver/DBI.pm | 7 +-
lib/Data/ObjectDriver/Driver/MultiPartition.pm | 2 +-
lib/Data/ObjectDriver/Driver/SimplePartition.pm | 2 +-
lib/Data/ObjectDriver/ResultSet.pm | 12 +-
lib/Data/ObjectDriver/SQL.pm | 1 +
minil.toml | 4 +
t/06-errors.t | 4 +-
t/11-sql.t | 9 +-
t/31-cached.t | 9 +-
49 files changed, 1299 insertions(+), 4725 deletions(-)
create mode 100644 Build.PL
create mode 100644 LICENSE
create mode 100644 META.json
delete mode 100644 Makefile.PL
delete mode 100644 README
create mode 100644 README.md
create mode 100644 ToDo
create mode 100644 cpanfile
delete mode 100644 debian/patches/sqlite_unique.patch
create mode 100644 debian/upstream/metadata
delete mode 100644 inc/Module/Install.pm
delete mode 100644 inc/Module/Install/AuthorTests.pm
delete mode 100644 inc/Module/Install/Base.pm
delete mode 100644 inc/Module/Install/Can.pm
delete mode 100644 inc/Module/Install/Fetch.pm
delete mode 100644 inc/Module/Install/GithubMeta.pm
delete mode 100644 inc/Module/Install/Include.pm
delete mode 100644 inc/Module/Install/Makefile.pm
delete mode 100644 inc/Module/Install/Metadata.pm
delete mode 100644 inc/Module/Install/Win32.pm
delete mode 100644 inc/Module/Install/WriteAll.pm
delete mode 100644 inc/PerlIO.pm
delete mode 100644 inc/Sub/Uplevel.pm
delete mode 100644 inc/Test/Builder.pm
delete mode 100644 inc/Test/Builder/IO/Scalar.pm
delete mode 100644 inc/Test/Exception.pm
delete mode 100644 inc/parent.pm
create mode 100644 minil.toml
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libdata-objectdriver-perl.git
More information about the Pkg-perl-cvs-commits
mailing list