= dm-transactions
This gem adds transaction support for datamapper. The currently
supported adapters are
* postgres
* mysql
* sqlite3
* oracle
* sqlserver
Plugin that adds foreign key constraints to associations. Currently
supports only PostgreSQL and MySQL.
All constraints are added to the underlying database, but constraining
is implemented in pure ruby.
This is core part of ruby-datamapper.
An Object/Relational Mapper for Ruby.
DataMapper sports a very accessible code-base and a welcoming community.
Outside contributions and feedback are welcome and encouraged, especially
constructive criticism. Make your voice heard! Submit a
ticket[http://datamapper.lighthouseapp.com] or
patch[http://datamapper.lighthouseapp.com], speak up
on our mailing-list[http://groups.google.com/group/datamapper/], chat with us
on irc[irc://irc.freenode.net/#datamapper], write a spec, get it reviewed, ask
for commit rights. It's as easy as that to become a contributor.
pkgsrc changes:
* simplify subst with SUBST_VARS.
* build and install shared library.
* install pkgconfig file.
package changes:
tinycdb-0.77
- bugfix release: manpage typos, portability fixes and the like
- bugfix: improper logic in EINTR handling in _cdb_make_full_write
routine which may lead to corruped .cdb file.
* Use lang/ruby/gem.mk instead of misc/rubygems/rubygem.mk.
* Add LICENSE.
* Update dependency according to gemspec.
*2.3.9 (September 4, 2010)*
Unknown, but some tests are updated.
* Use lang/ruby/gem.mk instead of misc/rubygems/rubygem.mk.
* Add LICENSE.
It is really renamed from ruby-sequel-core and changes are too may,
please refer CHANGELOG file.
* Use lang/ruby/gem.mk instead of misc/rubygems/rubygem.mk.
* Update HOMEPAGE.
* Correct LICENSE.
* Remove default value of GEM_BUILD.
CHANGES:
158[tip] 872063e42b12 2010-02-19 08:02 -0800 ged
Adding "fat gem" compatible loader, set the default RUBY_CC_VERSION.
157 ab525ca90531 2010-02-19 06:27 -0800 ged
Updated the Rakefile so it includes itself in gems. (closes#15) Thanks to flameeyes@bitbucket for
156 9c65eb905416 2010-02-18 06:52 -0800 ged
Applied patch for PGconn#async_exec to make it have the same semantics as PGconn#exec (closes#19). Thanks again to Lars Kanis for the patch.
155 b0017ac0ecb5 2010-02-17 15:30 -0800 ged
Updated the Rakefile to always default the package version even if a version can't be read from the VERSION_FILE.
154 c7d5458af696 2010-02-17 06:23 -0800 ged
Improving spec database setup function (closes#18). Thanks to Lars Kanis for another fine patch.
153 39b11474d035 2010-02-17 06:14 -0800 ged
Ack! Removing typo
152 9d54bbc98488 2010-02-17 06:10 -0800 ged
Adding a test to ensure the result encoding remains the same even when client_encoding in the connection changes.
151 31afece7c203 2010-01-18 09:15 -0800 ged
Made the 'make_header' in the extconf more clear.
150:149,148 d9c920068712 2010-01-13 20:56 -0800 pgsql
Merged
149:141 294eb6d5530b 2010-01-13 20:51 -0800 pgsql
In rspec tests, replace the pattern:
148 74fab32c2687 2010-01-11 08:15 -0800 ged
A better fix for the PGconn#block weirdness on Win32 (closes#16).
147 f8dfc1b6c51c 2010-01-06 06:17 -0800 ged
Rearranged the sections of the README.
146 0df792de2a19 2010-01-05 08:48 -0800 ged
Updating MacOS X README.
145 2894973bc63f 2010-01-04 18:28 -0800 ged
Work around broken rb_thread_select() on win32; thanks to Lars Kanis for the patch!
144 88dacdb9c97d 2010-01-04 18:16 -0800 ged
Reverted removal of PGresult::InvalidOid, fixed broken spec.
143 739cec560448 2010-01-04 17:55 -0800 ged
Ignore some generated files, documentation work, removed type OID constants.
142 38a0d2a90664 2010-01-04 17:39 -0800 ged
Applied patch for static cross-compilation of win32 gem from Lars Kanis with a few changes to
141 f31202539234 2010-01-03 11:40 -0800 ged
Updated build system
* Use lang/ruby/gem.mk instead of misc/rubygems/rubygem.mk.
* Add LICENSE.
* Remove RUBY_HAS_ARCHLIB.
* Add PKG_DESTDIR_SUPPORT.
* Private patch isn't needed any more.
version 2.8.2
* Fix: Mysql#insert_id returns invalid value when larger than 2**32.
* Use lang/ruby/gem.mk instead of misc/rubygems/rubygem.mk.
* Fix dependency according to gemspec.
* Remove default value of GEM_BUILD.
Official changes are unknown.
* initial @stmt_name make unique.
* add DBI::ForcedError class.
* Use lang/ruby/gem.mk instead of misc/rubygems/rubygem.mk.
* Remove default value of GEM_BUILD.
0.4.4
Make sure to use String representation of type constants. This fixes
the problem of MySQL values all becoming Ruby Strings instead of sane
and proper Ruby types (like Fixnum for MySQL integers, etc.) Thanks go
to http://github.com/naturalethic who suggested the fix at
http://github.com/Pistos/m4dbi/issues/#issue/2/comment/123677
* Use lang/ruby/gem.mk instead of misc/rubygems/rubygem.mk.
* Add LICENSE.
* Fix dependency according to gemspec.
Changes are unknown, but may be some bug fixes.
* Add LICENSE.
* Add proper dependency.
* Remove default value of GEM_BUILD.
= CHANGES
== 1.2.2: 2010-07-04
* Supported ActiveRecord 2.3.8 and Rails 2.3.8.
* [#37] Fixed gem dependencies in Rakefile. [zachwily]
* Fixed a bug that setting 'false' but 'nil' is returned. [Hideyuki Yasuda]
* Supported non-String attribute value as LDIF value. [Matt Mencel]
* Worked with a LDAP server that uses 'objectclass' not 'objectClass' as
objectClass attribute name. [Tim Hermans]
* [#41] Provide SASL-option support, primarily for authzid
[Anthony M. Martinez]
* [#43] Error with to_xml [ilusi0n.x]
* [#44] Accept '0' and '1' as boolean value [projekttabla]
* [#27429] Fixed inverted validatation by validate_excluded_classes
[Marc Dequ«²nes]
* Supported DN attribute value for assosiation replacement.
[J«Órg Herzinger]
Please refer http://dev.mysql.com/doc/refman/5.1/en/news-5-1-50.html
for full changes .
InnoDB Notes:
InnoDB Plugin has been upgraded to version 1.0.11. This version is
considered of General Availability (GA) quality.
In this release, the InnoDB Plugin is included in source and binary
distributions, except RHEL3, RHEL4, SuSE 9 (x86, x86_64, ia64),
generic Linux RPM packages, and any builds produced with the icc
compiler. It also does not work for FreeBSD 6 and HP-UX or for Linux
on generic ia64.
Bugs fixed:
Important Change: Replication: The LOAD DATA INFILE statement is now
considered unsafe for statement-based replication. When using
statement-based logging mode, the statement now produces a warning;
when using mixed-format logging, the statement is made using the
row-based format. (Bug#34283)
Partitioning: UPDATE and INSERT statements affecting partitioned
tables performed poorly when using row-based replication. (Bug#52517)
Partitioning: INSERT ON DUPLICATE KEY UPDATE statements performed
poorly on tables having many partitions. This was because the handler
function for reading a row from a specific index was not optimized in
the partitioning handler. (Bug#52455)
The server could crash on shutdown, if started with
--innodb-use-system-malloc=0. (Bug#55581)
GROUP BY operations used max_sort_length inconsistently. (Bug#55188)
Building MySQL on Solaris 8 x86 failed when using Sun Studio due to
gcc inline assembler code. (Bug#55061)
In debug builds, an assertion could be raised when the server tried to
send an OK packet to the client after having failed to detect errors
during processing of the WHERE condition of an UPDATE
statement. (Bug#54734)
The database server could crash when renaming a table that had active
transactions. (This issue only affected the database server when built
for debugging.) (Bug#54453)
The server could crash during the recovery phase of startup, if it
previously crashed while inserting BLOB or other large columns that
use off-page storage into an InnoDB table created with
ROW_FORMAT=REDUNDANT or ROW_FORMAT=COMPACT. (Bug#54408)
For an InnoDB table created with ROW_FORMAT=COMPRESSED or
ROW_FORMAT=DYNAMIC, a query using the READ UNCOMMITTED isolation level
could cause the server to stop with an assertion error, if BLOB or
other large columns that use off-page storage were being inserted at
the same time. (Bug#54358)
A client could supply data in chunks to a prepared statement parameter other than of type TEXT or BLOB using the mysql_stmt_send_long_data() C API function (or COM_STMT_SEND_LONG_DATA command). This led to a crash because other data types are not valid for long data. (Bug#54041)
mysql_secure_installation did not properly identify local accounts and
could incorrectly remove nonlocal root accounts. (Bug#54004)
Transactions could be incorrectly committed during recovery, rather
than rolled back, if the server crashed and was restarted after
performing ALTER TABLE...ADD PRIMARY KEY on an InnoDB table, or some
other operation that involves copying the entire table. (Bug#53756)
Portability problems in SHOW STATUS could lead to incorrect results on
some platforms. (Bug#53493)
Builds of MySQL generated a large number of warnings. (Bug#53445)
With lower_case_table_names set to a nonzero value, searches for table
or database names in INFORMATION_SCHEMA tables could produce incorrect
results. (Bug#53095)
The ABI check for MySQL failed to compile with gcc 4.5. (Bug#52514)
mysql_secure_installation sometimes failed to locate the mysql
client. (Bug#52274)
Reading a ucs2 data file with LOAD DATA INFILE was subject to three
problems. 1) Incorrect parsing of the file as ucs2 data, resulting in
incorrect length of the parsed string. This is fixed by truncating the
invalid trailing bytes (incomplete multibyte characters) when reading
from the file. 2) Reads from a proper ucs2 file did not recognize
newline characters. This is fixed by first checking whether a byte is
a newline (or any other special character) before reading it as a part
of a multibyte character. 3) When using user variables to hold column
data, the character set of the user variable was set incorrectly to
the database charset. This is fixed by setting it to the character set
specified in the LOAD DATA INFILE statement, if any. (Bug#51876)
Searches in INFORMATION_SCHEMA tables for rows matching a nonexistent
database produced an error instead of an empty query
result. (Bug#49542)
On FreeBSD, memory mapping for MERGE tables could fail if underlying
tables were empty. (Bug#47139)
The my_like_range_xxx() functions returned badly formed maximum
strings for Asian character sets, which caused problems for storage
engines. (Bug#45012)
A debugging assertion could be raised after a write failure to a
closed socket. (Bug#42496)
An assertion failure occurred within yaSSL for very long keys. (Bug#29784)
See also Bug#53463.
pkgsrc changes:
- adjust dependency version numbers to match versions of packages in pkgsrc
Upstream changes:
0.15 31 Aug 2010
* pod patches from movingtarget@mackler.org
* remove .yml config file and plugin dependency
* psycopg/cursor_type.c: executemany() propagates exceptions raised by the
iterable to the caller.
* lib/pool.py: dropped logging.basicConfig() call. It messes up with
projects using logging but where no handler is installed on the root
logger.
* psycopg/cursor_type.c: exceptions raised in the columns iterator of the
copy methods propagated to the caller.
* psycopg/typecast_datetime.c: Round seconds in historical timezones to
the nearest minute.
* lib/extras.py: register_tstz_w_secs() is now no-op.
Changes 2.2.1:
* Builds again on Windows.
Changes 2.2.0:
* typecast.c: Fixed problem related to receiving None from Python
when a string was expected.
* psycopg/adapter_datetime.c: Fixed TimestampFromTicks for second
values > 59.5.
* psycopg/adapter_datetime.c: Fixed same bug for TimeFromTicks.
* Added typecasters for arrays of specific MX/Py time-related types.
* psycopg/adapter_[mx]datetime.c: Explicit cast of the SQL representation
of time-related objects.
* psycopg/adapter_binary.c: Adapt buffer objects using an explicit cast on
the string literal
* lib/pqpath.c: Fixed reference leak in notify reception.
* Notifies are collected if available after every query execution.
* lib/extensions.py: DECIMAL typecaster imported from _psycopg.
* lib/extensions.py: PY* and MX* time typecaster imported from _psycopg.
* psycopg/connection_type.c: Correctly parse keywords in connect().
* psycopg/pqpath.c: Ensure running COPY in blocking mode.
* psycopg/pqpath.c: Free the GIL in blocking operations in V2 COPY FROM.
* psycopg/pqpath.c: Evaluate Python objects only once outside the COPY I/O
loops.
* Fixed problem with asynchronous NOTIFYs.
* Integrated async pacthes from Jan's git tree.
Upstream changes:
0.789 (06.23.2010) - John Siracusa <siracusa@gmail.com>
* Added support for SELECT FOR UPDATE and other forms of locking
(Initial patch by Kostas Chatzikokolakis)
* Fixed some POD typos (RT 58405)
0.788 (05.22.2010) - John Siracusa <siracusa@gmail.com>
* Fixed a bug that prevented function calls like now() from being
properly inlined, even when allow_inline_column_values was set
to a true value. (Reported by David Bourget)
* The Loader/auto-init system will now automatically set the
allow_inline_column_values attribute to a true value when a
column has a default value that looks like a function call.
* Fixed a non-numeric warning with development releases of Math::BigInt.
* Fixed SQL reserved word quoting bug. (Reported by Taric Mirza)
* Avoid stringifying exception objects when setting error().
(Suggested by Kostas Chatzikokolakis)
0.787 (04.27.2010) - John Siracusa <siracusa@gmail.com>
* Added remarks column attribute. (Patch by Adam Mackler)
* Improved error message generated by get_objects_from_sql() when
an unknown column is encountered.
* Added support for Rose::DB's keyword_function_calls attribute.
* Added dedicated timestamp with time zone column type.
* Inflate triggers now work correctly with lazy-loaded columns.
(Reported by Alex Karelas)
* Failure to have any valid registered data sources no longer causes
a fatal error when looking up default column sequence names during
class setup.
pkgsrc changes:
- import package for newly introduced dependency DateTime::Format::Oracle
Upstream changes:
0.762 (06.23.2010) - John Siracusa <siracusa@gmail.com>
* Support for Rose::DB::Object 0.789.
0.761 (05.22.2010) - John Siracusa <siracusa@gmail.com>
* Support for Rose::DB::Object 0.788.
* Detect and report problems caused by DBD::mysql versions that fail to
set the Active database handle attribute back to a true value when
mysql_auto_reconnect is set. (Reported by Matt S. Trout and Kostas
Chatzikokolakis)
0.760 (04.28.2010) - John Siracusa <siracusa@gmail.com>
* Moved version number back to three places after the decimal in order to
placate Unix package management systems. (Suggested by Matt S. Trout)
0.7591 (04.27.2010) - John Siracusa <siracusa@gmail.com>
* Corrected skip counts in MySQL tests.
0.759 (04.27.2010) - John Siracusa <siracusa@gmail.com>
* Fixed some inheritance dead ends (Reported by Matt S. Trout)
* Corrected parse_array()'s value unescaping (RT 56112)
* Added timestamp with time zone parsing/formating methods.
* Improved Oracle date/time parsing and formatting.
* DateTime::Format::Oracle is now a prerequisite (see above).
pkgsrc changes:
- adjust dependencies
Upstrean changes:
0.43 Sun Jul 25 01:00:34 UTC 2010
- add dep for MooseX::NonMoose for the use_moose=1 option
0.42 Sat Jul 24 23:14:27 UTC 2010
- add use_moose=1 to loader options by default for create=static
0.41 Wed Apr 28 08:42:13 EDT 2010
- allow configuring ResultSets using the SchemaProxy trait
pkgsrc changes:
- adjusting dependencies
Upstream changes:
0.49 11 April 2010
* uri_for_view_on_single_result() will return uri for 'view' action,
regardless of value of can_write().
0.50 13 May 2010
* fix make_primary_key_string() to get rid of bad sprintf() call
0.51 19 May 2010
* added use_request_uri_for_path to test MyApp to fix
test failures with Catalyst::Runtime 5.80024
Upstream changes:
0.39 Fri Mar 26 20:24:58 PDT 2010
- mysql: TEXT->LONGTEXT
- mysql: when reverse engineering, transform a default of
CURRENT_TIMESTAMP into the more common NOW()
- mysql: fix reverse-engineering of empty string default
Upstream changes:
0.13 2010-05-21 18:20:00
- Changing resolution of tests to not use seconds, RT #48385
- Changing comparison in tests to support Test::More 0.96, RT #57746
Upstream changes:
2010-08-11 Patrick Galbraith <patg@patg.net> (4.017)
* BUG #60085, Andreas Koenig's patch for DBI changes
* Updated documents
2010-07-10 Patrick Galbraith <patg@patg.net> (4.016)
* Disabled mysql_bind_type_guessing due to one performance issue
querying on a indexed character column unquoted will mean the index
is not used
* Fixed int types that should be bools
2010-07-09 Patrick Galbraith <patg@patg.net> (4.015)
* BUG #56664 fixed t/40blobs.t skip_all logic (W. Phillip Moore)
* BUG #57253 Fixed iteration past end of string (crash). (Chris Butler)
* Added a new parameter for old behavior- mysql_bind_comment_placeholders which
will make it possible to have placeholders bound for those who really
want that behavior.
* Fixed bind_type_guessing - always on now
2010-04-14 Patrick Galbraith <patg@patg.net> (4.014)
* BUG #30033 Fixed handling of comments to allow comments that contain characters
that might otherwise cause placeholder detection to not work properly
* BUG #53844, Fix for memory leak in stats. (Gregory Burmistrov)
* BUG #49719, Fix for handling of NULLs in prepared statements (Gert Pache)
* BUG #55627, Fix for testing failure due to strict mode (Yves)
* BUG #51784, Fix for mysqladmin on Windows in Makefile (Zeeshan Muhammad)
* BUG #41630, Typo in Makefile
* Had to define true and false in dbdimp.h. Didn't work out of the box on Linux
* Fix an old and very obscure bug that can lead to corruption of the database
free-page list when incremental_vacuum is used.
Changes 3.7.1:
* Added new commands SQLITE_DBSTATUS_SCHEMA_USED and SQLITE_DBSTATUS_STMT_USED
to the sqlite3_db_status() interface, in order to report out the amount of
memory used to hold the schema and prepared statements of a connection.
* Increase the maximum size of a database pages from 32KiB to 64KiB.
* Use the LIKE optimization even if the right-hand side string contains no
wildcards.
* Added the SQLITE_FCNTL_CHUNK_SIZE verb to the sqlite3_file_control()
interface for both unix and windows, to cause database files to grow in
large chunks in order to reduce disk fragmentation.
* Fixed a bug in the query planner that caused performance regresssions
relative to 3.6.23.1 on some complex joins.
* Fixed a typo in the OS/2 backend.
* Refactored the pager module.
* The SQLITE_MAX_PAGE_SIZE compile-time option is now silently ignored.
The maximum page size is hard-coded at 65536 bytes.
* script syntax error
* Fixed memory corruption issue introduced in 2.0.3 with replicating large rows
* cloneNodeFinish() references the proper column in sl_sequence
* Newer versions of flex have changed yyleng from an int to a size_t
instead of referencing the extern yyleng directly we use the function
yyget_leng() and have added a configure check to confirm that the version
of flex we use is not too old.
* Memory leak fixes
* Various documentation fixes
* cloneNodeFinish() called updateRelOid() that ws looking at wrong tab_id
sl_sequence but the column is named seq_id.
* Fixed mistyped variable name in ShouldSlonyVacuumTable
Upstream changes:
2.0001 Aug 22 12:03:00 2010 PDT
- Simply reading a hash or array element no longer causes autoviv-
ification. (Dereferencing it does still.) This makes DBM::Deep
comply with Perl's behaviour (RT#60391).
Makefile.PL is not groked by Perl's 5.12.1 ExtUtils::MakeMaker). As
a side effect fix PERL5_PACKLIST.
- While here add dependency on databases/p5-DBD-postgresql.
Bump PKGREVISION to 3.
to trigger/signal a rebuild for the transition 5.10.1 -> 5.12.1.
The list of packages is computed by finding all packages which end
up having either of PERL5_USE_PACKLIST, BUILDLINK_API_DEPENDS.perl,
or PERL5_PACKLIST defined in their make setup (tested via
"make show-vars VARNAMES=..."), minus the packages updated after
the perl package update.
sno@ was right after all, obache@ kindly asked and he@ led the
way. Thanks!
Changes since version 2.11.10:
- [setup] Fixed output sanitizing in setup script, see PMASA-2010-4 for
more details.
- [core] Fixed various XSS issues, see PMASA-2010-5 for more details.
Upstream changes:
2.0000 Jul 18 14:30:00 2010 PDT
- THIS VERSION IS NOT FULLY COMPATIBLE WITH 1.002x.
- This version is practically identical to the previous dev
release. See 1.9999_01, below, for all the hype.
- Also, a memory leak caused by misuse of field hashes has
been fixed.
- perl 5.8.4 is now required.
1.9999_02 Jul 11 13:02:00 2010 PDT
(This is the second developer release for 2.0000.)
- Fixed a broken test
- Fixed compilation and overloading under perl 5.8.x
1.9999_01 Jun 27 14:22:00 2010 PDT
(This is the first developer release for 2.0000.)
- THIS VERSION CHANGES THE FILE FORMAT.
- Databases from DBM::Deep 1.0003 and higher can still
be opened.
- Newly-created databases automatically use the version 2.x
format (numbered 4 internally), which version 1.x
cannot open.
- The optimize method, since it copies everything to a new
database, upgrades it.
- There is a new db_version method.
- Support for perl 5.6 has been dropped. We now require 5.8. 5.6
users can still use version 1.0025. If anyone really needs 5.6
support in version 2.x, we can add it back again, but would pre-
fer not to. Bug fixes may be back-ported to 1.002x if requested.
- The File back end now supports Unicode. This is only supported
for new databases. Old databases in the DBM::Deep 1.0003 format
will have to be upgraded for this to work.
- New external_refs mode, which allows objects retrieved from the
database to hang on to the corresponding database entries, keep-
ing them alive, even after all references to them from the data-
base itself have been deleted.
- Numeric comparison of DBM::Deep objects now works. Different
objects used to compare equal. And there were uninitial-
ized warnings.
- Deletions now work properly in the DBI back end. Deleting an
array or hash referenced by two keys in the database used to
be a no-op.
pkgsrc changes:
- adjust dependencies according to META.yml
Upstream changes:
0.07001 2010-07-24 21:28:08
- put is_deferrable => 1 back into default attributes for belongs_to
- fix Postgres sequence detection for qualified sequences
- detect DOS line ends in table/column comments and convert to \n
- added use_moose option
- always mark pk columns is_nullable=0
- fix unique constraint names for SQLite (actual names break ->deploy)
- fix bug in qualify_objects that would add schema to relnames
- better type info for Informix, except for DATETIME precision and
INTERVAL support
- better type info for DB2
- fix some newly-introduced test bugs
- fix composite PKs getting marked is_auto_increment on SQLite
0.07000 2010-05-22 23:40:15
- added qualify_objects option to prepend db_schema to table names
- fix for negative numeric default values
- sequence is detected for Oracle
- fix for SQLite is_auto_increment detection when table is empty (hobbs)
- rescan now reloads all tables
- minor type info improvements for all DBs
- fix erroneous default_value for MySQL NOT NULL columns (RT#57225)
- remove is_deferrable => 1 from default for belongs_to rels
- better type info for Oracle
- preliminary Informix support
- unregister dropped sources on rescan
- added 'preserve_case' option with support for all DBs where it makes
sense; removed the MSSQL 'case_sensitive_collation' and the
Firebird/InterBase 'unquoted_ddl' options in favor of it.
- support CamelCase table names and column names (in case-preserving
mode) at the v7 naming level
- rewrite datetime default functions as \'current_timestamp' where
possible (except for Sybase ASE) to ease cross-deployment
- use column_info instead of select to get Oracle column list (RT#42281)
- match quotes in MySQL parser in more places (RT#42101)
- fix unique detection in DB2 for multiple schemas (RT#39622)
- fix column name collisions with methods (RT#49443)
- fix loading MySQL views on older MySQL versions (RT#47399)
0.06001 2010-04-10 01:31:12
- fix type info for MSSQL
- fix MSSQL collation detection on freetds tds version 8.0
0.06000 2010-04-06 01:12:25
- better type info for MySQL
- initial MySQL data type tests (jhannah)
- don't set result_namespace if it's 'Result'
- support for MSSQL databases with case sensitive collation, manually
overridable with 'case_sensitive_collation' option
- do not try to detect driver and rebless when used with a custom
'loader_class'
- suppress 'bad table or view' warnings for filtered tables/views
- croak if several tables reduce to an identical moniker (ribasushi)
- better type info for Sybase ASE
- better type info for Pg: sets sequence for serials, handles numerics
without precision
- better _tables_list for MSSQL
- pick up views in SQLite too
- better rel inflection using Lingua::EN::Inflect::Phrase
- cascade_delete and cascade_copy are turned off for has_many/might_have
by default, and belongs_to has on_delete => 'CASCADE', on_update =>
'CASCADE' and is_deferrable => 1 by default, overridable via
relationship_attrs
- added config_file option for loading loader options from a file
- set inflate_datetime => 1 for 'AS getdate()' computed columns in
Sybase
- Firebird support
- use introspection pragmas instead of regexes to introspect SQLite
(hobbs)
- generate POD for refs correctly from column_info
- fix tables list, fk introspection and type info for SQL Anywhere
Upstream changes:
Version 1.31, released August 16th, 2010
----------------------------------------------
[Bug fixes]
* Fix misbehaviour of DELETE/UPDATE for tables with only basic capabilities
and no matching where clause (reported by H.Merijn Brand and Drew ...)
* Fix some column identifier splits to respect quoted tables
[Improvements]
* Optimized some core routines between 25% and 50%.
0.43 1st August 2010
* Changes to build with BDB 5.1
- Dropped support for Server option when creating an environment.
* Documantation updates.
RT# 59202
* Fixed compilation error with MS Visual Studio 2005
RT# 59924
This problem results mysqld to exit on start up.
5.1/i386 5.1/amd64 5.99.38/i386 5.99.38/amd64
my_time_t int32_t int64_t int32_t int64_t
time_t int32_t int32_t int64_t int64_t
I confirmed to mysqld running on these four case except 5.99.38/i386.
Bump PKG_REVISION.
Please refer http://dev.mysql.com/doc/refman/5.1/en/news-5-1-49.html
for full changes.
* InnoDB Plugin has been upgraded to version 1.0.10. This version is
considered of General Availability (GA) quality.
In this release, the InnoDB Plugin is included in source and binary
distributions, except RHEL3, RHEL4, SuSE 9 (x86, x86_64, ia64), and
generic Linux RPM packages. It also does not work for FreeBSD 6 and
HP-UX or for Linux on generic ia64.
Bugs fixed:
* Security Fix: After changing the values of the innodb_file_format or
innodb_file_per_table configuration parameters, DDL statements could
cause a server crash. (Bug#55039)
* Security Fix: Joins involving a table with with a unique SET column
could cause a server crash. (Bug#54575)
* Security Fix: Incorrect handling of NULL arguments could lead to a
crash for IN() or CASE operations when NULL arguments were either
passed explicitly as arguments (for IN()) or implicitly generated by
the WITH ROLLUP modifier (for IN() and CASE). (Bug#54477)
* Security Fix: A malformed argument to the BINLOG statement could
result in Valgrind warnings or a server crash. (Bug#54393)
* Security Fix: Use of TEMPORARY InnoDB tables with nullable columns
could cause a server crash. (Bug#54044)
* Security Fix: The server could crash if there were alternate reads
from two indexes on a table using the HANDLER interface. (Bug#54007)
* Security Fix: Using EXPLAIN with queries of the form SELECT
... UNION ... ORDER BY (SELECT ... WHERE ...) could cause a server
crash. (Bug#52711)
* Security Fix: LOAD DATA INFILE did not check for SQL errors and sent
an OK packet even when errors were already reported. Also, an assert
related to client-server protocol checking in debug servers
sometimes was raised when it should not have been. (Bug#52512)
* Fix a potential database corruption problem that can result if the same
database file is alternately written by version 3.7.0 and 3.6.23.1.
* Fix a possible performance regression caused by the introduction of automatic
indexing.
Pkgsrc changes:
- adjust dependencies
- set PERL5_MODULE_TYPE to Module::Install::Bundled
Upstream changes:
0.08123 2010-06-12 14:46 (UTC)
* Fixes
- Make sure Oracle identifier shortener applies to auto-generated
column names, so we stay within the 30-char limit (RT#58271)
- Oracle sequence detection now works across schemas
- Fix a Storage/$dbh leak introduced by the migration to
Try::Tiny (this is *not* a Try::Tiny bug)
- Fix corner case of count with group-by over a 1:1 join column
where the selector ends up with column name clashes
- POD fixes (RT#58247)
* Misc
- Test suite default on-disk database now checks for Win32
fail-conditions even when running on other OSes
0.08122 2010-06-03 17:41 (UTC)
* New Features
- Add DBIx::Class::FilterColumn for non-ref filtering
- ::Storage::DBI now correctly preserves a parent $dbh from
terminating children, even during interpreter-global
out-of-order destruction
- dbicadmin supports an -I option with the same semantics as
perl itself
- InflateColumn::DateTime support for MSSQL via DBD::Sybase
- Millisecond precision support for MSSQL datetimes for
InflateColumn::DateTime
- Oracle-specific hierarchical query syntax support:
CONNECT BY (NOCYCLE) / START WITH / ORDER SIBLINGS BY
- Support connecting using $ENV{DBI_DSN} and $ENV{DBI_DRIVER}
- current_source_alias method on ResultSet objects to
determine the alias to use in programatically assembled
search()es (originally added in 0.08100 but unmentioned)
- Rewrite/unification of all subselecting limit emulations
(RNO, Top, RowNum) to be much more robust wrt complex joined
resultsets
- MSSQL limits now don't require nearly as many applications of
the unsafe_subselect_ok attribute, due to optimized queries
- Support for Generic Subquery limit "emulation" - awfully slow
and inefficient but works on almost any db, and is preferred
to software limit emulation
- Sybase ASE driver now uses SET ROWCOUNT where possible, and
Generic Subquery otherwise for limit support instead of always
using software limit emulation
- create_ddl_dir (and derivatives) now attempt to create the given
$ddl_dir if it does not already exist
- deployment_statements now automatically supplies the current RDBMS
version to SQLT producer_args for MySQL, Pg, SQLite and Oracle
* Fixes
- Fix nasty potentially data-eating bug when deleting/updating
a limited resultset
- Fix find() to use result_class set on object
- Fix result_class setter behaviour to not mistakenly stuff attrs.
- Don't try and ensure_class_loaded an object. This doesn't work.
- Fix as_subselect_rs to not inject resultset class-wide where
conditions outside of the resulting subquery
- Fix count() failing with {for} resultset attribute (RT#56257)
- Fixed incorrect detection of Limit dialect on unconnected $schema
- update() on row not in_storage no longer throws an exception
if there are no dirty columns to update (fixes cascaded update
annoyances)
- update()/delete() on prefetching resultsets no longer results
in malformed SQL (some $rs attributes were erroneously left in)
- Fix dbicadmin to allow deploy() on non-versioned schema
- Fix dbicadmin to respect sql_dir on upgrade() (RT#57732)
- Update Schema::Versioned to respect hashref style of
connection_info
- Do not recreate the same related object twice during MultiCreate
(solves the problem of orphaned IC::FS files)
- Fully qualify xp_msver selector when using DBD::Sybase with
MSSQL (RT#57467)
- Fix ::DBI::Storage to always be able to present a full set of
connect() attributes to e.g. Schema::Versioned
- Fix Oracle auto-inc trigger detection of "INSERT OR UPDATE"-type
triggers
* Misc
- Reformatted Changelog \o/
- DBIC goes git://git.shadowcat.co.uk/dbsrgits/DBIx-Class.git
- Allow developers to skip optional dependency forcing when working
from a checkout
- Add a warning to load_namespaces if a class in ResultSet/ is not
a subclass of DBIx::Class::ResultSet
- All DBIC exception-handling switched to Try::Tiny
- All DBIC modules are now free of imports via namespace::clean
- Depend on optimized SQL::Abstract (faster SQL generation)
- Depend on new Class::Accessor::Grouped reintroducing optional use
of Class::XSAccessor (just install C::XSA and get lightning fast
column accessors)
0.08121 2010-04-11 18:43:00 (UTC)
- Support for Firebird RDBMS with DBD::InterBase and ODBC
- Add core support for INSERT RETURNING (for storages that
supports this syntax, currently PostgreSQL and Firebird)
- Fix spurious warnings on multiple UTF8Columns component loads
- DBIx::Class::UTF8Columns entered deprecated state
- DBIx::Class::InflateColumn::File entered deprecated state
- DBIx::Class::Optional::Dependencies left experimental state
- Add req_group_list to Opt::Deps (RT#55211)
- Add support for mysql-specific STRAIGHT_JOIN (RT#55579)
- Cascading delete/update are now wrapped in a transaction
for atomicity
- Fix accidental autovivification of ENV vars
- Fix update_all and delete_all to be wrapped in a transaction
- Fix multiple deficiencies when using MultiCreate with
data-encoder components (e.g. ::EncodedColumn)
- Fix regression where SQL files with comments were not
handled properly by ::Schema::Versioned.
- Fix regression on not properly throwing when $obj->relationship
is unresolvable
- Fix the join-optimiser to consider unqualified column names
whenever possible
- Fix an issue with multiple same-table joins confusing the join
optimizier
- Add has_relationship method to row objects
- Fix regression in set_column on PK-less objects
- Better error text on malformed/missing relationships
- Add POD about the significance of PK columns
- Fix for SQLite to ignore the (unsupported) { for => ... }
attribute
- Fix ambiguity in default directory handling of create_ddl_dir
(RT#54063)
- Support add_columns('+colname' => { ... }) to augment column
definitions.
Upstream changes:
Version 1.30, released August 1st, 2010
----------------------------------------------
[Bug fixes]
* remove blib directory from distfile
Version 1.29, released August 1st, 2010
----------------------------------------------
[Bug fixes]
* add some getters as documented in SQL::Statement::Structure
(fixes RT#59834, thanks John Wiersba)
* add missing import of function croak to SQL::Statement::Term::ColumnValue
* fix assignment of parser result (doesn't run with perl-5.13.3)
Upstream changes:
Changes in DBI 1.613 (svn r14271) 22nd July 2010
* Fixed Win32 prerequisite module from PathTools to File::Spec.
* Changed attribute headings and fixed references in DBI pod (Martin J.
Evans)
* Corrected typos in DBI::FAQ and DBI::ProxyServer (Ansgar Burchardt)
pkgsrc changes:
- adjust dependencies
Upstream changes:
# ----------------------------------------------------------
# 0.11006 2010-06-03
# ----------------------------------------------------------
* Fix Producer::Oracle varchar2 without size def (ORA-00906: missing right
parenthesis)
* Fix Producer::Oracle translate float and double to float instead of number
* Fix Producer::Oracle generation of too long unique constraint names
* Fix Producer::SQLite when generating VIEWs with add_drop_table => 1
* Fix Producer::MySQL not quoting index names when requested (RT#56173)
* Fix Producer::MySQL wrapping extra ()s around VIEW SELECT-ors (RT#56419)
* Fix Field::default_value to behave like a real accessor (allow undef as
an unsetting argument)
* Fix Mysql/Pg/SQLite/MSSQL producers to properly *not* quote numeric default
values (RT#57059)
* Producer::Oracle tests now use Test::Differences
* Prettify output of SQLite producer (less bogus newlines)
* Augment SQLite and Pg producers to accept a perl-formatted (%d.%03d%03d)
and regular no-leading-zero (X.X.X) *_version producer args
Upstream changes:
1.44 Fri 23 Jul 2010
- Upgrading to Module::Install::DSL 1.00 (ADAMK)
- Adding the per-table table_info method to get the columns (ADAMK)
- Adding tests for the per-table metadata methods (ADAMK)
1.43 Mon 10 May 2010
- Ensure 100% of tables and columns are quoted correctly (ADAMK)
pkgsrc changes:
- adjust dependencies
- clarify license
- remove upstream applied patch
Upstream changes:
2.65 2010-07-27
- take over maintainership from prior maintainers
Andy Wardley and Simon Matthews (Jens Rehsack)
Thanks to both guys for their great work so far
- improve connect to can reconnect after CLONE
- add support for keeping alive in threaded environment
- add ability to prepare/query with passing params to
$dbh->prepare
- add some neat functions to the iterator of th $sth
- add ability to fetch and store $dbh and $sth attributes
- reap DBI handles for new threads when used in threaded
environments and threads::variable::reap is available
- add test with two placeholders
pkgsrc changes:
- apply patches from RT#58813
- add license definition
Upstream changes:
1.05 Sat Apr10 01:00 2010
need to make DBD::SQLite to pre-req to get tests to succeed.
This shouldn't really be an undue burden
1.04 Mon Mar 31 22:25 2010
Add DBD::SQLite to build_requires meta so automated testing
won't fail
1.03 Mon Mar 29 13:00 2010
RT 3695 - SQLite support - Thanks RURBAN
RT 19833 - Don't Chomp blanks. The user can do that in their
script if they intended it.
NOTE!!! This may break your code if you were depending on
this behavior. Please open an RT ticket if you feel
this needs to be put back in.
Test suite to Test::More
databases/p5-YAML-MLDBM
This module is similar to MLDBM except that it stores data internally as
YAML, instead of Data::Dumper or Storable. By doing this, tied hash DBM
databases can be created that can be used seamlessly in Python or Ruby
applications. That's because those languages also have YAML and DBM
modules. As other languages get YAML support, YAML::MLDBM should be able
to be used with them as well.
This module is a wrapper around MLDBM, but you open a DBM file using the
new() method, instead of using a tie. new() will return a reference to
a tied hash.
You can also use YAML as a serialization method for MLDBM itself.
DBIx::Connector provides a simple interface for fast and safe DBI connection
and transaction management. Connecting to a database can be expensive; you
don't want your application to re-connect every time you need to run a query.
The efficient thing to do is to hang on to a database handle to maintain a
connection to the database in order to minimize that overhead.
DBIx::Connector lets you do that without having to worry about dropped or
corrupted connections.
* Added support for write-ahead logging.
* Query planner enhancement - automatic transient indices are created when
doing so reduces the estimated query time.
* Query planner enhancement - the ORDER BY becomes a no-op if the query also
contains a GROUP BY clause that forces the correct output order.
* Add the SQLITE_DBSTATUS_CACHE_USED verb for sqlite3_db_status().
* The logical database size is now stored in the database header so that bytes
can be appended to the end of the database file without corrupting it and so
that SQLite will work correctly on systems that lack support for ftruncate().
pkgsrc changes:
- add conflicts for p5-SQL-Statement<=1.27 and p5-DBI<=1.611
Upstream changes (since 1.28):
2010-07-06 0.30 H.Merijn Brand
* Text::CSV_XS now called with auto_diag
* Implement valid_attrs
* Next version will require DBI-1.612 or higher
This is a transition release
2010-07-04 0.29_03 H.Merijn Brand
* Remove leftover debug. Causes fails
2010-07-02 0.29_02 H.Merijn Brand
* More work to keep in sync with DBI development (Jens)
* Better diagnostics for missing modules
* More spell-check fixes
* Tests for ChopBlanks (now fixed in DBD::File)
* Tests changed to accept old and new DBI
* Statement handle attributes handled in new DBD::File
2010-06-11 0.29_01 H.Merijn Brand
* Prepare for DBD::File-0.39 (DBI-1.612+)
Should still work with older DBI versions
* Documentation updates (style, consistency, spell-checking)
* Test folder cleanup
* More tests for insert
* Tested RT#58039
2010-05-03 0.29 H.Merijn Brand
* Fix git URL in META.yml
* Add empty CLONE method to prevent warning when cloning threads
* Minimum perl 5.8.1
* Minimum Text::CSV_XS 0.71
* Support for f_encoding (requires DBI-1.611)
* Documentation updates
pkgsrc changes:
- require DBI-1.612 for testing
- add conflict for DBI<=1.612
Upstream changes:
Version 1.28, release July 15th, 2010
----------------------------------------------
[Improvements]
* Introduce new "capability" method for SQL::Statement and SQL::Eval::Table
+ Add capability for "insert_new_row" to allow DBD::DBM to fix PK
constrain on INSERT statements.
* Performance of IMPORT feature improved (thanks to Sven Probst, RT#57322)
[Bug fixes]
* expect every table object being derived from SQL::Eval::Table
* rewrite DELETE and UPDATE command based on table capabilities
* add abstract methods for all methods derived classes must override
(this means, open_table for SQL::Statement deriveds must be overridden
and all data access methods of tables - see SQL::Eval::Table for details)
* Tests are fixed to use TEMP TABLES explicitely when required
* check for invalid column names fixed
* Don't let depreciated parser structures stay alive in SQL::Statement when
reusing the Parser
[Documentation]
* Method documentation of SQL::Statement and SQL::Eval::Table are improved
* Add a Roadmap describing future plans for SQL::Statement (in addition to
DBD::File::Roadmap).
* POD spelling fixes provided by H.Merijn Brand and Pod::Spell::CommonMistakes
(thanks Tux)
* POD grammar fixes and reasonable sentences created by Martin Evans
[Things that may break your code]
* SQL::Statement 1.28 is expected not to work proper in combination with
DBI 1.611 and below
* SQL::Statement::ColumnValue expects now every table being derived from
SQL::Eval::Table
pkgsrc changes:
- bumping required API version to 1.612 (Meta-DBD API has changed)
Upstream changes:
Changes in DBI 1.612 (svn r14254) 14th July 2010
NOTE: This is a minor release for the DBI core but a major release for
DBD::File and drivers that depend on it, like DBD::DBM and DBD::CSV.
This is also the first release where the bulk of the development work has
been done by other people. I'd like to thank (in no particular order)
Jens Rehsack, Martin J. Evans, and H.Merijn Brand for all their contributions.
Fixed DBD::File's {ChopBlank} handling (it stripped \s instead of space
only as documented in DBI) (H.Merijn Brand)
Fixed DBD::DBM breakage with SQL::Statement (Jens Rehsack, fixes RT#56561)
Fixed DBD::File file handle leak (Jens Rehsack)
Fixed problems in 50dbm.t when running tests with multiple
dbms (Martin J. Evans)
Fixed DBD::DBM bugs found during tests (Jens Rehsack)
Fixed DBD::File doesn't find files without extensions under some
circumstances (Jens Rehsack, H.Merijn Brand, fixes RT#59038)
Changed Makefile.PL to modernize with CONFLICTS, recommended dependencies
and resources (Jens Rehsack)
Changed DBI::ProfileDumper to rename any existing profile file by
appending .prev, instead of overwriting it.
Changed DBI::ProfileDumper::Apache to work in more configurations
including vhosts using PerlOptions +Parent.
Add driver_prefix method to DBI (Jens Rehsack)
Added more tests to 50dbm_simple.t to prove optimizations in
DBI::SQL::Nano and SQL::Statement (Jens Rehsack)
Updated tests to cover optional installed SQL::Statement (Jens Rehsack)
Synchronize API between SQL::Statement and DBI::SQL::Nano (Jens Rehsack)
Merged some optimizations from SQL::Statement into DBI::SQL::Nano
(Jens Rehsack)
Added basic test for DBD::File (H.Merijn Brand, Jens Rehsack)
Extract dealing with Perl SQL engines from DBD::File into
DBI::DBD::SqlEngine for better subclassing of 3rd party non-db DBDs
(Jens Rehsack)
Updated and clarified documentation for finish method (Tim Bunce).
Changes to DBD::File for better English and hopefully better
explanation (Martin J. Evans)
Update documentation of DBD::DBM to cover current implementation,
tried to explain some things better and changes most examples to
preferred style of Merijn and myself (Jens Rehsack)
Added developer documentation (including a roadmap of future plans)
for DBD::File
* Replication Manager sites can specify one or more possible client-to-client
peers.
* Added resource management feature in all Berkeley DB APIs to automatically
manage cursor and database handles by closing them when they are not required,
if they are not yet closed.
* Added a SQL interface to the Berkeley DB library.
* Added hash databases support to the DB->compact interface.
* Renamed the "db_sql" utility to "db_sql_codegen".
* Added transactional support in db_sql_codegen utility.
* Added the feature read-your-writes consistency that allows client application
to check, or wait for a specific transaction to be replicated from the master
before reading database.
* Added DB log verification feature, accessible via the API and a new utility.
* Added support for applications to assign master/client role explicitly at any
time. Replication Manager can now be configured not to initiate elections.
* Enhanced the DB->compact method so that it can reassign metadata and root
pages from subdatabases to lower numbered pages while compacting a database
file that contains multiple databases.
* Added system diagnostic messages that are ON by default.
* Added the feature to assign a priority level to transactions.
* Added a feature by which the Replication Manager application clients now
automatically request any missing information, even when there is no master
transaction activity.
* Added support for sharing logs across mixed-endian systems.
* Added an option to specify the first and last pages to the db_dump utility.
You can do this by providing -F and -L flags to the db_dump -d option.
* Added Intel Performance Primitive (IPP) AES encryption support.
Upstream changes:
revision 1.67 2010-05-31 14:21 (UTC)
----------------------------
- Fix SQL::Test failure when first chunk is an unrecognized
literal
- Generic -not operator tests
- More columns-bindtype assertion checks
revision 1.66 2010-04-27 02:44 (UTC)
----------------------------
- Optimized the quoting mechanism, winning nearly 10%
speedup on repeatable sql generation
revision 1.65 2010-04-11 19:59 (UTC)
----------------------------
- Rerelease last version to not include .svn files
and grab MANIFEST.SKIP from DBIx::Class so it
won't happen again
revision 1.64 2010-04-11 16:58 (UTC)
----------------------------
- Fix multiple generic op handling regressions by
reverting the auto-equality assumption (turned out
to be a very very bad idea)
revision 1.63 2010-03-24 09:56 (UTC)
----------------------------
- Add ILIKE to the core list of comparision ops
=== 1.3.1 / 2010-07-09
* Enhancements
* Custom collations may be defined using SQLite3::Database#collation
* Bugfixes
* Statements returning 0 columns are automatically stepped. [RF #28308]
* SQLite3::Database#encoding works on 1.8 and 1.9
Bugfixes:
* compile: multiple fixes isnan and isinf defines to make rrdtool compile
with gcc on solaris (with --disable-nls)
* handle gettext/libintl like any other feature, do not try to supply
our own ... rrdtool can work fine without it
* rrd_client: fix potential segfaults
* rrd_client: resolve synmlinks properly
* compile: fix libtool and libtoolize names for OSX compiles
* compile: fix for HAVE_BROKEN_MS_ASYNC (old linux kernels)
* rrd_xport: fix --daemon handling
* rrd_client: explicitly close connection on error
* rrd_update: fix memory leak for COMPUTE datasources
* rrd_daemon: fix segfault when specifying a relative path (-j option)
* compile: make rrdtool compile with gcc 4.5
* portability: use %lld (long long int) for time_t *printf
* compile: link pangocairo and not pango since we do use pangocairo actually
* compile: re-integrate intl into compile dependency so that hosts with
old (or no) gettext can get access to the included copy.
* rrd_cached: exit with status !=0 on invalid cli
Enhancements:
* updated build files and instructions for win32 port by Chris Larsen
* legal: Relicense the RRDCacheD client interface under the MIT license
* legal: Updted FLOSS Exception for latest PHP license
* rrd_cached: better help output
Bug fixes release.
2010-04-27 Mikio Hirabayashi <hirarin@gmail.com>
* tcbdb.c (tcbdboutlist): a bug related to reorganizing tree was fixed.
- Release: 1.4.45
2010-04-23 Mikio Hirabayashi <hirarin@gmail.com>
* tcbdb.c (tcbdbrangefwm): a bug related to empty list was fixed.
* tcadb.c (tcadbmulopen): a bug related to handling table indices was fixed.
- Release: 1.4.44
Upstream changes:
1.0025 Jun 6 12:46:00 2010 PDT
(This version is compatible with 1.0024)
- Fixed t/39_singletons.t to work on Windows.
1.0024 May 30 14:25:00 2010 PDT
(This version is compatible with 1.0023)
- Stale references (objects blessed into DBM::Deep::Null), which
have always supposed to act like undef, now compare equal to
undef, "" and 0. $stale_ref eq "" used to return false, even
though "$stale_ref" was the empty string.
- If you assign a stale reference to a database location,
DBM::Deep now warns and assigns undef, instead of dying with
obscure error messages.
- Using a stale reference as a hash or array ref now causes an
error with a more helpful message.
Changes since 0.6.1:
* fix contrib/word_count build. (CASSANDRA-992)
* split CommitLogExecutorService into BatchCommitLogExecutorService and
PeriodicCommitLogExecutorService (CASSANDRA-1014)
* add latency histograms to CFSMBean (CASSANDRA-1024)
* make resolving timestamp ties deterministic by using value bytes
as a tiebreaker (CASSANDRA-1039)
* Add option to turn off Hinted Handoff (CASSANDRA-894)
* fix windows startup (CASSANDRA-948)
* make concurrent_reads, concurrent_writes configurable at runtime via JMX
(CASSANDRA-1060)
* disable GCInspector on non-Sun JVMs (CASSANDRA-1061)
* fix tombstone handling in sstable rows with no other data (CASSANDRA-1063)
* fix size of row in spanned index entries (CASSANDRA-1056)
* install json2sstable, sstable2json, and sstablekeys to Debian package
* StreamingService.StreamDestinations wouldn't empty itself after streaming
finished (CASSANDRA-1076)
* added Collections.shuffle(splits) before returning the splits in
ColumnFamilyInputFormat (CASSANDRA-1096)
* do not recalculate cache capacity post-compaction if it's been manually
modified (CASSANDRA-1079)
* better defaults for flush sorter + writer executor queue sizes
(CASSANDRA-1100)
* windows scripts for SSTableImport/Export (CASSANDRA-1051)
* windows script for nodetool (CASSANDRA-1113)
* expose PhiConvictThreshold (CASSANDRA-1053)
* make repair of RF==1 a no-op (CASSANDRA-1090)
* improve default JVM GC options (CASSANDRA-1014)
* fix SlicePredicate serialization inside Hadoop jobs (CASSANDRA-1049)
Changes:
* Add index length support for MySQL. #1852 [Emili Parreno, Pratik Naik]
* find_or_create_by_attr(value, ...) works when attr is protected.
#4457 [Santiago Pastorino, Marc-Andr\xc3\xa9 Lafortune]
* JSON supports a custom root option: to_json(:root => 'custom') #4515
[Jatinder Singh]
* Destroy uses optimistic locking. If lock_version on the record
you're destroying doesn't match lock_version in the database, a
StaleObjectError is raised. #1966 [Curtis Hawthorne]
* To prefix the table names of all models in a module, define
self.table_name_pr efix on the module. #4032 [Andrew White]
* Association inverses for belongs_to, has_one, and
has_many. Optimization to re duce database queries. #3533 [Murray
Steele]
* MySQL: add_ and change_column support positioning. #3286 [Ben Marini]
* Reset your Active Record counter caches with the reset_counter_cache
class method. #1211 [Mike Breen, Gabe da Silveira]
Changes:
### 1.3.0 / 2010-06-06
* Enhancements
* Complete rewrite of C-based adapter from SWIG to hand-crafted one
[tenderlove]
See API_CHANGES document for details.
This closes: Bug #27300, Bug #27241, Patch #16020
* Improved UTF, Unicode, M17N, all that handling and proper BLOB
handling [tenderlove, nurse]
* Added support for type translations [tenderlove]
@db.translator.add_translator('sometime') do |type, thing|
'output' # this will be returned as value for that column
end
* Experimental
* Added API to access and load extensions. [kashif]
These functions maps directly into SQLite3 own enable_load_extension()
and load_extension() C-API functions. See SQLite3::Database API
documentation for details.
This closes: Patches #9178
* Bugfixes
* Corrected gem dependencies (runtime and development)
* Fixed threaded tests [Alexey Borzenkov]
* Removed GitHub gemspec
* Fixed "No definition for" warnings from RDoc
* Generate zip and tgz files for releases
* Added Luis Lavena as gem Author (maintainer)
* Prevent mkmf interfere with Mighty Snow Leopard
* Allow extension compilation search for common lib paths [kashif]
(lookup /usr/local, /opt/local and /usr)
* Corrected extension compilation under MSVC [romuloceccon]
* Define load_extension functionality based on availability [tenderlove]
* Deprecation notices for Database#query. Fixes RF #28192
For full changes, refer http://dev.mysql.com/doc/refman/5.0/en/news-5-0-91.html.
Here is security related changes.
* Security Fix: The server failed to check the table name argument of
a COM_FIELD_LIST command packet for validity and compliance to
acceptable table name standards. This could be exploited to bypass
almost all forms of checks for privileges and table-level grants by
providing a specially crafted table name argument to COM_FIELD_LIST.
In MySQL 5.0 and above, this allowed an authenticated user with
SELECT privileges on one table to obtain the field definitions of
any table in all other databases and potentially of other MySQL
instances accessible from the server's file system.
Additionally, for MySQL version 5.1 and above, an authenticated user
with DELETE or SELECT privileges on one table could delete or read
content from any other table in all databases on this server, and
potentially of other MySQL instances accessible from the server's
file system. (Bug#53371, CVE-2010-1848)
* Security Fix: The server was susceptible to a buffer-overflow attack
due to a failure to perform bounds checking on the table name
argument of a COM_FIELD_LIST command packet. By sending long data
for the table name, a buffer is overflown, which could be exploited
by an authenticated user to inject malicious code. (Bug#53237,
CVE-2010-1850)
* Security Fix: The server could be tricked into reading packets
indefinitely if it received a packet larger than the maximum size of
one packet. (Bug#50974, CVE-2010-1849)
* Support for Berkeley DB 5.0.
* Drop support for Python 3.0.
* Now you can use TMPDIR env variable to override default
test directory ("/tmp").
* Versioning of C API. If you use the code from C, please
check the bsddb_api->api_version number against
PYBSDDB_API_VERSION macro.
* In C code, the bsddb_api->dbsequence_type component is always available,
even if the Berkeley DB version used doesn't support sequences. In that
case, the component will be NULL.
* In C code, "DBSequenceObject_Check()" macro always exists, even if the
Berkeley DB version used doesn't suport sequences. In that case, the test
macro always returns "false".
* For a long time, the API has been accesible via C using "_bsddb.api" or
"_pybsddb.api". If you are using Python >=2.7, you acquire access to that
API via the new Capsule protocol (see "bsddb.h"). If you use the C API and
upgrade to Python 2.7 and up, you must update the access code (see
"bsddb.h"). The Capsule protocol is not supported in Python 3.0, but
pybsddb 5.0.x doesn't support Python 3.0 anymore.
* Capsule support was buggy. The string passed in to PyCapsule_New() must
outlive the capsule.
* Solve an "Overflow" warning in the testsuite running under python 2.3.
* When doing a complete full-matrix test, any warning will be considered
an error.
data. The software is distributed in source code form, and developers can
compile and link the source code into a single library for inclusion
directly in their applications.
Developers may choose to store data in any of several different storage
structures to satisfy the requirements of a particular application. In
database terminology, these storage structures and the code that operates on
them are called access methods. The library includes support for the
following access methods:
* B+tree: Stores keys in sorted order, using either a programmer-supplied
ordering function or a default function that does lexicographical
ordering of keys. Applications may perform equality or range searches.
* Hashing: Stores records in a hash table for fast searches based on
strict equality. Extended Linear Hashing modifies the hash function
used by the table as new records are inserted, in order to keep buckets
underfull in the steady state.
* Fixed and Variable-Length Records: Stores fixed- or variable-length
records in sequential order. Record numbers may be immutable or
mutable, i.e., permitting new records to be inserted between existing
records or requiring that new records be added only at the end of the
database.
* The log file format changed in 11gR2.
* Replication Manager sites can specify one or more possible client-to-client
peers.
* Added resource management feature in all Berkeley DB APIs to automatically
manage cursor and database handles by closing them when they are not
required, if they are not yet closed.
* Added a SQL interface to the Berkeley DB library. The interface is based on -
and a drop-in-replacement for - the SQLite API. It can be accessed via a
command line utility, a C API, or existing APIs built for SQLite.
* Added hash databases support to the DB->compact interface.
* Renamed the "db_sql" utility to "db_sql_codegen". This utility is not built
by default. To build this utility, enter --enable-sql_codegen as an argument
to configure.
* Added transactional support in db_sql_codegen utility. Specify TRANSACTIONAL
or NONTRANSACTIONAL in hint comments in SQL statement, db_sql_codegen
enable/disable transaction in generated code accordingly.
* Added the feature read-your-writes consistency that allows client application
to check, or wait for a specific transaction to be replicated from the master
before reading database.
* Added DB log verification feature, accessible via the API and a new utility.
This feature can help debugging and analysis.
* Added support for applications to assign master/client role explicitly at any
time. Replication Manager can now be configured not to initiate elections.
* more...
0.9.11
-----
Allow passing SASL interaction options
This adds a hash parameter "options" to LDAP::Conn.sasl_bind, which
can take :authzid, :authcid, and :realm (and corresponding strings),
for SASL authentication.
Also, refactored the rb_scan_args inside rb_ldap_conn_sasl_bind to use
C's case fallthrough, leading to less code repetition.