This is a pure Java (Type IV) JDBC driver for the PostgreSQL
database. It allows Java programs to connect to a PostgreSQL
database using standard, database independent Java code.
The driver provides a reasonably complete implementation of the
JDBC 4 specification in addition to some PostgreSQL specific
extensions.
5.2.2 (10-Sep-2012)
Bugs fixed:
* Server disconnects on the execution of a query following execution of a SP
returning resultset(s) and OUT parameters. (Bug# 14512187)
* Crash while executing after binding BLOB datatype as INOUT parameter
(Bug# 14501952)
* SP having 2 BLOB OUT parameters crashes at execution (Bug# 14563386)
* ASSERT for INOUT parameter of BIT(N>3) type (Bug#14560916)
* Using ADO, driver returns wrong type and value for bit(>1) parameter
(Bug# 14555713)
* Blobs used in as INOUT parameters have inconsistent behaviour in ADO
(Bug# 14580316)
* my_isspace calls cause ODBC driver crashes (Bug# 14363601)
* SQLNativeSql did not null-terminate output string after copying
(Bug# 14559721)
* Incorrect length value passed to SQLSetConnectAttr could cause
driver crash. (Bug# 14620420)
Built using MySQL 5.5.27.
----
5.2.1 (09-Aug-2012)
Functionality added or changed:
* Driver prepares statements on server
* Support of INOUT and OUT parameters(WL#6116)
* Increased the timeout in tests from 30 to 60 seconds to avoid failures in
slow tests that involve catalog functions and Information_Schema queries.
Bugs fixed:
* Long table names crash OBDC driver. (Bug# 14085211/65200)
* Close proximity issue when handling OS signlals in myodbc (Bug# 14303803)
* "String data right truncated" error is not always correct (Bug# 14285620)
Built using MySQL 5.5.27.
----
5.2.0
Functionality added or changed:
* Driver available in Unicode and ANSI versions(WL#5850)
* Driver by default uses server side prepared statements
* Connection string option NO_SSPS prevents using of server side prepared
statements. It is configurable via GUI dialog.
Built using MySQL 5.5.25.
----
5.1.11
Functionality added or changed:
* MyODBC queries log is written to %TEMP%\myodbc.sql, or to C:\myodbc.sql if
TEMP is not defined.
* Added pre-fetch functionality implemented through LIMIT to avoid reading the
entire resultset for full table SELECT queries. (WL#6211)
Bugs fixed:
* Fractional parts of second is ignored in SQLGetData. (Bug #12767740/60646)
* ODBC prepared statements ignore fractional part of temporal data types.
(Bug #12767761/60648)
* Memory leak on Windows on each connection attepmt. (Bug #11766029/59059)
* SQLTables() function does not return the catalog correctly if the wildcard
or SQL_ALL_CATALOGS is used. (Bug #13914518)
----
5.1.10(02-Feb-2012)
Functionality added or changed:
Bugs fixed:
* In some cases TIMESTAMP field could be described as SQL_NO_NULLS.
(Bug #13532987)
* SQLFetch has to return error if indicator pointer is NULL for NULL value.
(Bug #13542600)
* A failure on one stmt causes another stmt to fail. (Bug #13097201/#62657)
Built using MySQL 5.5.18.
----
5.1.9 (04-Oct-2011)
Functionality added or changed:
* Support of windows authentication.
Bugs fixed:
* SQLFetch() did not return SQL_ERROR if connection was dropped due to a
timeout. (Bug #39878)
* MS Access with VARCHAR NOT NULL columns. (Bug #31067)
* sqlwcharchr might read one SQLWCHAR after end of string. (Bug #61586)
* Column parameter binding makes SQLExecute not to return SQL_ERROR on
disconnect. (Bug #59772)
* If pre-execution failed some catalog functions called right after that
would return only one row. (Bug #12824839)
* MyODBC driver does not call mysql_thread_end() when the thread ends causing
error messages such as this: Error in my_thread_global_end(): 1 threads
didn't exit. (Bug #57727)
* When NO_BINARY_RESULT was set driver failed to perform the expected data
conversion. (Bug#11765110/58038)
Built using MySQL 5.5.16.
- bug #3570212 [edit] uuid_short() is a no-arguments function
- bug #3569577 [edit] Add routine parameter headers not valid for "function"
- bug #3575799 [search] Various search operators not working as expected
- bug #3576322 [search] Invalid select query generated for tables with
ENUM fields
- bug #3577468 [display] Incorrect imagejpeg Syntax Breaks Image Transformation
- bug #3578776 [search] Editing SQL not possible when no records found
- bug #3571970 [interface] Display chart and number of rows to plot
- bug #3582631 [core] Wrong redirect url caused cookies error with ForceSSL
switch from guile16 to guile (currently 1.8), and remove the special
accomodations for 1.6.
- 0.44 | 2012-04-20
- distribution now .tar.xz
If you have GNU tar, you can use "tar xf" and it will DTRT.
If not, you can use "xz -dc TARBALL | tar xf -" to unpack.
- bugfix: ‘pg-get-copy-data’ handles unspecified ‘async?’
Previously, if ‘async?’ was unspecified, it was incorrectly
interpreted as true (i.e., "not false"). Now, if unspecified,
it is interpreted correctly as false.
- testing slack for pre-8.1 ‘pg-client-encoding’
Previously, the types-table test was too strict when checking
the ‘pg-client-encoding’ return value, expecting "UTF-8" only.
Now, it accepts also "UNICODE", which is the norm for PostgreSQL
prior to 8.1.
- support for ‘make check KEEPD=1’
If you run "make check" many times, you can avoid daemon bounce
overhead by specifying ‘KEEPD=1’, which inhibits daemon killing.
- maintenance tools
- GNU Autoconf 2.68
- GNU Automake 1.11.5
- GNU Libtool 2.4.2
- Guile-BAUX 20120309.1509.1c4bb92
- SNUGGLE 0.1
- 0.43 | 2012-02-06
[PBI] means "WARNING: potentially backward-incompatible".
- bugfix: ‘sql-quote’ translates backslash (#\\) to ‘\134’
Previously, backslash characters were passed through
unmodified. Now, they are translated to the string "\134"
(i.e., the four characters ‘#\\’, ‘#\1’, ‘#\3’, ‘#\4’).
- [PBI] ‘bytea’ stringifier outputs only one backslash
If the ‘bytea’ stringifier from ‘(database postgres-types)’ is
used standalone, this represents a BACKWARD INCOMPATIBLE change.
In the normal case, however, where the stringifier is used in
conjunction with ‘sql-quote’, this change is transparent.
- new (database postgres-qcons) proc: string-xrep
Some versions of Guile emit ‘\xXX’ to represent the octet with
hex value XX when constructing the external representation of a
string, for certain octets. Furthermore, some versions of
PostgreSQL cannot grok such escape sequences anyway. The new
procedure ‘string-xrep’ is like ‘object->string’ (for a string
arg) except that it explicitly emits the octet itself, except
for ‘#\\’ and and ‘#\"’, which are backslash-escaped as normal.
- ‘(database postgres-qcons) idquote’ no longer emits ‘\xXX’
Before, ‘idquote’ used ‘object->string’ internally, and thus
suffered from the problems described in the preceding NEWS
entry. Now, it uses ‘string-xrep’.
- ‘(database postgres-col-defs) validate-def’ more permissive
A column name may now be any symbol that does not contain
whitespace. Previously it was restricted to a symbol whose
constituent characters were alphanumeric or underscore.
This change makes Guile-PG less strict (in some sense) than
PostgreSQL, which imposes other rules. Overarching is the
recommendation from PostgreSQL to consistently use a "delimited
identifier" (aka "quoted identifier") rather than a naked name.
That's what ‘idquote’ and ‘string-xrep’, both used extensively
in Guile-PG, do. See section "Identifiers and Key Words" in
chapter "SQL Syntax" in the PostgreSQL documentation, for more
information.
- ‘pgtable-manager’ and ‘pgtable-worker’ likewise relaxed
These use ‘(database postgres-col-defs)’ procs and new proc
‘string-xrep’ internally, and thus benefit from the changes
mentioned in the preceding NEWS entries. Notably, table and
column names are less constrained. For example, see file
test/types-table.scm, proc ‘test-m2’.
[Probably "relaxed" is not as good as "strictness relaxed and
multi-byte-fu enhanced", but that does not fit on one line.]
- fake cluster created on-demand for "make check"
In addition to a fake installation, "make check" now also
creates a cluster under test/fake-cluster/ configured for
Unix-domain connections, and kicks/kills the daemon around the
actual ‘runtest TEST’ invocations. This means it is no longer
necessary to set env var ‘PGDATABASE’. In fact, that and env
var ‘PGHOST’ are now silently ignored, since ‘runtest’ clobbers
them internally.
If you previously tested Guile-PG against different PostgreSQL
versions by varying ‘PGDATABASE’, you now need to vary env var
‘INITDB’ instead, and zonk the cluster before the "make check"
invocation. Something like:
$(MAKE) delete-cluster
$(MAKE) check DEBUG=1 INITDB=/a/particular/initdb
in directory test/ would be fine. See README section "Testing".
- 0.42 | 2011-10-04
- bugfix: "make check" no longer clobbers installed file
For Guile versions that require a Scheme wrapper for .so loading
(i.e., Guile 1.8 and later), "make check" does a fake install w/
a ‘prefix’ in the build tree. Unfortunately, in Guile-PG 0.41,
that dir was not specified to the Scheme wrapper, resulting in
its installation under the "real" (as determined / set by the
configure script) ‘prefix’.
The system would reamin in this inconsistent state, with the
wrapper pointing into the build tree, until "make install", at
which point everything was resynchronized. Obviously, if you
never do "make install", the problem persists (silently, until
the build tree is deleted).
This has now been fixed. If you did a "make check" but NOT
"make install" of Guile-PG 0.41, the best way forward is to
configure Guile-PG 0.42 and then "make install; make uninstall".
- ‘pg-print’ now does ‘fflush’ after each operation
This probably kills performance, but it is safer, given Guile's
direct use of ‘write(2)’ et al.
- ‘pg-set-client-encoding!’ also accepts symbolic encoding
- 0.41 | 2011-09-29
- Bugs fixed
- Make ‘idquote’ special-case ‘*’ in second part.
was: (display (idquote 'a.*)) |= "a"."*"
now: (display (idquote 'a.*)) |= "a".*
- Call ‘string-append’ with strings, not symbols.
We no longer rely on this particular Guile 1.4 slack.
- Portability fixes (tested w/ Guile 1.8.7)
With the following (and other, non-user-visible) changes, "make
check" no longer displays "foo is deprecated" messages with
Guile 1.8.7. If you see them for your system, for either "make
check" or subsequent Guile-PG use, please report that as a bug.
- Don't do "defer/allow ints" for Guile 1.8+.
- Revamped Scheme object to C byte range for Guile 1.8+
Access to Scheme string representation was curtailed in Guile
1.8 (API available but deprecated), so all operations that pass
a C byte range to libpq functions now incur an extra conversion
step. The unfortunate user-visible result is performance loss.
- Planned retirement
- procedure ‘(database postgres) pg-getline’
- procedure ‘(database postgres) pg-getlineasync’
These procedures are obsoleted by ‘pg-get-copy-data’ and
WILL BE REMOVED by 2012-12-31.
- New fluid to control ‘(database postgres-qcons) sql-quote’
The fluid ‘sql-quote-auto-E?’ controls whether or not
‘sql-quote’ should check for ‘\’ (backslash) characters and
prefix an "E" in that case. This is relevant if you use
PostgreSQL 8.2+.
- New support for "hex format" in ‘bytea’ objectifier
PostgreSQL 9.0 introduces a more efficient "hex format" for
‘bytea’ output. This is now recognized and parsed, falling back
to handling the traditional "escape format" if not recognized.
- Doc improvements
- Fix omission: Document ‘pg-get-copy-data’ arg ‘async?’.
- Indices merged into one
- Builtin type converters listed and indexed
- Builtin type converter array variants listed
- For ‘make check DEBUG=1’, display the guile(1) invocation.
- Tested w/ latest server versions: 8.[01234], 9.[01]
Additionally, the entries in file test/OK now include the
associated Guile-PG version, and some include a subheading
"other pg" to list the precise server version numbers.
- 0.40 | 2011-06-05
- Changes to configuration
- Bug fixed in finding ‘pg_encoding_to_char’, ‘pg_char_to_encoding’
- Now seeks and arranges to use <postgresql/foo> headers
- No longer clobbers user vars ‘CPPFLAGS’, ‘LDFLAGS’
- Changes to build / test / install
- Bug fixed: Delete everything on "make uninstall"
- Scheme code now punified for install
- Add "no C module" mode for build / install
- Changes to "make check"
- Flaky symlinking replaced w/ partial in-tree installation
- runtest now honors env var ‘GUILE’
- runtest now shows loaded files if env var ‘DEBUG’ set
- New (database postgres-qcons) proc: idquote
- Docs now explicitly UTF-8
- Tested on more platforms (see file test/OK)
- Maintenance uses AAL 2.68, 1.11.1, 2.4; Guile-BAUX 20110605.1656
0.11016.
pkgsrc changes:
- adjust dependencies
Upstream changes:
# ----------------------------------------------------------
# 0.11016 2012-10-09
# ----------------------------------------------------------
* Allow passing an arrayref to SQLT->filename (lost in Mooification)
# ----------------------------------------------------------
# 0.11015 2012-10-05
# ----------------------------------------------------------
* Fix stupid missing version number in SQL::Translator::Schema::Object
# ----------------------------------------------------------
# 0.11014 2012-10-05
# ----------------------------------------------------------
* Relicense under Perl 5 terms
# ----------------------------------------------------------
# 0.11013_03 2012-09-25
# ----------------------------------------------------------
* Remove SQL::Translator::Schema::Graph as announced in 0.11011
* Remove a number of no longer needed deps
# ----------------------------------------------------------
# 0.11013_02 2012-09-23
# ----------------------------------------------------------
* Fix missing dep (List::MoreUtils)
# ----------------------------------------------------------
# 0.11013_01 2012-09-22
# ----------------------------------------------------------
* Convert SQL::Translator, ::Schema and ::Schema::* to Moo
* Fix leaks by weakening circular references between schema objects
# ----------------------------------------------------------
# 0.11013 2012-09-22
# ----------------------------------------------------------
* Make MySQL producer add NULL after every nullable field, conforming to SQL
standard, and avoiding MySQL bugs
# ----------------------------------------------------------
# 0.11012 2012-07-02
# ----------------------------------------------------------
* Fix/update quoting in PostgreSQL producer
* Add missing quote function to SQLServer producer
* Fix incorrect Parser::DBI documentation (RT#60878)
# ----------------------------------------------------------
# 0.11011 2012-05-09
# ----------------------------------------------------------
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
*** INCOMPATIBLE CHANGES:
* SQLT no longer supports setting separate conflicting values for the now
deprecated 'quote_table_names' and 'quote_field_names'. Instead their values
are proxied to the new 'quote_identifiers'. If 'quote_identifiers' is
supplied, the legacy settings are ignored (with a warning). If nothing is
specified the default is TRUE as before. If only one is specified - default
to its value for everything, and if both are specified with a conflicting
value an exception is thrown.
* Partial quoting support has been added in SQLite. It is currently disabled by
default, you need to request is explicitly with quote_identifiers => 1. In a
future version of SQL::Translator *THIS DEFAULT BEHAVIOR WILL CHANGE*.
If you do NOT WANT quoting, set quote_identifiers to a false value to
protect yourself from changes in a future release.
* Bump the default MySQL parser version to MySQL 4.0
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
* script/sqlt-graph now accepts a --trace option
* Fixes to SQLite foreign keys production (patch from Johan Viklund)
closes RT#16412, RT#44769
* ON DELETE/UPDATE actions for SQLite (patch from Lukas Thiemeier)
closes RT#70734, RT#71283, RT#70378
* Fix data preservation on SQLite diffs involving adding/dropping columns
* Support for triggers in PostgreSQL producer and parser
* Correct Data Type in SQLT::Parser::DBI::PostgreSQL (patch from Andrew Pam)
* Fix index issue in SQLT::Parser::DBI::PostgreSQL
* Add column and table comments in SQLT::Parser::DBI::PostgreSQL(patch from Andrew Pam)
* Stop the DBI parser from disconnecting externally supplied DBI handles (RT#35868)
* Fixed alter_drop_constraint for foreign keys and applying multiple changes
via alter_field to a column in Postgres Producer
* Added a working mechanism for naming foreign keys in the PostgreSQL producer
* Fix PostgreSQL ignoring default values with specified data type
* Fix PostgreSQL parser support for (N)::int defaults (patch by Tina Müller)
* Fix possible name duplication in SQLlite producer
* Oracle does not accept ON DELETE/UPDATE RESTRICT (though it is the actual default)
fix by not adding the ON DELETE/UPDATE clause at all
* Changed dependency on Digest::SHA1 to the core-bundled Digest::SHA (RT#67989)
* Support for double quoted and bit strings as default values in MySQL parser
* Improved VIEW support in MySQL parser
* Proper handling of CURRENT_TIMESTAMP default values in MySQL parser (RT#65844)
* Check in MySQL parser to avoid trying to parse a table defined twice in the same
file as indices (and probably other things) get messed up
* Workaround for some MySQL quirks on primary key definitions
* Fix dropping primary keys in MySQL diffs (RT#62250, patch from Nick Bertrand)
* MySQL producer does not attempt to write out non-existent unique constraint names
* MySQL parser correctly differentiates between signed and unsigned integer column
display sizes
* Replace Class::Accessor::Fast dependency with already-included Moo
* Entire codebase is now free of tabs and trailing whitespace
* Spellfixes (RT#68912)
* Fix Diagram Producer POD (RT#71397, RT#71398)
* Fix Diagram Producer to use correct binmode on output (RT#71399)
* Fix ignored option to script/sqlt-diagram (RT#5992)
* Fix t/17sqlfxml-producer.t failures due to whitespace differences introduced by
environment config snippets (RT#70786)
* Fix assembly of Table objects with numbered columns being added out of order
(RT#74771) (based on patch from Jonathan Otsuka)
* Fix syntax error in SQL::Translator::Producer::Latex (RT#74953)
* Deprecate SQL::Translator::Schema::Graph and the as_graph() schema method
* Bump minimum supported perl version to 5.8.1 (mostly due to Moo)
into databases/p5-Dancer-Plugin-DBIC.
Dancer::Plugin::DBIC makes it very easy to create Dancer applications that
interface with databases. Only the database connection has to be configured
in Dancer configuration file of the application.
For performance, schema objects are cached in memory and are lazy loaded
the first time they are accessed.
- bug #3539044 [interface] Browse mode "Show" button gives blank page if no
results anymore
- bug #3534979 [interface] Copy Database Ajax feedback vanishes long before
copying is done
- bug #3527531 [interface] GC-maxlifetime warning incorrectly displayed
- bug #3526916 [interface] Search fails with JS error when tooltips disabled
- bug #3544366 [interface] Event comments not saved
- bug #3549084 [edit] Can't enter date directly when editing inline
- bug #3548491 [interface] Inline query editor doesn't work from search results
- bug #3547825 [edit] BLOB download no longer works
- bug #3541966 [config] Error in generated configuration arrray
- bug #3553551 [GUI] Invalid HTML code in multi submits confirmation form
- [interface] Designer sometimes places tables on the top menu
- bug #3546277 [core] Call to undefined function __() when config file has
wrong permissions
- bug #3540922 [edit] Error searching table with many fields
- bug #3555104 [edit] Cannot copy a DB with table & views
- bug #3559925 [privileges] Incorrect updating of the list of users
- bug #3561224 [edit] cell edit date field with empty date fills in current
date
- bug #3559955 [edit] current_date from function drop down fails on update
- bug #3562472 add support for Solaris and FreeBSD system load and memory
display in server status
- bug #3553068 [import] Table import from XML file fails
- replace Highcharts with jqplot for Display chart
- bug #3567684 [edit] Pasting value doesn't clear null checkbox
- bug #3570786 [edit] Datepicker for date and datetime fields is broken
GCC 4.1 does not recognize Wno-unused-but-set-variable, and setting it
breaks the build. Remove the flag now and plan to fix the gcc46+ build
another way later.
Added slapd-meta cn=config support
Fixed libldap MozNSS slot picking
Fixed libldap MozNSS with tokenname:certnickname format
Fixed libmdb POSIX semaphore cleanup on environment close
Fixed libmdb mdb_page_split
Fixed slapd alock handling on Windows
Fixed slapd acl handling with zero-length values
Fixed slapd syncprov to not reference ops inside a lock
Fixed slapd delta-syncrepl MMR with large attribute values
Fixed slapd slapd_rw_destroy function
Fixed slapd-ldap idassert bind handling
Fixed slapd-mdb slapadd -q -w double free
Fixed slapd-mdb to close read txn in reindex commit
Fixed slapo-constraint with multiple modifications
Build Environment
Fixed build with Visual Studio
Fixed libmdb posix semaphore use on BSD system
Add slapo-constraint test suite
Contrib
Updated radius passwd module for NAS-Identifier
Documentation
slapo-refint(5) Note that refint is not replicated
After discussing gcc47 build problems with postgresql developers, it
became apparent that the error was unique to DragonFly. It turns out
that DragonFly was using an older offsetof macro instead of the builtin
version provided by GCC.
Fixing the offsetof macro on DragonFly allowed the pre-patched psgsql 91
to build without issue. While the previous patches certainly don't hurt
anything, they are being removed to ease future maintenance.
The warning suppression fix is still valid, so the change to the pgsql
client makefile is being left in place.
FSDB is package of commands for manipulating flat-ASCII databases from
shell scripts. FSDB is useful to process medium amounts of data (with
very little data you'd do it by hand, with megabytes you might want a
real database).
Postgresql91 uses non-constant array sizes in record definitions which
gcc enforces starting with 4.6. These index sizes are defined as macros
using functions such as offsetof. These patches introduce enums where
the macros become constant expressions which gcc 4.6+ will accept.
GCC 4.7 also introduces the unused-but-set-variable warning which is
popping up all over the place in pgsql91, so silence these warnings -
they are harmless and get optimized out anyway.
No revbump because functionality won't change on binaries generated with
gcc4.5 and below.
* Fix a bug that causes a segfault on a LEFT JOIN that includes an OR in the ON clause.
* Work around a bug in the optimizer in the VisualStudio-2012 compiler that causes invalid code to be generated when compiling SQLite on ARM.
* Fix the TCL interface so that the "nullvalue" setting is honored for TCL implementations of SQL functions.
The update fixes two potential data corruption issues present in the PostgreSQL 9.1 and 9.2 for any server which has crashed, been shutdown with "immediate", or was failed over to a standby. First, the PostgreSQL development team has discovered a chance of corruption of BTREE and GIN indexes for databases. Second, there is a significant chance of corruption of the visibility map. This update fixes both issues.
We strongly advise users of 9.1 and 9.2 to run VACUUM and/or index rebuilds after applying the update. Please see the 2012-09-24 Update wiki page for detailed instructions.
This update release also contains fixes for many minor issues discovered and patched by the PostgreSQL community in the last month, including many fixes for the newly released version 9.2. These include:
fix sorting issue with IN lists and indexes
fix planner failure when combining GROUP BY with window functions
improve selectivity of text searches using prefixes
prevent rescanning of WITH clauses from giving wrong answers
fix PL/Perl crashing issue
reduce bloat for multi-column GiST indexes
time zone data changes for Fiji
disallow Extensions from circular schema assignment
prevent crashes when default_transaction_isolation is set to "serializable"
several minor fixes to pg_upgrade
The update fixes two potential data corruption issues present in the PostgreSQL 9.1 and 9.2 for any server which has crashed, been shutdown with "immediate", or was failed over to a standby. First, the PostgreSQL development team has discovered a chance of corruption of BTREE and GIN indexes for databases. Second, there is a significant chance of corruption of the visibility map. This update fixes both issues.
We strongly advise users of 9.1 and 9.2 to run VACUUM and/or index rebuilds after applying the update. Please see the 2012-09-24 Update wiki page for detailed instructions.
This update release also contains fixes for many minor issues discovered and patched by the PostgreSQL community in the last month, including many fixes for the newly released version 9.2. These include:
fix sorting issue with IN lists and indexes
fix planner failure when combining GROUP BY with window functions
improve selectivity of text searches using prefixes
prevent rescanning of WITH clauses from giving wrong answers
fix PL/Perl crashing issue
reduce bloat for multi-column GiST indexes
time zone data changes for Fiji
disallow Extensions from circular schema assignment
prevent crashes when default_transaction_isolation is set to "serializable"
several minor fixes to pg_upgrade
PostgreSQL 9.2 will ship with native JSON support, covering indexes, replication and performance improvements, and many more features. We are eagerly awaiting this release and will make it available in Early Access as soon as it’s released by the PostgreSQL community," said Ines Sombra, Lead Data Engineer, Engine Yard.
The internal interface of the Thread Pool plugin has changed. Old versions of the plugin will work with current versions of the server, but versions of the server older than 5.5.28 will not work with current versions of the plugin.
Bugs Fixed
InnoDB: Certain information_schema tables originally introduced in MySQL 5.6 are now also available in MySQL 5.5 and MySQL 5.1: INNODB_BUFFER_PAGE, INNODB_BUFFER_PAGE_LRU, and INNODB_BUFFER_POOL_STATS.
InnoDB: When a SELECT ... FOR UPDATE, UPDATE, or other SQL statement scanned rows in an InnoDB table using a < or <= operator in a WHERE clause, the next row after the affected range could also be locked. This issue could cause a lock wait timeout for a row that was not expected to be locked. The issue occurred under various isolation levels, such as READ COMMITTED and REPEATABLE READ.
Partitioning: For tables using PARTITION BY HASH or PARTITION BY KEY, when the partition pruning mechanism encountered a multi-range list or inequality using a column from the partitioning key, it continued with the next partitioning column and tried to use it for pruning, even if the previous column could not be used. This caused partitions which possibly matched one or more of the previous partitioning columns to be pruned away, leaving partitions that matched only the last column of the partitioning key.
This issue was triggered when both of the following conditions were met:
The columns making up the table's partitioning key were used in the same order as in the partitioning key definition by a SELECT statement's WHERE clause as in the column definitions;
The WHERE condition used with the last column of the partitioning key was satisfied only by a single value, while the condition testing some previous column from the partitioning key was satisfied by a range of values.
An example of a statement creating a partitioned table and a query against this for which the issue described above occurred is shown here:
CREATE TABLE t1 (
c1 INT,
c2 INT,
PRIMARY KEY(c2, c1)
) PARTITION BY KEY() # Use primary key as partitioning key
PARTITIONS 2;
SELECT * FROM t1 WHERE c2 = 2 AND c1 <> 2;
This issue is resolved by ensuring that partition pruning skips any remaining partitioning key columns once a partition key column that cannot be used in pruning is encountered.
Partitioning: The buffer for the row currently read from each partition used for sorted reads was allocated on open and freed only when the partitioning handler was closed or destroyed. For SELECT statements on tables with many partitions and large rows, this could cause the server to use excessive amounts of memory.
This issue has been addressed by allocating buffers for reads from partitioned tables only when they are needed and freeing them immediately once they are no longer needed. As part of this fix, memory is now allocated for reading from rows only in partitions that have not been pruned (see Section 18.4, “Partition Pruning”).
Replication: On 64-bit Windows platforms, values greater than 4G for the max_binlog_cache_size and max_binlog_stmt_cache_size system variables were truncated to 4G. This caused LOAD DATA INFILE to fail when trying to load a file larger than 4G in size, even when max_binlog_cache_size was set to a value greater than this.
Replication: In master-master replication with --log-slave-updates enabled, setting a user variable and then performing inserts using this variable caused the Exec_master_log_position column in the output of SHOW SLAVE STATUS not to be updated.
The RPM spec file now also runs the test suite on the new binaries, before packaging them.
The libmysqlclient_r client library exported symbols from yaSSL that conflict with OpenSSL. If a program linked against that library and libcurl, it could crash with a segmentation fault.
The argument for LIMIT must be an integer, but if the argument was given by a placeholder in a prepared statement, the server did not reject noninteger values such as '5'.
The Thread Pool plugin did not respect the wait_timeout timeout for client sessions.
CHECK TABLE and REPAIR TABLE could crash if a key definition differed in the .frm and .MYI files of a MyISAM table. Now the server produces an error.
A query for a FEDERATED table could return incorrect results when the underlying table had a compound index on two columns and the query included an AND condition on the columns.
mysqlhotcopy failed for databases containing views.
The argument to the --ssl-key option was not verified to exist and be a valid key. The resulting connection used SSL, but the key was not used.
Adding a LIMIT clause to a query containing GROUP BY and ORDER BY could cause the optimizer to choose an incorrect index for processing the query, and return more rows than required.
mysqlbinlog did not accept input on the standard input when the standard input was a pipe.
(otherwise Undefined PLT symbol "des_set_odd_parity")
- make sure OpenLDAP links with pkgsrc's libfetch as base libfetch
may be linked with a different OpenSSL than OpenLDAP.
Changes in 1.2.0
* Updated bundled erlang_oauth library to the latest version.
* cURL is no longer required to build CouchDB as it is only
required by the command line JS test runner.
* Added a native JSON parser.
* Optional file compression (database and view index files). This feature
is enabled by default.
* Several performance improvements, especially regarding database
writes and view indexing.
* Added a 'data_size' property to database and view group
information URIs.
* Added support for automatic compaction. This feature is disabled
by default, but it can be enabled via the .ini configuration.
* A new replicator implementation that offers more performance
and configuration options.
* Added optional field 'since_seq' to replication objects/documents.
* Simpler replication cancelation.
* The _active_tasks API now exposes more granular fields for each
task type.
* Futon's 'Status' screen (active tasks) now displays two new task
status fields: 'Started on' and 'Updated on'.
* Added built-in changes feed filter '_view'.
* Fixed old index file descriptor leaks after a view cleanup.
* Performance improvements for the built-in changes feed filters
'_doc_ids' and '_design'.
* Fixes to the '_changes' feed heartbeat option when combined with
a filter. It affected continuous pull replications with a filter.
* Fix use of OAuth with VHosts and URL rewriting.
* OAuth secrets can now be stored in the users system database.
* Documents in the _users database can no longer be read by everyone.
* Confidential information in the _replication database can no longer
be read by everyone.
* Password hashes are now calculated by CouchDB instead of the client.
* Allow persistent authentication cookies.
* The requested_path property of query server request objects now has
the path requested by clients before VHosts and rewriting.
* Fixed incorrect reduce query results when using pagination parameters.
* Made icu_driver work with Erlang R15B and later.
* Improvements to the build system and etap test suite.
* Avoid invalidating view indexes when running out of file descriptors.
* Log correct stacktrace in all cases.
* Improvements to log messages for file-related errors.
* Sat May 19 2012 (1.1.1)
* Support build with ocaml/msvc and ocaml/mingw (Dmitry Grebeniuk)
* Update build tools (Dmitry Grebeniuk)
* OCaml 3.12 compatibility
* Mysql.Prepared: documentation comments
* Mysql.Prepared.result_metadata (Hezekiah M. Carty)
* Mysql.quick_connect: optional unix socket path
* Mysql.quick_connect: optional connection options
* Sat Dec 26 2009 (1.1.0)
* Project moved to http://ocaml-mysql.forge.ocamlcore.org
* Fix crash bugs (mainly in GC & threads interaction)
* Trigger GC less often (Mysql.connect and Mysql.execute)
* Mysql.real_escape (Debian patch)
* Mysql.set_charset
* Preliminary support for prepared statements (Mysql.Prepared)
Changes to the package: changed maintainer from pkgsrc-users to myself;
incorporated upstream move to other address; added license; added native code
build.
2012-07-20: Downgraded findlib version requirement to support the Debian
testing branch.
2012-07-16: Replaced String.trim function in myocamlbuild.ml to allow
compiling with OCaml 3.12.1.
2012-07-15: New major release version 2.0.0:
* Upgraded to OCaml 4.00
* Switched to Oasis for packaging
* Switched to OCamlBuild for the build process
* Rewrote README in Markdown
* Added stricter compilation flags
2012-05-19: Fixed cpp warnings and removed superfluous check for dynamic
linking library. The latter improves portability to FreeBSD.
2011-03-10: Added sqlite3_open_v2 functionality.
There are also some changes to the package itself: the upstream distribution
site changed; the maintainer e-mail address as well, and the package now
uses PLIST_VARS.
While here, let to use OpenSSL instead of internal yaSSL with ssl option,
may related to PR 46912.
Changes in MySQL 5.1.65 (2012-08-09)
Functionality Added or Changed
* Important Change: The YEAR(2) data type is now deprecated because it is
problematic. Support for YEAR(2) will be removed in a future release of MySQL.
For more information, see Section 11.3.4, "YEAR(2) Limitations and Migrating
to YEAR(4)".
Bugs Fixed
* The server did not build with gcc 4.7. (Bug #14238406)
Changes in MySQL 5.1.64 (Not released)
Functionality Added or Changed
* Important Change: Replication: The SHOW BINARY LOGS statement (and its
equivalent SHOW MASTER LOGS) may now be executed by a user with the
REPLICATION CLIENT privilege. (Formerly, the SUPER privilege was necessary to
use either form of this statement.)
2012-08-23
Version 3.4.1 -- The "A tiger? In Africa?!" bug fix release.
Mention in the release that upgrading is advised for two critical issues:
-> error in export to xml of family order in 3.4.0, now fixed
-> crash in windows after some use due to too much terminal output in 3.4.0, now fixed
* Some platform-specific fixes (Windows, OSX)
* Bug fixes
* Translation updates
* Changelog: http://www.gramps-project.org/bugs/changelog_page.php?version_id=31
2012-05-21
Version 3.4.0 -- The "always look on the bright side of life" feature release.
* Lots of changes and bug fixes to every part of Gramps, including XML
import/export, image handling, gedom handling, Gramplets, date handling,
citations, reports, more!
* Some platform-specific fixes (Windows, OSX, Linux)
* What's new (and what to do before you upgrade): http://goo.gl/K3RDV
* Roadmap: http://goo.gl/GJhjH
* Many translation updates
to 1.97.
pkgsrc changes:
- fix dependencies
upstream changes:
1.97 Mon 21 May 2012
- Use reproducible longdouble in tests (HMBRAND)
1.96 Mon 27 Feb 2012
- Fixed a crash in the legacy delete emulation where the condition
clause provided was a constant or read-only.
1.95 Mon 27 Feb 2012
- Fixed a fatal rowid big when generating in array mode
1.94 Mon 27 Feb 2012
- Fixed a fatal rowid bug when a table had a single non-INTEGER
primary key.
- Fixed bug in affinity detection code to now set REAL and
NUMERIC affinity correctly.
1.93 Mon 27 Feb 2012
- The previous release 1.92 was done with a missing commit,
this release restores that missing code.
1.92 Mon 27 Feb 2012
- Add the ->delete_where method for bulk deletion
- Always do the initial metadata scan using ReadOnly => 1.
- When generating readonly, DBI connections use ReadOnly => 1 too.
- Quote identifiers more correctly via $dbh->quote_identifier.
- Temporarily restory the static delete call to prevent breaking
Padre and other applications still using the old version of
delete.
1.91 Thu 23 Feb 2012
- Calculate column affinity types in the metadata preparation phase
- Throw an exception when tables contain BLOB types and the database
is unicode, as the blob data will be corrupted.
- Improved testing for blobs and unicode, and TODO a known problem
1.90 Tue 21 Feb 2012
- Removed x_rowid parameter and make the rowid logic compulsory.
- Removed x_update parameter and make update method compulsory at
the table level but do not generate on the root level.
- As a result, ORLite now supports creating and updating objects
even when they come from tables without primary keys.
- Pending release as 2.00 once clarifying documentation is written.
1.54 Tue 21 Feb 2012
- Added experimental x_rowid parameter to maintain SQLite rowids in
the objects
1.53 Tue 21 Feb 2012
- Add a ->id convenience method alias when table 'foo' has a single
numeric primary key 'foo_id' so you can use $foo->id
1.52 Sat 21 Jan 2012
- Added initial unicode => 1 support (MEMOWE)
- Bumped Params::Util dependency to 1.0 for *LIKE fixes (ADAMK)
databases/p5-DBIx-Class-Schema-Loader from 0.07031 to 0.07033.
upstream changes:
0.07033 2012-09-09 16:11:47
- more thoroughly document the new behavior for relationship
attributes under "relationship_attrs" in ::Base POD
- add a loud WARNING to Makefile.PL about the new behavior for
relationship attributes
0.07032 2012-09-09 13:17:20
- SQLite: detect is_deferrable for inline FKs
- support coderefs for relationship_attrs
from 0.08196 to 0.08200.
pkgsrc changes:
- update and adjust dependencies
upstream changes:
0.08200 2012-08-24 (UTC)
* Fixes
- Change one of the new tests for the previous release to not require
SQL::Translator
0.08199 2012-08-22 (UTC)
same as devrel
0.08198_01 2012-07-25 (UTC)
* Fixes
- Roll back incomplete (and broken) internal changes - restore prefetch functionality
0.08198 2012-07-11 03:43 (UTC)
* Fixes
- Fix a number of Win32 Test issues
- Fix silent Oracle connection failures
0.08197 2012-07-10 10:32 (UTC)
* New Features / Changes
- Issue a warning when DateTime objects are passed to ->search
- Fast populate() in void context is now even more efficient by
going directly through execute_for_fetch bypassing execute_array
- Fix update()/delete() on complex resultsets to no longer fall back
to silly row-by-row deletion, construct a massive OR statement
instead
- Allow complex update/delete operations on sources without a
primary key, as long as they have at least one non-nullable
unique constraint
- dbicadmin now better supports catalyst-style config files, by
unrolling 'config_info' hashkeys
- Multiple Improvements MSSQL over DBD::ADO
- Transaction support
- Support for VARCHAR(MAX)/VARBINARY(MAX)/NVARCHAR(MAX) datatypes
- Nomalization of retrieved GUID values
* Fixes
- Fix complex has_many prefetch with resultsets not selecting identity
columns from the root result source
- Fix SkipFirst and FirstSkip limit dialects (Informix and Firebird)
- Fix "Skimming limit" dialects (Top, FetchFirst) to properly check
the order_by criteria for stability
- Fix "Skimming limit" dialects (Top, FetchFirst) to propagate
non-selected order criteria when part of a larger subquery
- Fix RowNumberOver and all "skimming limits" to correctly assemble
bind values when supplied for both select and order_by
- Fix all subquery-based dialects to not lose a subquery fragment
when we both select and order by the result of the same subquery
- Fix the Sybase hubrid limit dialect (RowCountOrGenericSubQ) losing
Group/Having/Order clauses when called without an offset (RT#73244)
- No longer generate incorrect SQL on ->as_query called on resultsets
with software_limit enabled
- A number of corner case fixes of void context populate() with \[]
- Fix corner case of forked children disconnecting the parents DBI
handle
- Improve identity/autoinc retrieval code in MSSQL and Sybase -
should reduce weird side-effects especially with populate()
- Explicitly disable DBD::ODBC batch operations (as of DBD::ODBC 1.35)
for the following drivers too buggy to handle the optimized path:
- FreeTDS ODBC driver (when used with MSSQL)
- The Firebird ODBC driver
- The MSAccess ODBC driver
- Explicitly disable DBD::ODBC dynamic_cursors when using freetds 0.83
or later - they made enough ODBC incompatible changes making it
impossible to support sanely
- Explicitly disable SCOPE_IDENTITY queries and statement caching for
MSSQL on DBD::Sybase compiled against freetds 0.83 or later - way too
buggy
- Disable statement caching when using Sybase ASE and DBD::Sybase
compiled against freetds 0.83 or later
- Fix leakage of $schema on in-memory new_related() calls
- Fix more cases of $schema leakage in SQLT::Parser::DBIC
- Fix leakage of $storage in ::Storage::DBI::Oracle
- Fix pessimization of Oracle RowNum limit dialect query when no
offset has been specified
- Remove useless vestigial pessimization in Ordered.pm for cases
when the position column is part of a unique constraint
- Fix dbicadmin to no longer ignore the documented 'config' option
- The schema-resultsource entanglement is now much more robust
under threads
- Fix ::Schema::ddl_filename() failing miserably on paths containing
certain numeric sequences
- t/53lean_startup.t adjusted for new 5.15.x base.pm behavior
* Misc
- Centralized leak-checks for all instances of DBICTest::Schema
from within any test
- Now passes all tests with Test::Builder 1.005
- Codebase is now trailing-whitespace-free
- Cleanup of complex resultset update/delete oprations - storage
specific code moved back to ResultSet and replaced by checks
of storage capabilities
- Fixed carp_once only emitting one single warning per package
regardless of warning content
- Test suite now can be safely executed in parallel (prove -jN
or HARNESS_OPTIONS=jN)
from 1.72nb1 to 1.73.
pkgsrc changes:
- update dependencies
upstream changes:
revision 1.73 2012-07-10
----------------------------
- Fix parsing of ORDER BY foo + ?
- Stop filling in placeholders in `format-sql` since it does not support
passing values for them anyway
- Fix parsing of NOT EXISTS
- Fix over-eager parenthesis unrolling
- Fix deep recursion warnings while parsing obnoxiously long sql statements
- Fix incorrect comparison of malformed lists
- Fix incorrect reporting of mismatch-members in SQLA::Test
- Migrate the -ident operator from DBIC into SQLA
- Migrate the -value operator from DBIC into SQLA
0.35 to 0.36.
pkgsrc changes:
- bump required version of textproc/p5-Text-CSV_XS
Upstream changes:
0.36 - 2012-08-22, H.Merijn Brand
* Add line/record number and position in error messages
databases/p5-DBIx-Class-Schema-Loader from 0.07012 to 0.07031.
pkgsrc changes:
- adjusting dependencies according to distribution's meta information
Upstream changes since 0.07012:
0.07031 2012-09-06 15:07:08
- fix 02pod.t failure due to lack of =encoding utf8 statement (patch by
Marcel Gruenauer) (RT#79481)
0.07030 2012-09-06 03:27:09
- allow user to set qualify_objects=0 in multischema configurations
(andrewalker)
0.07029 2012-09-05 16:41:56
- Oracle: introspect ON DELETE and DEFERRABLE FK clauses
- Oracle WARNING: on_delete is now 'NO ACTION' by default, not
'CASCADE'. on_update is now 'NO ACTION' by default (Oracle does not
have update rules, this was done to preserve the behavior of the
schema when cross-deploying to SQLite.) is_deferrable is now
0 by default, not 1.
- DB2: introspect ON DELETE/UPDATE FK clauses
- DB2 WARNING: the default for on_delete/on_update is now 'NO ACTION'
not 'CASCADE', the default for is_deferrable is still 1 because DB2
does not have deferrable constraints.
- SQLite: introspect ON DELETE/UPDATE and DEFERRABLE FK clauses
- SQLite WARNING: the default for on_delete/on_update is now 'NO ACTION'
not 'CASCADE', and the default for is_deferrable is now 0 not 1.
0.07028 2012-08-30 05:32:42
- MSSQL: introspect ON DELETE/UPDATE clauses for foreign keys
- MSSQL WARNING: the default for on_delete/on_update is now 'NO ACTION'
not 'CASCADE'.
0.07027 2012-08-26 22:39:45
- PostgreSQL: introspect ON DELETE/UPDATE clauses for foreign keys and
the DEFERRABLE clause.
- PostgreSQL WARNING: the default for on_delete/on_update attributes for
belongs_to relationships is now 'NO ACTION' not 'CASCADE! The default
for is_deferrable is now 0 not 1.
0.07026 2012-08-26 01:01:26
- MySQL: introspect ON DELETE/UPDATE clauses for foreign keys.
- MySQL WARNING: the default on_delete/on_update attributes for
belongs_to relationships is now RESTRICT, *NOT* CASCADE! This is
overridable via the relationship_attrs option.
0.07025 2012-06-08 22:48:05
- support SQL Server 2000 again (broken in 0.07011)
- some slight optimization for SQL Server driver
0.07024 2012-05-08 15:35:16
- work around broken keyseq in DBD::Pg foreign_key_info (RT#77062)
0.07023 2012-05-05 11:44:15
- properly order FK columns when using base ::DBI loader (SineSwiper)
- bump Class::Inspector dep to 1.27 due to test failures with earlier
versions on perl >= 5.15.7 (RT#74236)
0.07022 2012-04-08 12:11:00
- do separate queries for default_value on Sybase ASE as some servers
can't join to that table (pcmantz) (RT#74170)
- set correct size for nchar/nvarchar columns for Sybase ASE,
depending on @@ncharsize
0.07021 2012-04-04 23:47:34
- use ::Schema::connect instead of ::Schema::connection in
make_schema_at (RT#74175)
- register sources on the schema class, never the instance, regardless
of how the connection is made for dynamic schemas
0.07020 2012-03-31 21:34:06
- fix some mro issues under perl 5.8
0.07019 2012-03-28 17:23:09
- fix some errors due to case issues (RT#75805)
0.07018 2012-03-27 05:55:10
- skip dbicdump tests on Win32 due to test fails (RT#75732)
- fix undefined warnings for DBDs without schemas
- work around ORA-24345 from $dbh->column_info
- fix spelling mistake in Base POD (RT#74796)
0.07017 2012-02-07 07:23:48
- *EXPERIMENTAL* support for dumping PostgreSQL schemas inside of a
transaction
- use DBI table_info/column_info REMARKS field if/where available for
table/column comments (SineSwiper)
- better compatibility with more DBDs (SineSwiper)
0.07015 2011-12-09 10:36:17
- generate many_to_many bridges for targets of link tables
0.07014 2011-11-18 17:06:34
- fix a bug in the automatic multischema clashing moniker disambiguation
code that overwrote $loader->moniker_parts
0.07013 2011-11-17 23:12:47
- automatically prefix database/schema to clashing monikers for
the same table name in multischema configurations
* Drop built-in support for OS/2. If you need to upgrade an OS/2 application to
use this or a later version of SQLite, then add an application-defined VFS
using the sqlite3_vfs_register() interface. The code removed in this release
can serve as a baseline for the application-defined VFS.
* Ensure that floating point values are preserved exactly when reconstructing a
database from the output of the ".dump" command of the command-line shell.
* Added the sqlite3_close_v2() interface.
* Updated the command-line shell so that it can be built using
SQLITE_OMIT_FLOATING_POINT and SQLITE_OMIT_AUTOINIT.
* Improvements to the windows makefiles and build processes.
* Enhancements to PRAGMA integrity_check and PRAGMA quick_check so that they
can optionally check just a single attached database instead of all attached
databases.
* Enhancements to WAL mode processing that ensure that at least one valid
read-mark is available at all times, so that read-only processes can always
read the database.
* Performance enhancements in the sorter used by ORDER BY and CREATE INDEX.
* Added the SQLITE_DISABLE_FTS4_DEFERRED compile-time option.
* Better handling of aggregate queries where the aggregate functions are
contained within subqueries.
* Enhance the query planner so that it will try to use a covering index on
queries that make use of or optimization.
=== 3.39.0 (2012-09-01)
* Fix defaults_setter to set false default values (jeremyevans)
* Fix serial sequence query in Database#primary_key_sequence on PostgreSQL
(jeremyevans) (#538)
* Add Database#copy_into when using postgres adapter with pg driver, for very
fast inserts into tables (jeremyevans)
* Combine multiple alter_table operations into a single query where possible
on MySQL and PostgreSQL (jeremyevans)
* Handle sets of alter_table operations on MySQL and MSSQL where later
operations depend on earlier ones (jeremyevans)
* Add constraint_validations plugin for automatic validations of constaints
defined by extension (jeremyevans)
* Add constraint_validations extension for defining database constraints
similar to validations (jeremyevans)
* Add Database#supports_regexp? for checking for regular expression support
(jeremyevans)
* Add Sequel.trim for cross platform trim function (jeremyevans)
* Add Sequel.char_length for cross platform char_length function (jeremyevans)
* Fixing caching of MySQL server version (hannesg) (#536)
* Allow overriding the convert_tinyint_to_bool setting on a per-Dataset basis
in the mysql and mysql2 adapters (jeremyevans)
* Make ValidationFailed and HookFailed exceptions have model method that
returns the related model (jeremyevans)
* Automatically wrap array arguments to most PGArrayOp methods in PGArrays
(jeremyevans)
* Add set_column_not_null to alter table generator for marking a column as not
null (jeremyevans)
* Default second argument of set_column_allow_null to true in alter table
generator (jeremyevans)
* Allow Dataset#count to take an argument or virtual row block (jeremyevans)
* Attempt to recognize CURRENT_{DATE,TIMESTAMP} defaults and return them as
Sequel::CURRENT_{DATE,TIMESTAMP} (jeremyevans)
* Make dataset.insert(model) assume a single column if model uses the pg_row
plugin (jeremyevans)
* No longer handle model instances in plain (non-model) datasets when
inserting (jeremyevans)
* Use subselects for model classes as tables in join methods in model datasets
if the model's dataset isn't a simple select (jeremyevans)
* No longer handle model classes as tables in join/graph methods in plain
(non-model) datasets (jeremyevans)
* Make Time->DateTime and DateTime->Time typecasts retain fractional seconds
on ruby 1.8 (jeremyevans) (#531)
* Add bin/sequel -c support, for running code string instead of using an IRB
prompt (jeremyevans)
* Allow subclasses plugin to take a block, which is called with each
subclasses created (jeremyevans)
* Add :where option to validates_unique, for custom uniqueness filters
(jeremyevans)
* Add :connection_handling=>:disconnect option for threaded connection pools
(jeremyevans)
* Add Postgres::PGRowOp#* for referencing the members of the composite type as
separate columns (jeremyevans)
* Make identity_map plugin work with models lacking a primary key (jeremyevans)
* Recognize MySQL set type and default value (jeremyevans) (#529)
== v0.14.1 [2012-09-02] Michael Granger <ged@FaerieMUD.org>
Important bugfix:
- Fix stack overflow bug in PG::Result#values and #column_values (#135). Thanks
to everyone who reported the bug, and Lars Kanis especially for figuring out
the problem.
PostgreSQL 9.2 beta fixes:
- Recognize PGRES_SINGLE_TUPLE as OK when checking PGresult (Jeremy Evans)
Documentation fixes:
- Add note about the usage scope of the result object received by the
#set_notice_receiver block. (Lars Kanis)
- Add PGRES_COPY_BOTH to documentation of PG::Result#result_status. (Lars Kanis)
- Add some documentation to PG::Result#fnumber (fix for #139)
Now this package supports Ruby on Rails 3.2.
3.2.2: 2012-09-01
* Supported entry creation by direct ActiveLdap::Base use.
[Reported by Craig White]
* Started to use Travis CI.
3.2.1: 2012-08-31
* Fixed a bug that ActiveLdap::Base#delete doesn't work.
[Reported by Craig White]
3.2.0: 2012-08-29
* [GitHub:#39] Supported Rails 3.2.8. [Reported by Ben Langfeld]
* [GitHub:#13] Don't use deprecated Gem.available?. [Patch by sailesh]
* [GitHub:#19] Supported new entry by @ha_many :wrap@. [Patch by Alex Tomlins]
* Supported @:only@ option in XML output.
* [GitHub:#14] Supported nil as single value. [Reported by n3llyb0y]
* [GitHub:#20] Supported ActiveModel::MassAssignmentSecurity.
[Reported by mihu]
* [GitHub:#24] Supported Ruby 1.9 style Hash syntax in generator.
[Patch by ursm]
* [GitHub:#25][GitHub:#39] Supported ActiveModel::Dirty.
[Patch by mihu][Reported by Ben Langfeld]
* [GitHub:#26] Improved speed for dirty. [Patch by mihu]
* [GitHub:#28] Improved speed for initialization. [Patch by mihu]
* [GitHub:#29] Added .gemspec. [Suggested by mklappstuhl]
* [GitHub:#34] Removed an unused method. [Patch by mihu]
* [GitHub:#37] Improved will_paginate support. [Patch by Craig White]
* [GitHub:#40] Added missing test files to .gemspec. [Reported by V«¿t Ondruch]
* [GitHub:#41] Improved speed for find. [Patch by unixmechanic]
* Changed i18n backend to gettext from fast_gettext again.
* [GitHub:#42] Fixed a bug that optional second is required for GeneralizedTime.
[Reported by masche842]
Upstream changes:
1.03 Sun Mar 6 07:32:21 CET 2011
Fixing output of tests when DBI is not available.
1.02 Thu Mar 3 20:40:54 CET 2011
Added the URL to the AVAILABLE FROM sections.
1.01 Wed Feb 9 21:22:07 CET 2011
Updated the Changes file.
1.00 Wed Feb 9 21:19:35 CET 2011
Changed the location of the distribution to
http://www.adelton.com/perl/DBD-XBase/
Changed author's email address.
Require perl 5.10 and use O_BINARY from Fcntl.
Updated the clean target to make distclean clean.
Updated URL of Erik's documentation.
=== 3.38.0 (2012-08-01)
* Sequel now recognizes the double(x, y) and double(x, y) unsigned MySQL types
(Slike9, jeremyevans) (#528)
* The swift subadapters now require swift-db-* instead of swift itself
(deepfryed, jeremyevans) (#526)
* Add :textsize option to tinytds adapter to override the default TEXTSIZE
(jeremyevans, wardrop) (#525)
* Support an output identifier method in the swift adapter (jeremyevans)
* Add Model#to_hash as an alias to Model#values (jeremyevans)
* When loading multiple pg_* extensions via Database#extension, only reset the
conversion procs once (jeremyevans)
* Don't allow model typecasting from string to postgres array, hstore, or
composite types (jeremyevans)
* Add pg_typecast_on_load plugin for converting advanced PostgreSQL types on
load the {jdbc,do,swift}/postgres adapters (jeremyevans)
* Make all adapters that connect to PostgreSQL store type conversion procs
(jeremyevans)
* Add type oid to column schema on PostgreSQL (jeremyevans)
* Add pg_row plugin, for using Sequel::Model classes to represent PostgreSQL
row-valued/composite types (jeremyevans)
* Add pg_row_ops extension for DSL support for PostgreSQL row-valued/composite
types (jeremyevans)
* Add pg_row extension for dealing with PostgreSQL row-valued/composite types
(jeremyevans)
* Allow custom registered array types in the pg_array extension to be Database
instance specific (jeremyevans)
* Remove Sequel::SQL::IdentifierMethods (jeremyevans)
* Don't have the schema_dumper extension produce code that relies on the
core_extensions (jeremyevans)
* Fix dropping of columns with constraints on Microsoft SQL Server (mluu,
jeremyevans) (#515, #518)
* Don't have pg_* extensions add methods to core classes unless the
core_extensions extension is loaded (jeremyevans)
* Use real boolean literals on derby 10.7+ (jeremyevans, matthauck) (#514)
* Work around JRuby 1.6 ruby 1.9 mode bug in Time#nsec for Time prepared
statement arguments on jdbc (jeremyevans)
* Handle blob prepared statement arguments on jdbc/db2 and jdbc/oracle
(jeremyevans)
* Handle blob values in the swift adapter (jeremyevans)
* Handle better nil prepared statement arguments on jdbc (jeremyevans) (#513)
* Make SQL::Blob objects handle as, cast, and lit methods even if the core
extensions are not loaded (jeremyevans)
* Make #* with no arguments produce a ColumnAll for Identifier and
QualifiedIdentifier (jeremyevans)
* Sequel.expr(:symbol) now returns Identifier, QualifiedIdentifier, or
AliasedExpression instead of Wrapper (jeremyevans)
* Treat clob columns as string instead of blob on Derby (jeremyevans) (#509)
- The setup scripts *must* not get write access to the real "config.inc.php".
Allow then instead to generate a file in "/var/phpmyadmin" which the
administrator copies it place manually. This is the intended procedure
as documented by the developers.
- Restore the normal "config.inc.php" to its original location. Not sure
why I didn't encounter any problems during testing the last change
because phpMyAdmin isn't working very well without this.
While here change dependences to require both the "php-mysql" and the
"php-mysqli" packages. Old installations will use the former, new
installation will use the later.
Bump the package revision again because of these changes.
1.) Install PHP script in the "setup" directory.
2.) Use Vendor override to set the location of the configuration file.
It is now possible to use phpMyAdmin's setup for configuration.
Based on a suggestion by Peter Avalos in private e-mail.
Lib/
* ldapobject.ReconnectLDAPObject.reconnect() now preserves
order of options set with LDAPObject.set_option before.
This is needed e.g. for setting connection-specific TLS options.
Demo/
* Better version of Demo/pyasn1/syncrepl.py
* CVE-2012-3488: PostgreSQL insecure use of libxslt
* CVE-2012-3489: PostgreSQL insecure use of libxml2
* Updates and corrections to time zone data
* Multiple documentation updates and corrections
* Add limit on max_wal_senders
* Fix dependencies generated during ALTER TABLE ADD CONSTRAINT USING INDEX.
* Correct behavior of unicode conversions for PL/Python
* Fix WITH attached to a nested set operation (UNION/INTERSECT/EXCEPT).
* Fix syslogger so that log_truncate_on_rotation works in the first rotation.
* Only allow autovacuum to be auto-canceled by a directly blocked process.
* Improve fsync request queue operation
* Prevent corner-case core dump in rfree().
* Fix Walsender so that it responds correctly to timeouts and deadlocks
* Several PL/Perl fixes for encoding-related issues
* Make selectivity operators use the correct collation
* Prevent unsuitable slaves from being selected for synchronous replication
* Make REASSIGN OWNED work on extensions as well
* Fix race condition with ENUM comparisons
* Make NOTIFY cope with out-of-disk-space
* Fix memory leak in ARRAY subselect queries
* Reduce data loss at replication failover
* Fix behavior of subtransactions with Hot Standby
* Prevent access to external files/URLs via XML entity references
* Prevent access to external files/URLs via contrib/xml2's xslt_process()
* Prevent too-early recycling of btree index pages
* Fix crash-safety bug with newly-created-or-reset sequences
* Fix txid_current() to report the correct epoch when not in hot standby
* Fix bug in startup of Hot Standby when a master transaction has many
subtransactions
* Ensure the backup_label file is fsync'd after pg_start_backup()
* Fix timeout handling in walsender processes
* Back-patch 9.1 improvement to compress the fsync request queue
* Fix LISTEN/NOTIFY to cope better with I/O problems, such as out of disk space
* Only allow autovacuum to be auto-canceled by a directly blocked process
* Improve logging of autovacuum cancels
* Fix WITH attached to a nested set operation (UNION/INTERSECT/EXCEPT)
* Ensure that a whole-row reference to a subquery doesn't include any extra
GROUP BY or ORDER BY columns
* Disallow copying whole-row references in CHECK constraints and index
definitions during CREATE TABLE
* Prevent access to external files/URLs via XML entity references
* Prevent access to external files/URLs via contrib/xml2's xslt_process()
* Prevent too-early recycling of btree index pages
* Fix crash-safety bug with newly-created-or-reset sequences
* Fix race condition in enum-type value comparisons
* Fix txid_current() to report the correct epoch when not in hot standby
* Prevent selection of unsuitable replication connections as the synchronous
standby
* Fix bug in startup of Hot Standby when a master transaction has many
subtransactions
* Ensure the backup_label file is fsync'd after pg_start_backup()
* Fix timeout handling in walsender processes
* Wake walsenders after each background flush by walwriter
* Fix LISTEN/NOTIFY to cope better with I/O problems, such as out of disk space
* Only allow autovacuum to be auto-canceled by a directly blocked process
* Improve logging of autovacuum cancels
* Fix WITH attached to a nested set operation (UNION/INTERSECT/EXCEPT)
## Rails 3.2.8 (Aug 9, 2012) ##
* Do not consider the numeric attribute as changed if the old value is zero
and the new value is not a string.
Fixes#7237.
*Rafael Mendonça França*
* Removes the deprecation of `update_attribute`. *fxn*
* Reverted the deprecation of `composed_of`. *Rafael Mendonça França*
* Reverted the deprecation of `*_sql` association options. They will be
deprecated in 4.0 instead. *Jon Leighton*
* Do not eager load AR session store. ActiveRecord::SessionStore depends on
the abstract store in Action Pack. Eager loading this class would break
client code that eager loads Active Record standalone.
Fixes#7160
*Xavier Noria*
* Do not set RAILS_ENV to "development" when using `db:test:prepare` and
related rake tasks.
This was causing the truncation of the development database data when using
RSpec.
Fixes#7175.
*Rafael Mendonça França*
Important Change: The YEAR(2) data type is now deprecated because it is problematic. Support for YEAR(2) will be removed in a future release of MySQL. For more information, see Section 11.3.4, “YEAR(2) Limitations and Migrating to YEAR(4)”.
=== 3.37.0 (2012-07-02)
* Allow specifying eager_graph alias base on a per-call basis using an AliasedExpression (jeremyevans)
* Allow bin/sequel to respect multiple -l options for logging to multiple files (jeremyevans)
* Correctly handle cases where SCOPE_IDENTITY is nil in the odbc/mssql adapter (stnoonan, jeremyevans)
* Add pg_interval extension, for returning interval types as ActiveSupport::Duration instances (jeremyevans)
* Save a new one_to_one associated object once instead of twice in the nested_attributes plugin (jeremyevans)
* Don't add unnecessary filter condition when passing a new object to a one_to_one setter method (jeremyevans)
* Differentiate between column references and method references in many_through_many associations (jeremyevans)
* Use :qualify=>:deep option when joining tables in model association datasets (jeremyevans)
* Support :qualify=>:deep option to Dataset#join_table to qualify subexpressions in the expression tree (jeremyevans)
* Support :qualify=>false option to Dataset#join_table to not automatically qualify keys/values (jeremyevans)
* Make filter by associations support use column references and method references correctly (jeremyevans)
* Call super in list plugin before_create (jeremyevans) (#504)
* Do not automatically cast String to text in pg_auto_parameterize extension (jeremyevans)
* Support alter_table validate_constraint on PostgreSQL for validating constraints previously declared with NOT VALID (jeremyevans)
* Support :not_valid option when adding foreign key constraints on PostgreSQL (jeremyevans)
* Support exclusion constraints on PostgreSQL (jeremyevans)
* Allow for overriding the create/alter table generators used per Database object (jeremyevans)
* Make casting to Date/(Time/DateTime) use date/datetime functions on SQLite (jeremyevans)
* Add pg_range_ops extension for DSL support for PostgreSQL range operators and functions (jeremyevans)
* The json library is now required when running the plugin/extension specs (jeremyevans)
* Use change migrations instead of up/down migrations in the schema_dumper (jeremyevans)
* Dump unsigned integer columns with a check >= 0 constraint in the schema_dumper (stu314)
* Switch the :key_hash entry to the association :eager_loader option to use the method symbol(s) instead of the column symbol(s) (jeremyevans)
* Add :id_map entry to the hash passed to the association :eager_loader option, for easier custom eager loading (jeremyevans)
* Fix dumping of non-integer foreign key columns in the schema_dumper (jeremyevans) (#502)
* Add nested_attributes :fields option to be a proc that is called with the associated object (chanks) (#498)
* Add split_array_nil extension, for compiling :col=>[1, nil] to col IN (1) OR col IS NULL (jeremyevans)
* Add Database#extension and Dataset#extension for loading extension modules into objects automatically (jeremyevans)
* Respect an existing dataset limit when updating on Microsoft SQL Server (jeremyevans)
* Add pg_range extension, for dealing with PostgreSQL 9.2+ range types (jeremyevans)
* Make pg_array extension convert array members when typecasting Array to PGArray (jeremyevans)
* Make jdbc/postgres adapter convert array type elements (e.g. date[] arrays are returned as arrays of Date instances) (jeremyevans)
* Make the pg_inet extension handle inet[]/cidr[]/macaddr[] types when used with the pg_array extension (jeremyevans)
* Make the pg_json extension handle json[] type when used with the pg_array extension (jeremyevans)
* Fix schema parsing of h2 clob types (jeremyevans)
* Make the pg_array extension handle array types for scalar types handled by the native postgres adapter (jeremyevans)
* Generalize handling of array types in the pg_array extension, allowing easy support of custom array types (jeremyevans)
* Remove type conversion of int2vector and money types on PostgreSQL, since previous conversions were wrong (jeremyevans)
* Add eval_inspect extension, which makes Sequel::SQL::Expression#inspect attempt to return a string suitable for eval (jeremyevans)
* When emulating offset with ROW_NUMBER, default to ordering by all columns if no specific order is given (stnoonan, jeremyevans) (#490)
* Work around JRuby 1.6 ruby 1.9 mode bug in Time -> SQLTime conversion (jeremyevans)
=== 3.36.1 (2012-06-01)
* Fix jdbc adapter when DriverManager#getConnection fails (aportnov) (#488)
== v0.14.0 [2012-06-17] Michael Granger <ged@FaerieMUD.org>
Bugfixes:
#47, #104
New Methods for PostgreSQL 9 and async API support:
PG
- ::library_version
PG::Connection
- ::ping
- #escape_literal
- #escape_identifier
- #set_default_encoding
PG::Result
- #check
New Samples:
This release also comes with a collection of contributed sample scripts for
doing resource-utilization reports, graphing database statistics,
monitoring for replication lag, shipping WAL files for replication,
automated tablespace partitioning, etc. See the samples/ directory.
v0.12.2
- Respect the start_key in get_range. Resolves Issue #127.
- Fix issue with differences in gemspec and what is required. Resolves
Issue #125.
- Update to Cassandra 0.8.7 and 1.0.2.
## Rails 3.2.7 (unreleased) ##
* `:finder_sql` and `:counter_sql` options on collection associations
are deprecated. Please transition to using scopes.
*Jon Leighton*
* `:insert_sql` and `:delete_sql` options on `has_and_belongs_to_many`
associations are deprecated. Please transition to using `has_many
:through`
*Jon Leighton*
* `composed_of` has been deprecated. You'll have to write your own accessor
and mutator methods if you'd like to use value objects to represent some
portion of your models.
*Steve Klabnik*
* `update_attribute` has been deprecated. Use `update_column` if
you want to bypass mass-assignment protection, validations, callbacks,
and touching of updated_at. Otherwise please use `update_attributes`.
*Steve Klabnik*
## Rails 3.0.16 (Jul 26, 2012)
* No changes.
## Rails 3.0.14 (Jun 12, 2012)
* protect against the nesting of hashes changing the
table context in the next call to build_from_hash. This fix
covers this case as well.
CVE-2012-2695
Upstream ChangLog:
1.65 Mon Jul 23 20:16:08 PDT 2012
Finish the "Perl Data::Table Cookbook", should be a good learning material.
To download, visit https://sites.google.com/site/easydatabase/
Polish Data::Table::Excel for CPAN upload.
Minor patches to the code.
1.64 Sun Jul 8 22:01:17 PDT 2012
Add $keepRestCols to Data::Table::group();
We introduce new constants for fromCSV/fromTSV/fromFile/csv/tsv.
Data::Table::OS_UNIX = 0;
Data::Table::OS_PC = 1;
Data::Table::OS_MAC = 2;
Add method reorder(), redefine column orders
Add method melt() and cast(), concept borrowed from Reshape package in R
Add method each_group(), so one can apply a custom method to rows sharing the same key
Made a seemingly backward incompatible change to pivot()
pivot($colToSplit, $colToSplitIsNumeric, ...) is changed to
pivot($colToSplit, $colToSplitIsStringOrNumber, ...)
What is now pivot($colToSplit, $Data::Table::STRING, ...), where Data::Table::STRING has a value of 1,
was equivalent to pivot($colToSplit, 0, ...) in <= 1.63.
However, the $colToSplitIsStringOrNumber is now auto-guessed within the code, so the change is not very relevant.
Most existing code should run fine, without change.
Patch group(), piviot() to distinguish keys between empty string and undef.
Patch subTable() to take row mask array when {useRowMask=>1} is provided.
1.63 Tue Jun 12 17:05:43 PDT 2012
In this release, we patch addCol, delCol, addRow, rowMerge, colMerge to for an empty table
We introduce new methods isEmpty(), hasCol(), moveCol($colID, $newColIdx)
We introduce new constants for Data::Table::new()
Data::Table::ROW_BASED
Data::Table::COL_BASED
1.62 Fri May 25 11:40:09 PDT 2012
In this release, we address a few pain points
Data::Table::colMerge, update to support new options
{ renameCol => 1}
If specified, duplicate column names in the second table is automatically renamed (by appending _2) to avoid conflict
We introduce some constants, so we have fewer numbers to remember.
Data::Table::NUMBER
Data::Table::STRING
Data::Table::ASC
Data::Table::DESC
for sort(), you can use $t->sort('col2', Data::Table::NUMBER, Data::Table::DESC); it is equivalent to $t->sort('col2', 0, 1);
Data::Table::INNER_JOIN
Data::Table::LEFT_JOIN
Data::Table::RIGHT_JOIN
Data::Table::FULL_JOIN
for join(), you may use $t->sort($t2, Data::Table::FULL_JOIN, ['col1'], ['col1']);
it is equivalent to $t->sort($t2, 3, ['col1'], ['col1']).
match_string, match_pattern have been generating @Data::Table::OK, which is a class-level array.
$t->match_pattern() will now also store the results (array ref) in $t->{OK}, that should be used in the future.
However, @Data::Table::OK is still supported for compatibility reasons.
This is not a pain point, but conceptually nicer to be localized.
match_pattern_hash() is added. The difference is each row is fed to the pattern as a hash %_. In the case of
match_pattern, each row is fed as an array ref $_. The pattern for match_pattern_hash() becomes much cleaner.
If a table has two columns: Col_A as the 1st column and Col_B as the 2nd column, a filter "Col_A>2 AND Col_B<2"
is written before as
$t->match_pattern('$_->[0] > 2 && $_->[1] <2');
where we need to figure out $t->colIndex('Col_A') is 0 and $t->colIndex('Col_B') is 1, in order to build the pattern.
Now you can use column name directly in the pattern:
$t->match_pattern_hash('$_{Col_A} >2 && $_{Col_B} <2');
This method creates $t->{OK}, as well as @Data::Table::OK, same as match_pattern().
Data::Table::rowMerge, update to support new options
{ byName =>1, addNewCol => 1}
If byName is 1, rows in the second table are appended by matching their column names, so that the second table
can have columns in a different order.
If addNewCol is 1, columns not exist in the first table will be automatically added.
addNewCol is best used with byName. If used alone, addNewCol will just patch the two tables so that they have
the same number of columns.
Data::Table::subTable, update internal to remove side effect on column header array
Data::join add support for an option {renameCol => 1}.
If specified, duplicate column names in the second table is automatically renamed (by appending _2) to avoid conflict
1.61 Mon Feb 27 21:07:55 PST 2012
Data::Table::fromSQL now can take DBI::st instead of a SQL string. This is introduced, so that
variable binding (such as CLOB/BLOB) can be done outside the method.
1.60 Sat Feb 25 19:26:46 PST 2012
Data::Table::addRow now also can take a hash reference. Hash keys are column names,
undef will be the value, if a column name is not found in the hash.
Suggested by Federico
1.59 Sun Feb 5 00:20:00 PST 2012
I have never checked those CPAN ticket, happened to discover them and address them in this version.
Update document, explain Data::Table::fromCSV(\*STDIN, 1) can be used to read table from STDIN.
Add tbody and thead to Data::Table::html, if it's portrait.
Suggested by Ken Rosenberry.
Modify Data::Table::html and Data::Table::html2, so that it can accept coloring via CSS
The color now can be either specified as an array as before, or as three CSS class names
Suggested by Xavier Robin
1.58 Thu Feb 2 20:33:03 PST 2012
Patch join(), prior version of join considers two NULL keys to be equal
update document, clarify that rowMerge assumes table columns in the same order
Thanks to Ulrik Stervbo.
1.57 Thu Apr 23 15:22:36 PDT 2009
Patch pivot(), it throws warning before, when colToFill is undef.
1.56 Fri Aug 22 15:53:29 PDT 2008
When the first line in a TSV is not a header, but contains strings such as \t.
The program will not transform \t to a tab.
Modify fromTSV, so that \t, \N (etc) transformation is optional.
Add transform_element flag to fromTSV method to turn on/off the transformation.
Thanks to Bin Zhou.
1.55 Mon May 5 10:29:44 PDT 2008
Patch parseCSV. fromFile guesses the wrong delimiter if some ending columns are empty.
Version 5.0.4
-------------
Released: 22th March 2012
Bug fixes.
* Fix#3468882 "UPDATE single row with varchar key: empty where clause", reported by "Dirk Kraemer"
* Fix XSS in function.php, reported by Mateusz Goik
* Fix bug where renaming a tablespace was leading to an error
* Fix a bug where clicking to "Show all schemas" on schema privilege page leads back to the latest tab used in database level
* Fix a bug when executing a query from the history
* Fix bad confirmation message when droping an autovacuum table setup
* Fix bug #3429633 '"Back" link from "Browse" leads to error'
* Fix a PHP warning when Slony conf parameters are not set
* Show cancel/kill actions in process page only if role is a superuser
* Some more small code cleanup and fixes.
Version 5.0.3
-------------
Released: 3rd October 2011
Some bug fixes.
* Fix bug with enable/disable triggers on multiple triggers (Dawid 'DeyV' Polak)
* Fix bug #3353670: Error when executing a report with paging
* Fix bug with OpenBSD about where setting application_name using PGOPTIONS was raising an ERROR
* Two security fix about code injection, reported by Mateusz Goik, fixed by ioguix
* Fix character-encoding problem with autocomplete
- bug #3521416 [interface] JS error when editing index
- bug #3521313 [core] Call to undefined function __()
- bug #3521016 [edit] NOW() function incorrectly selected
- bug [GUI] Invalid HTML code on transformation_overview.php
- bug #3522930 [browse] Missing validation in Ajax mode
- bug Fix popup message on build SQL of import
- bug #3523499 [core] Make X-WebKit-CSP work better
- replace Highcharts with jqplot for query profiling, zoom search
- bug #3531584 [interface] No form validation in change password dialog
- bug #3531585 [interface] Broken password validation in copy user form
- bug #3531586 [unterface] Add user form prints JSON when user presses enter
- bug #3534121 [config] duplicate line in config.sample.inc.php
- bug #3534311 [interface] Grid editing incorrectly parses ENUM/SET values
- bug #3510196 [core] More clever URL rewriting with ForceSSL
Due to updated PKG_DEVELOPER checks, postgresql83-server started failing
with the following message:
ERROR: lib/postgresql/plpgsql.so: missing libintl.so.8
The plpgsql.so library had no rpath set other than what the base compiler
adds by default. On DragonFly, the libintl.so library would likely have
been found anyway as /usr/pkg/lib is part of the LD_CONFIG hint file
search path, but that isn't a guarantee.
The new patch adds ${libdir} to the plpgsql.so rpath so it passes
PKG_DEVELOPER checks now.
Due to updated PKG_DEVELOPER checks, postgresql84-server started failing
with the following message:
ERROR: lib/postgresql/plpgsql.so: missing libintl.so.8
The plpgsql.so library had no rpath set other than what the base compiler
adds by default. On DragonFly, the libintl.so library would likely have
been found anyway as /usr/pkg/lib is part of the LD_CONFIG hint file
search path, but that isn't a guarantee.
The new patch adds ${libdir} to the plpgsql.so rpath so it passes
PKG_DEVELOPER checks now.
Changes:
* autoconf 2.68 -> 2.69, automake 1.11.1 -> 1.12.2,
libtool 2.2.10 -> 2.4.2.
* Corrected dereference of NULL pointer in db_deinit_limit()
and db_deinit_threshold() introduced in the 1.0.2 version.
* Converted all flags to bool data type.
Provided by Andrey Simonenko in PR 46692.
from 1.35nb1 to 1.37.
Upstream changes (since 1.35):
1.37 to be released
- Updated to SQLite 3.7.12.1 (ISHIGAKI)
1.36_04 Sat 19 May 2012
- Final developer release
- Updated to SQLite 3.7.12 (ISHIGAKI)
- Tweaked Makefile.PL to behave better during the Bsymbolic
check (HMBRAND)
- Added SQLITE_WITHOUT_ZONEMALLOC for older MacOS X (ISHIGAKI)
1.36_03 Mon 7 May 2012
- Updated to SQLite 3.7.11 (ISHIGAKI)
- Fix >32bit integer truncation and other sqlite_set_result
condition issue (Yuriy Kaminskiy)
- Fix integer overflow in passing argument to perl function
(Yuriy Kaminskiy)
- Convert unsigned -> int64 when possible (Yuriy Kaminskiy)
- Turned datatype mismatch error (introduced in 1.34_02) into
a warning (you can disable this warning by setting PrintWarn
attribute to false). (ISHIGAKI)
- Refactored sqlite_is_number to fix various corner cases
(ISHIGAKI)
1.36_02 Thu 23 Feb 2012
- Downgraded SQLite to 3.7.9, as 3.7.10 turned out to be
broken on the latest MacOS X (due to a missing symbol),
and broke other modules that typically use temporary tables
under a few environments too. As of this writing, would-be
3.7.11 seems fine, but it would take another month to be
released. (ISHIGAKI)
1.36_01 Thu 19 Jan 2012
*** CHANGES THAT MAY POSSIBLY BREAK YOUR OLD APPLICATIONS ***
- Updated to SQLite 3.7.10 (ISHIGAKI)
Note that this release changed the default schema format
number, that means newly created database files will be
unreadable by SQLite version prior to 3.3.0 (2006-01-10)
(or DBD::SQLite prior to 1.12) unless you explicitly issue
"PRAGMA legacy_file_format=ON".
- Enabled SQLITE_ENABLE_FTS4
- Enabled SQLITE_ENABLE_STAT3
- Resolved#73159: FTS tokenizer segfault (ISHIGAKI)
- Resolved#73787: sqlite_see_if_its_a_number causes a buffer
overflow (ISHIGAKI)
- Resolved#73314 for DBD-SQLite: binding of 64bit integers fail
on 1.34_02 (ISHIGAKI)
- Implemented sqlite_trace and sqlite_profile methods for simpler
tracing/profiling; use DBI_TRACE/DBI_PROFILE for more
complicated cases (ISHIGAKI)
1.622.
pkgsrc changes:
- fixing download directory
Upstream changes:
Changes in DBI 1.622 (svn r15327) 6th June 2012
Fixed lack of =encoding in non-ASCII pod docs. RT#77588
Corrected typo in DBI::ProfileDumper thanks to Finn Hakansson.
Changes in DBI 1.621 (svn r15315) 21st May 2012
Fixed segmentation fault when a thread is created from
within another thread RT#77137, thanks to Dave Mitchell.
Updated previous Changes to credit Booking.com for sponsoring
Dave Mitchell's recent DBI optimization work.
Changes:
* Fix incorrect password transformation in contrib/pgcrypto's DES crypt()
function (Solar Designer)
* Ignore SECURITY DEFINER and SET attributes for a procedural language's call
handler (Tom Lane)
* Make contrib/citext's upgrade script fix collations of citext arrays and
domains over citext (Tom Lane)
* Allow numeric timezone offsets in timestamp input to be up to 16 hours away
from UTC (Tom Lane)
* Fix timestamp conversion to cope when the given time is exactly the last DST
transition time for the current timezone (Tom Lane)
* Fix text to name and char to name casts to perform string truncation
correctly in multibyte encodings (Karl Schnaitter)
* Fix memory copying bug in to_tsquery() (Heikki Linnakangas)
* Ensure txid_current() reports the correct epoch when executed in hot standby
(Simon Riggs)
* Fix planner's handling of outer PlaceHolderVars within subqueries (Tom Lane)
* Fix planning of UNION ALL subqueries with output columns that are not simple
variables (Tom Lane)
* Fix slow session startup when pg_attribute is very large (Tom Lane)
* Ensure sequential scans check for query cancel reasonably often (Merlin
Moncure)
* Ensure the Windows implementation of PGSemaphoreLock() clears
ImmediateInterruptOK before returning (Tom Lane)
* Show whole-row variables safely when printing views or rules (Abbas Butt, Tom
Lane)
* Fix COPY FROM to properly handle null marker strings that correspond to
invalid encoding (Tom Lane)
* Fix EXPLAIN VERBOSE for writable CTEs containing RETURNING clauses (Tom Lane)
* Fix PREPARE TRANSACTION to work correctly in the presence of advisory locks
(Tom Lane)
* Fix truncation of unlogged tables (Robert Haas)
* Ignore missing schemas during non-interactive assignments of search_path (Tom
Lane)
* Fix bugs with temporary or transient tables used in extension scripts (Tom
Lane)
* Ensure autovacuum worker processes perform stack depth checking properly
(Heikki Linnakangas)
* Fix logging collector to not lose log coherency under high load (Andrew
Dunstan)
* Fix logging collector to ensure it will restart file rotation after receiving
SIGHUP (Tom Lane)
* Fix "too many LWLocks taken" failure in GiST indexes (Heikki Linnakangas)
* Fix WAL replay logic for GIN indexes to not fail if the index was
subsequently dropped (Tom Lane)
* Correctly detect SSI conflicts of prepared transactions after a crash (Dan
Ports)
* Avoid synchronous replication delay when committing a transaction that only
modified temporary tables (Heikki Linnakangas)
* Fix error handling in pg_basebackup (Thomas Ogrisegg, Fujii Masao)
* Fix walsender to not go into a busy loop if connection is terminated (Fujii
Masao)
* Fix memory leak in PL/pgSQL's RETURN NEXT command (Joe Conway)
* Fix PL/pgSQL's GET DIAGNOSTICS command when the target is the function's
first variable (Tom Lane)
* Ensure that PL/Perl package-qualifies the _TD variable (Alex Hunsaker)
* Fix PL/Python functions returning composite types to accept a string for
their result value (Jan Urbanski)
* Fix potential access off the end of memory in psql's expanded display (\x)
mode (Peter Eisentraut)
* Fix several performance problems in pg_dump when the database contains many
objects (Jeff Janes, Tom Lane)
* Fix memory and file descriptor leaks in pg_restore when reading a
directory-format archive (Peter Eisentraut)
* Fix pg_upgrade for the case that a database stored in a non-default
tablespace contains a table in the cluster's default tablespace (Bruce Momjian)
* In ecpg, fix rare memory leaks and possible overwrite of one byte after the
sqlca_t structure (Peter Eisentraut)
* Fix contrib/dblink's dblink_exec() to not leak temporary database connections
upon error (Tom Lane)
* Fix contrib/dblink to report the correct connection name in error messages
(Kyotaro Horiguchi)
* Fix contrib/vacuumlo to use multiple transactions when dropping many large
objects (Tim Lewis, Robert Haas, Tom Lane)
* Update time zone data files to tzdata release 2012c for DST law changes in
Antarctica, Armenia, Chile, Cuba, Falkland Islands, Gaza, Haiti, Hebron,
Morocco, Syria, and Tokelau Islands;
Changes:
* Fix incorrect password transformation in contrib/pgcrypto's DES crypt()
function (Solar Designer)
* Ignore SECURITY DEFINER and SET attributes for a procedural language's call
handler (Tom Lane)
* Allow numeric timezone offsets in timestamp input to be up to 16 hours away
from UTC (Tom Lane)
* Fix timestamp conversion to cope when the given time is exactly the last DST
transition time for the current timezone (Tom Lane)
* Fix text to name and char to name casts to perform string truncation
correctly in multibyte encodings (Karl Schnaitter)
* Fix memory copying bug in to_tsquery() (Heikki Linnakangas)
* Ensure txid_current() reports the correct epoch when executed in hot standby
(Simon Riggs)
* Fix planner's handling of outer PlaceHolderVars within subqueries (Tom Lane)
* Fix slow session startup when pg_attribute is very large (Tom Lane)
* Ensure sequential scans check for query cancel reasonably often (Merlin
Moncure)
* Ensure the Windows implementation of PGSemaphoreLock() clears
ImmediateInterruptOK before returning (Tom Lane)
* Show whole-row variables safely when printing views or rules (Abbas Butt, Tom
Lane)
* Fix COPY FROM to properly handle null marker strings that correspond to
invalid encoding (Tom Lane)
* Ensure autovacuum worker processes perform stack depth checking properly
(Heikki Linnakangas)
* Fix logging collector to not lose log coherency under high load (Andrew
Dunstan)
* Fix logging collector to ensure it will restart file rotation after receiving
SIGHUP (Tom Lane)
* Fix WAL replay logic for GIN indexes to not fail if the index was
subsequently dropped (Tom Lane)
* Fix memory leak in PL/pgSQL's RETURN NEXT command (Joe Conway)
* Fix PL/pgSQL's GET DIAGNOSTICS command when the target is the function's
first variable (Tom Lane)
* Fix potential access off the end of memory in psql's expanded display (\x)
mode (Peter Eisentraut)
* Fix several performance problems in pg_dump when the database contains many
*bjects (Jeff Janes, Tom Lane)
* Fix pg_upgrade for the case that a database stored in a non-default
tablespace contains a table in the cluster's default tablespace (Bruce Momjian)
* In ecpg, fix rare memory leaks and possible overwrite of one byte after the
sqlca_t structure (Peter Eisentraut)
* Fix contrib/dblink's dblink_exec() to not leak temporary database connections
upon error (Tom Lane)
* Fix contrib/dblink to report the correct connection name in error messages
(Kyotaro Horiguchi)
* Fix contrib/vacuumlo to use multiple transactions when dropping many large
*bjects (Tim Lewis, Robert Haas, Tom Lane)
* Update time zone data files to tzdata release 2012c for DST law changes in
Antarctica, Armenia, Chile, Cuba, Falkland Islands, Gaza, Haiti, Hebron,
Morocco, Syria, and Tokelau Islands;
Changes:
* Fix incorrect password transformation in contrib/pgcrypto's DES crypt()
function (Solar Designer)
* Ignore SECURITY DEFINER and SET attributes for a procedural language's call
handler (Tom Lane)
* Allow numeric timezone offsets in timestamp input to be up to 16 hours away
from UTC (Tom Lane)
* Fix timestamp conversion to cope when the given time is exactly the last DST
transition time for the the current timezone (Tom Lane)
* Fix text to name and char to name casts to perform string truncation
correctly in multibyte encodings (Karl Schnaitter)
* Fix memory copying bug in to_tsquery() (Heikki Linnakangas)
* Fix planner's handling of outer PlaceHolderVars within subqueries (Tom Lane)
* Fix slow session startup when pg_attribute is very large (Tom Lane)
* Ensure sequential scans check for query cancel reasonably often (Merlin
Moncure)
* Ensure the Windows implementation of PGSemaphoreLock() clears
ImmediateInterruptOK before returning (Tom Lane)
* Show whole-row variables safely when printing views or rules (Abbas Butt, Tom
Lane)
* Fix COPY FROM to properly handle null marker strings that correspond to
invalid encoding (Tom Lane)
* Ensure autovacuum worker processes perform stack depth checking properly
(Heikki Linnakangas)
* Fix logging collector to not lose log coherency under high load (Andrew
Dunstan)
* Fix logging collector to ensure it will restart file rotation after receiving
SIGHUP (Tom Lane)
* Fix WAL replay logic for GIN indexes to not fail if the index was
subsequently dropped (Tom Lane)
* Fix memory leak in PL/pgSQL's RETURN NEXT command (Joe Conway)
* Fix PL/pgSQL's GET DIAGNOSTICS command when the target is the function's
first variable (Tom Lane)
* Fix potential access off the end of memory in psql's expanded display (\x)
mode (Peter Eisentraut)
* Fix several performance problems in pg_dump when the database contains many
objects (Jeff Janes, Tom Lane)
* Fix contrib/dblink's dblink_exec() to not leak temporary database connections
upon error (Tom Lane)
* Fix contrib/dblink to report the correct connection name in error messages
(Kyotaro Horiguchi)
* Update time zone data files to tzdata release 2012c for DST law changes in
Antarctica, Armenia, Chile, Cuba, Falkland Islands, Gaza, Haiti, Hebron,
Morocco, Syria, and Tokelau Islands; also historical corrections for Canada.
Changes:
* Fix incorrect password transformation in contrib/pgcrypto's DES crypt() function (Solar Designer)
* If a password string contained the byte value 0x80, the remainder of the password was ignored, causing the password to be much weaker than it appeared. With this fix, the rest of the string is properly included in the DES hash. Any stored password values that are affected by this bug will thus no longer match, so the stored values may need to be updated. (CVE-2012-2143)
* Ignore SECURITY DEFINER and SET attributes for a procedural language's call handler (Tom Lane)
* Applying such attributes to a call handler could crash the server. (CVE-2012-2655)
* Allow numeric timezone offsets in timestamp input to be up to 16 hours away from UTC (Tom Lane)
* Some historical time zones have offsets larger than 15 hours, the previous limit. This could result in dumped data values being rejected during reload.
* Fix timestamp conversion to cope when the given time is exactly the last DST transition time for the current timezone (Tom Lane)
* This oversight has been there a long time, but was not noticed previously because most DST-using zones are presumed to have an indefinite sequence of future DST transitions.
* Fix text to name and char to name casts to perform string truncation correctly in multibyte encodings (Karl Schnaitter)
* Fix memory copying bug in to_tsquery() (Heikki Linnakangas)
* Fix slow session startup when pg_attribute is very large (Tom Lane)
* If pg_attribute exceeds one-fourth of shared_buffers, cache rebuilding code that is sometimes needed during session start would trigger the synchronized-scan logic, causing it to take many times longer than normal. The problem was particularly acute if many new sessions were starting at once.
* Ensure sequential scans check for query cancel reasonably often (Merlin Moncure)
* A scan encountering many consecutive pages that contain no live tuples would not respond to interrupts meanwhile.
* Ensure the Windows implementation of PGSemaphoreLock() clears ImmediateInterruptOK before returning (Tom Lane)
* This oversight meant that a query-cancel interrupt received later in the same query could be accepted at an unsafe time, with unpredictable but not good consequences.
* Show whole-row variables safely when printing views or rules (Abbas Butt, Tom Lane)
* Corner cases involving ambiguous names (that is, the name could be either a table or column name of the query) were printed in an ambiguous way, risking that the view or rule would be interpreted differently after dump and reload. Avoid the ambiguous case by attaching a no-op cast.
* Ensure autovacuum worker processes perform stack depth checking properly (Heikki Linnakangas)
* Previously, infinite recursion in a function invoked by auto-ANALYZE could crash worker processes.
* Fix logging collector to not lose log coherency under high load (Andrew Dunstan)
* The collector previously could fail to reassemble large messages if it got too busy.
* Fix logging collector to ensure it will restart file rotation after receiving SIGHUP (Tom Lane)
* Fix PL/pgSQL's GET DIAGNOSTICS command when the target is the function's first variable (Tom Lane)
* Fix several performance problems in pg_dump when the database contains many objects (Jeff Janes, Tom Lane)
* pg_dump could get very slow if the database contained many schemas, or if many objects are in dependency loops, or if there are many owned sequences.
* Fix contrib/dblink's dblink_exec() to not leak temporary database connections upon error (Tom Lane)
* Update time zone data files to tzdata release 2012c for DST law changes in Antarctica, Armenia, Chile, Cuba, Falkland Islands, Gaza, Haiti, Hebron, Morocco, Syria, and Tokelau Islands; also historical corrections for Canada.
Mysql2
Mysql2 is a modern, simple and very fast Mysql library for Ruby - binding to
libmysql.
The Mysql2 gem is meant to serve the extremely common use-case of connecting,
querying and iterating on results. Some database libraries out there serve as
direct 1:1 mappings of the already complex C API's available. This one is
not.
It also forces the use of UTF-8 (or binary) for the connection (and all
strings in 1.9, unless Encoding.default_internal is set then it'll convert
from UTF-8 to that encoding) and uses encoding-aware MySQL API calls where it
can.
pkgsrc change: add RUBY_RAILS_STRICT_DEP which will be enabled later.
## Rails 3.1.6 (Jun 12, 2012)
* protect against the nesting of hashes changing the
table context in the next call to build_from_hash. This fix
covers this case as well.
CVE-2012-2695
pkgsrc change: add RUBY_RAILS_STRICT_DEP which will be enabled later.
## Rails 3.0.14 (Jun 12, 2012)
* protect against the nesting of hashes changing the
table context in the next call to build_from_hash. This fix
covers this case as well.
CVE-2012-2695
## Rails 3.2.6 (Jun 12, 2012) ##
* protect against the nesting of hashes changing the
table context in the next call to build_from_hash. This fix
covers this case as well.
CVE-2012-2695
* Revert earlier 'perf fix' (see 3.2.4 changelog / GH #6289). This
change introduced a regression (GH #6609). assoc.clear and
assoc.delete_all have loaded the association before doing the delete
since at least Rails 2.3. Doing the delete without loading the
records means that the `before_remove` and `after_remove` callbacks do
not get invoked. Therefore, this change was less a fix a more an
optimisation, which should only have gone into master.
*Jon Leighton*
* In-memory databases that are specified using URI filenames are allowed to use
shared cache, so that the same in-memory database can be accessed from
multiple database connections.
* Recognize and use the mode=memory query parameter in URI filenames.
* Avoid resetting the schema of shared cache connections when any one
connection closes. Instead, wait for the last connection to close before
reseting the schema.
* In the RTREE extension, when rounding 64-bit floating point numbers to 32-bit
for storage, always round in a direction that causes the bounding box to get
larger.
* Adjust the unix driver to avoid unnecessary calls to fchown().
* Add interfaces sqlite3_quota_ferror() and sqlite3_quota_file_available() to
the test_quota.c module.
* The sqlite3_create_module() and sqlite3_create_module_v2() interfaces return
SQLITE_MISUSE on any attempt to overload or replace a virtual table module.
The destructor is always called in this case, in accordance with historical
and current documentation.
PR 46534 by Wen Heping.
While here, set LICENSE=php.
Changes since 1.7.13:
All drivers:
* Made the definition of DB_common::raiseError() compatible with
PEAR::raiseError() by adding dummy parameters. Request 11581.
* Fixed SKIP block in the 20locale.phpt test.
* Fixed non-persistent connections to really be non-persistent when unserialising.
Bug 15115.
ibase:
* Changed the order of regular expressions applied when mapping errors so that
constraint violations in PHP 4.4 are actually reported as constraint
violations and not table not found errors.
* Fixed a test that should have been skipped in PHP 4.4.
ifx:
* Use PCRE rather than ereg. Bug 17722, patch by Olle Jonsson.
mssql:
* Fix escaping of string values with lines ending in a backslash character.
Bug 16117.
oci8:
* Fix for last_query reconstruction with lots of placeholders. Bug 12418, patch
by Nicholas Evans.
* Fix replacement of values in last_query for :bind's numbered over 10.
Bug 14603.
* Unset $_prepared_queries in freePrepared(). Bug 14271.
pgsql:
* Added special-case to handle SAVEPOINT queries as manip queries. Bug 12260.
* Implement rudimentary support for WITH...SELECT queries. Bug 17136.
sqlite:
* Added support for another error message in the SQLite driver. Bug 12105, patch
by Adam Ashley.
* Implement auto_increment support in tableInfo(). Request 13193.
* The --safe-mode server option now is deprecated and will be removed in MySQL
5.6.
* Performance: InnoDB: Improved the algorithm related to adaptive flushing.
This fix increases the rate of flushing in cases where compression is used
and the data set is larger than the buffer pool, leading to eviction.
* InnoDB: In a transaction using the REPEATABLE READ isolation level, an UPDATE
or DELETE statement for an InnoDB table could sometimes overlook rows
recently committed by other transactions. As explained in Section 14.3.9.2,
“Consistent Nonlocking Reads”, DML statements within a REPEATABLE READ
transaction apply to rows committed by other transactions, even if a query
could not see those rows.
* InnoDB: The Innodb_buffer_pool_pages_flushed status variable was incorrectly
set to twice the value it should be. Its value should never exceed the value
of Innodb_pages_written.
* InnoDB: The error handling and message was improved for attempting to create
a foreign key with a column referencing itself. The message suggested
a potential problem with the data dictionary, when no such problem existed.
* InnoDB: The CHECK TABLE statement could fail for a large InnoDB table due to
a timeout value of 2 hours. For typical storage devices, the issue could
occur for tables that exceeded approximately 200 or 350 GB, depending on I/O
speed. The fix relaxes the locking performed on the table being checked,
which makes the timeout less likely. It also makes InnoDB recognize the
syntax CHECK TABLE QUICK, which avoids the possibility of the timeout
entirely.
* Replication: It was theoretically possible for concurrent execution of more
than one instance of SHOW BINLOG EVENTS to crash the MySQL Server.
* Replication: Statements using AUTO_INCREMENT, LAST_INSERT_ID(), RAND(), or
user variables could be applied in the wrong context on the slave when using
statement-based replication and replication filtering server options (see
Section 16.2.3, “How Servers Evaluate Replication Filtering Rules”).
* Replication: An INSERT into a table that has a composite primary key that
includes an AUTO_INCREMENT column that is not the first column of this
composite key is not safe for statement-based binary logging or replication.
Such statements are now marked as unsafe and fail with an error when using
the STATEMENT binary logging format. For more information, see Section
16.1.2.3, “Determination of Safe and Unsafe Statements in Binary Logging”, as
well as Section 16.4.1.1, “Replication and AUTO_INCREMENT”.
3.2.4 had some regression related problem.
## Rails 3.2.4 (May 31, 2012) ##
* Perf fix: Don't load the records when doing assoc.delete_all.
GH #6289. *Jon Leighton*
* Association preloading shouldn't be affected by the current scoping.
This could cause infinite recursion and potentially other problems.
See GH #5667. *Jon Leighton*
* Datetime attributes are forced to be changed. GH #3965
* Fix attribute casting. GH #5549
* Fix#5667. Preloading should ignore scoping.
* Predicate builder should not recurse for determining where columns.
Thanks to Ben Murphy for reporting this! CVE-2012-2661
## Rails 3.1.5 (May 31, 2012) ##
* Fix type_to_sql with text and limit on mysql/mysql2. Fix GH #3931.
* only log an error if there is a logger. fixes#5226
* fix activerecord query_method regression with offset into Fixnum
* predicate builder should not recurse for determining where columns.
Thanks to Ben Murphy for reporting this! CVE-2012-2661
* Rails 3.0.13 (May 31, 2012)
* Bugfix circular reference while saving has_one relationship
* Test for circular reference while saving has_one relationship
* Fixed typo in composed_of example with Money#<=>
* predicate builder should not recurse for determining where columns.
Thanks to Ben Murphy for reporting this! CVE-2012-2661
=== 3.36.0 (2012-06-01)
* Use Bignum generic type when dumping unsigned integer types that could potentially overflow 32-bit signed integer values (stu314)
* Support :transform option in the nested_attributes plugin, for automatically preprocessing input hashes (chanks)
* Support :unmatched_pk option in the nested_attributes plugin, can be set to :create for associated objects with natural keys (chanks)
* Support composite primary keys in the nested_attributes plugin (chanks)
* Allow Model#from_json in the json_serializer plugin to use set_fields if a :fields option is given (jeremyevans)
* Support :using option to set_column_type on PostgreSQL, to force a specific conversion from the old value to the new value (jeremyevans)
* Drop indexes in the reverse order that they were added in the schema dumper (jeremyevans)
* Add :index_names option to schema dumper method, can be set to false or :namespace (stu314, jeremyevans)
* Add Database#global_index_namespace? for checking if index namespace is global or per table (jeremyevans)
* Fix typecasting of time columns on jdbc/postgres, before could be off by a millisecond (jeremyevans)
* Add document explaining Sequel's object model (jeremyevans)
* Attempt to detect more disconnect errors in the mysql2 adapter (jeremyevans)
* Add is_current? and check_current to the migrators, for checking/raising if there are unapplied migrations (pvh, jeremyevans) (#487)
* Add a jdbc subadapter for the Progress database (Michael Gliwinski, jeremyevans)
* Add pg_inet extension, for working with PostgreSQL inet and cidr types (jeremyevans)
* Fix bug in model column setters when passing an object that raises an exception for ==('') (jeremyevans)
* Add eager_each plugin, which makes each on an eagerly loaded dataset do eager loading (jeremyevans)
* Fix bugs when parsing foreign keys for tables with explicit schema on PostgreSQL (jeremyevans)
* Remove Database#case_sensitive_like on SQLite (jeremyevans)
* Remove Database#single_value in the native sqlite adapter (jeremyevans)
* Make Dataset#get work with nil and false arguments (jeremyevans)
* Make json_serializer plugin respect :root=>:collection and :root=>:instance options (jeremyevans)
* Support savepoints in prepared transactions on MySQL 5.5.23+ (jeremyevans)
* Add pg_json extension, for working with PostgreSQL 9.2's new json type (jeremyevans)
* In the optimistic locking plugin, make refresh and save after a failed save work correctly (jeremyevans)
* Support partial indexes on Microsoft SQL Server 2008 (jeremyevans)
* Make Database#call pass blocks (jeremyevans)
* Support :each when preparing statements, useful for iterating over large datasets (jeremyevans)
* Support :if_exists and :cascade options when dropping indexes on PostgreSQL (jeremyevans)
* Support :concurrently option when adding and dropping indexes on PostgreSQL (jeremyevans)
* Make Database#transaction on PostgreSQL recognize :synchronous, :read_only, and :deferrable options (jeremyevans)
* Support :sql_mode option when connecting to MySQL (jeremyevans)
* Apply :timeout MySQL connection setting on do, jdbc, and swift adapters (jeremyevans)
* Don't set Sequel::Model.db automatically when creating an anonymous class with an associated database object (jeremyevans)
* Add :connection_handling=>:queue option to the threaded connection pools, may reduce chance of stale connections (jeremyevans) (#481)
* Handle JRuby 1.7 exception handling changes when connecting in the jdbc adapter (jeremyevans) (#477)
* Make *_to_one association setters be noops if you pass a value that is the same as the cached value (jeremyevans)
* Make Model#refresh return self when using dirty plugin (jeremyevans)
=== 3.35.0 (2012-05-01)
* Correctly handle parsing schema for tables in other databases on MySQL (jeremyevans)
* Add DSL support for the modulus operator (%), similar to the bitwise operators (jeremyevans)
* Fix possible thread-safety issues on non-GVL ruby implementations (jeremyevans)
* Allow truncation of multiple tables at the same time on PostgreSQL (jeremyevans)
* Allow truncate to take a :cascade, :only, and :restart options on PostgreSQL (hgimenez, jeremyevans)
* Allow json and xml serializers to support :array option in class to_json method to serialize existing array of model instances (jeremyevans)
* Add dirty plugin, which saves the initial value of the column when the value is changed (jeremyevans)
* create_table now supports an :as option to create a table directly from the results of a query (jeremyevans)
* The :index option when creating columns in the schema generator can now be a hash of options passed to index (jeremyevans)
* Parsing the default column values in the oracle adapter no longer requires superuser privileges (Jason Hines)
* Add Database#cache_schema to allow schema caching to be turned of, useful for development modes where models are reloaded (jeremyevans)
* Correctly handle errors that occur when rolling back transactions (jeremyevans)
* Recognize identity type in the schema dumper (jeremyevans) (#468)
* Don't assign instance variables to Java objects, for future JRuby 2.0 support (jeremyevans) (#466)
* Use date and timestamp formats that are multilanguage and not DATEFORMAT dependent on Microsoft SQL Server (jeremyevans)
* Add Database#log_exception, which logs when a query raises an exception, for easier overriding (jeremyevans) (#465)
* Make the migrators only use transactions by default if the database supports transactional DDL (jeremyevans)
* Add Database#supports_transactional_ddl? for checking if DDL statements can be rolled back in transactions (jeremyevans)
* Don't use auto parameterization when using cursors in the pg_auto_parameterize extension (jeremyevans) (#463)
* No longer escape backslashes in strings by default, fixes doubled backslashes on some adapters (jeremyevans)
* Escape blackslash-carriage return-line feed in strings on Microsoft SQL Server (mluu, jeremyevans) (#462, #461)
* Remove Array#all_two_pairs? (jeremyevans)
* Remove Dataset#disable_insert_returning on PostgreSQL (jeremyevans)
* Remove support for PostgreSQL <8.2 (jeremyevans)
* Remove support for Ruby <1.8.7 (jeremyevans)
* Fixed incompatibility problems of Java DPL with JDK7, so DPL will now work
with JDK7.
* Added a flag to allow database locking to be disabled from the SQL API.
* Fixed a bug that could allocate a heap data page in a region after the region
creation has been undone.
* Redundant whitespaces are now ignored in DB_CONFIG lines pertaining to
directories, e.g. set_data_dir.
* Fixed a bug that caused DB_ENV->backup to stop early if DB_BACKUP_FILES was
not set and a non-DB file was in the data directory.
* Fixed a rare race condition that could cause a crash if two processes opened
the same database at the same time.
* Fixed missing cross compiling capability for the JDBC driver.
* Allow the same system/machine to host both a master and a replica database
through the use of relative pathnames.
* Fixed a bug in the Java API where EnvironmentConfig.setCreateDir would fail
to configure the environment.
* Fixed an assert failure in btreeCompare when allocating memory in the wrong
thread was causing a memory leak.
* Fixed a bug in the Java API where concurrent operations that change the
database schema could lead to a hang.
* Added JDBC code to the code base and updated the windows build files to
include the JDBC solution.
* Fixed a bug where the heap's region size was not getting swapped correctly in
mixed-endian environments.
* Fixed a bug in the db_sql_jdbc project file for vs2010 that was preventing it
from building correctly.
0.52 2012-05-29T18:32:42Z
- The DBI params are now encapsulated in a code reference, rather than
stored as the passed array, so that the password is less likely to be
displayed in a dump. Idea borrowed from Rose::DB. Patch from Brad
Bowman.
- Eliminated warning about the non-portability of a v-string on older
Perls. Thanks to Mark Lawrence for the report (Issue #17).
- Removed a couple of leftover examples of the `catch` feature removed
in v0.50. Thanks to Randy Stauner for the patch!
- Eliminated more "Use of qw(...) as parentheses" syntax errors in tests
when running on Perl 5.17.
- Add mention of DBI Callbacks parameter to the docs, as folks often ask
for this functionality, not realizing that the DBI already provides
it. Randy Stauner.
0.51 2012-02-18T00:14:48Z
- Fixed internal exception handling on Perls less than 5.14, where some
exceptions woult not be propagated to the caller.
0.50 2012-02-14T18:25:07Z
- The `catch` functionality has been completely removed. Any `catch`
block passed to `run()`, `txn()`, or `svp()` will be ignored. Errors
will trigger fatal exceptions.
- Removed the `with` method, which was deprecated in 0.34. Use `mode()`
instead.
- Fixed bad method call attempted when an `svp()` block failed. Thanks
to Ricardo SIGNES for the regression test and the fix.
- Fixed creation of the SQLite driver savepoint methods so that they
exist and work even if the driver is loaded before DBD::SQLite. Thanks
to Ricardo SIGNES for the regression test and the fix.
SQLAlchemy 0.6.9, a maintenance release of the 0.6 branch, is now
available.
The 0.6 series has not seen a release since 0.6.8 was released
nearly a year ago. During that time, the 0.7 series has gone through
over six releases, gaining many new features and bug fixes. A
portion of these fixes have been backported to 0.6 since 0.6.8,
including twelve ORM fixes, so 0.6.9 is an effort to make these
fixes widely available to those installations who have not yet
upgraded to 0.7. The release coincides at the same time as release
0.7.7, which is also fast approaching maintenance-only mode with
0.8 now well underway and close to initial beta releases.
Care has been taken in 0.6.9 to minimize as much as possible the
potential for backwards-incompatibilities with existing code, which
sometimes can occur if an application is unknowingly relying upon
a buggy behavior that is then fixed. So while 0.6.9 is a very
conservative release, it does still represent changes over a year's
time; users are strongly urged to carefully review the CHANGES file
to see exactly what's been adjusted, and to test it fully in their
existing 0.6 applications before promoting it to production.