- bug #3563824 [export] Support Apache's mod_deflate
- bug #3585523 [interface] Inline query editing broken after row update
- bug #3586389 [setup] Cannot switch language in /setup
- bug #3585695 [CSS] Font size in inline query editor is way too big
- bug #3588354 [l10n] Portuguese Language not displaying correctly
- bug #3591412 [status] Live charts don't work for non-default server
- bug [core] Proxy ajax calls to pma.net to avoid browser notices
- bug #3593534 [tracking] Structure Snapshot on tracked view renders
invalid SQL
- bug #3544366 [events] Event comments not saved
Approved by Thomas Klausner.
v0.17.0
- multi_get_columns with only one query (courtesy @christian-blades-cb)
- documentation fixes for get and multi_get (issue #136, courtesy @christian-blades-cb)
v0.16.0
- New :queue_size option for batch mode (courtesy @vicentllongo)
- Cassandra 1.1 support (courtesy @hawknewton)
## 0.10.10 2012-10-11
No changes
## 0.10.9 2012-08-13
* Handle bigint insert id's
* Add handling for invalid date and datetimes with value 0000-00-00
* Handle empty database names for connecting to the default database
## 0.10.10 2012-10-11
* JRuby performance improvements
* Reconnect added on JRuby
* do\_sqlite3 C driver supports busy\_timeout
## 0.10.9 2012-08-13
* Don't try to escape queries when no binding parameters are given
=== 3.42.0 (2012-12-03)
* If an exception occurs while committing a transaction, attempt to rollback (jeremyevans)
* Support setting default string column sizes on a per-Database basis via default_string_column_size (jeremyevans)
* Reset Model.instance_dataset when extending the model's dataset (jeremyevans)
* Make the force_encoding plugin work with frozen strings (jeremyevans)
* Add Database#do on PostgreSQL for using the DO anonymous code block execution statement (jeremyevans)
* Remove Model.dataset_methods (jeremyevans)
* Allow subset to be called inside a dataset_module block (jeremyevans)
* Make Dataset#avg, #interval, #min, #max, #range, and #sum accept virtual row blocks (jeremyevans)
* Make Dataset#count use a subselect when the dataset has an offset without a limit (jeremyevans) (#587)
* Dump deferrable status of unique indexes on PostgreSQL (radford) (#583)
* Extend deferrable constraint support to all types of constraints, not just foreign keys (radford, jeremyevans) (#583)
* Support Database#copy_table and #copy_into on jdbc/postgres (bdon) (#580)
* Make Dataset#update not use a limit (TOP) on Microsoft SQL Server 2000 (jeremyevans) (#578)
=== 3.41.0 (2012-11-01)
* Add bin/sequel usage guide (jeremyevans)
* Make Dataset#reverse and #reverse_order accept virtual row blocks (jeremyevans)
* Add Sequel.delay for generic delayed evaluation (jeremyevans)
* Make uniqueness validations correctly handle nil values (jeremyevans)
* Support :unlogged option for create_table on PostgreSQL (JonathanTron) (#575)
* Add ConnectionPool#pool_type to get the type of connection pool in use (jeremyevans)
* Explicitly mark primary keys as NOT NULL on SQLite (jeremyevans)
* Add support for renaming primary key columns on MySQL (jeremyevans)
* Add connection_validator extension for automatically checking connections and transparently handling disconnects (jeremyevans)
* Add Database#valid_connection? for checking whether a given connection is valid (jeremyevans)
* Make dataset.limit(nil, nil) reset offset as well as limit (jeremyevans) (#571)
* Support IMMEDIATE/EXCLUSIVE/DEFERRED transaction modes on SQLite (Eric Wong)
* Major change in the Database <-> ConnectionPool interface (jeremyevans)
* Make touch plugin handle touching of many_*_many associations (jeremyevans)
* Make single_table_inheritance plugin handle non-bijective mappings (hannesg) (#567)
* Support foreign key parsing on MSSQL (munkyboy) (#564)
* Include SQL::AliasMethods in most pg_* extension objects (treydempsey, jeremyevans) (#563)
* Handle failure to create a prepared statement better in the postgres, mysql, and mysql2 adapters (jeremyevans) (#560)
* Treat clob columns as strings instead of blobs (jeremyevans)
=== 3.40.0 (2012-09-26)
* Add a cubrid adapter for accessing CUBRID databases via the cubrid gem (jeremyevans)
* Add a jdbc/cubrid adapter for accessing CUBRID databases via JDBC on JRuby (jeremyevans)
* Return OCI8::CLOB values as ruby Strings in the Oracle adapter (jeremyevans)
* Use clob for String :text=>true types on Oracle, DB2, HSQLDB, and Derby (jeremyevans) (#555)
* Allowing marshalling of Sequel::Postgres::HStore (jeremyevans) (#556)
* Quote channel identifier names when using LISTEN/NOTIFY on PostgreSQL (jeremyevans)
* Handle nil values when formatting bound variable arguments in the pg_row extension (jeremyevans) (#548)
* Handle nil values when parsing composite types in the pg_row extension (jeremyevans) (#548)
* Add :disconnect=>:retry option to Database#transaction, for automatically retrying the transaction on disconnect (jeremyevans)
* Greatly improved support on Microsoft Access (jeremyevans)
* Support Database#{schema,tables,views,indexes,foreign_key_list} when using ado/access adapter (ericgj) (#545, #546)
* Add ado/access adapter for accessing Microsoft Access via the ado adapter (jeremyevans)
* Combine disconnect error detection for mysql and mysql2 adapters (jeremyevans)
* Update the association_pks plugin to handle composite primary keys (chanks, jeremyevans) (#544)
What's new in psycopg 2.4.6
---------------------------
- Fixed 'cursor()' arguments propagation in connection subclasses
and overriding of the 'cursor_factory' argument. Thanks to
Corry Haines for the report and the initial patch (ticket #105).
- Dropped GIL release during string adaptation around a function call
invoking a Python API function, which could cause interpreter crash.
Thanks to Manu Cupcic for the report (ticket #110).
- Close a green connection if there is an error in the callback.
Maybe a harsh solution but it leaves the program responsive
(ticket #113).
- 'register_hstore()', 'register_composite()', 'tpc_recover()' work with
RealDictConnection and Cursor (ticket #114).
- Fixed broken pool for Zope and connections re-init across ZSQL methods
in the same request (tickets #123, #125, #142).
- connect() raises an exception instead of swallowing keyword arguments
when a connection string is specified as well (ticket #131).
- Discard any result produced by 'executemany()' (ticket #133).
- Fixed pickling of FixedOffsetTimezone objects (ticket #135).
- Release the GIL around PQgetResult calls after COPY (ticket #140).
- Fixed empty strings handling in composite caster (ticket #141).
- Fixed pickling of DictRow and RealDictRow objects.
## Rails 3.2.9 (unreleased)
* Fix issue with collection associations calling first(n)/last(n) and attempting
to set the inverse association when `:inverse_of` was used. Fixes#8087.
*Carlos Antonio da Silva*
* Fix bug when Column is trying to type cast boolean values to integer.
Fixes#8067.
*Rafael Mendon«®a Fran«®a*
* Fix bug where `rake db:test:prepare` tries to load the structure.sql into development database.
Fixes#8032.
*Grace Liu + Rafael Mendon«®a Fran«®a*
* Fixed support for `DATABASE_URL` environment variable for rake db tasks. *Grace Liu*
* Fix bug where `update_columns` and `update_column` would not let you update the primary key column.
*Henrik Nyh*
* Decode URI encoded attributes on database connection URLs.
*Shawn Veader*
* Fix AR#dup to nullify the validation errors in the dup'ed object. Previously the original
and the dup'ed object shared the same errors.
*Christian Seiler*
* Synchronize around deleting from the reserved connections hash.
Fixes#7955
* PostgreSQL adapter correctly fetches default values when using
multiple schemas and domains in a db. Fixes#7914
*Arturo Pie*
* Fix deprecation notice when loading a collection association that
selects columns from other tables, if a new record was previously
built using that association.
*Ernie Miller*
* The postgres adapter now supports tables with capital letters.
Fix#5920
*Yves Senn*
* `CollectionAssociation#count` returns `0` without querying if the
parent record is not persisted.
Before:
person.pets.count
# SELECT COUNT(*) FROM "pets" WHERE "pets"."person_id" IS NULL
# => 0
After:
person.pets.count
# fires without sql query
# => 0
*Francesco Rodriguez*
* Fix `reset_counters` crashing on `has_many :through` associations.
Fix#7822.
*lulalala*
* ConnectionPool recognizes checkout_timeout spec key as taking
precedence over legacy wait_timeout spec key, can be used to avoid
conflict with mysql2 use of wait_timeout. Closes#7684.
*jrochkind*
* Rename field_changed? to _field_changed? so that users can create a field named field
*Akira Matsuda*, backported by *Steve Klabnik*
* Fix creation of through association models when using `collection=[]`
on a `has_many :through` association from an unsaved model.
Fix#7661.
*Ernie Miller*
* Explain only normal CRUD sql (select / update / insert / delete).
Fix problem that explains unexplainable sql. Closes#7544#6458.
*kennyj*
* Backport test coverage to ensure that PostgreSQL auto-reconnect functionality
remains healthy.
*Steve Jorgensen*
* Use config['encoding'] instead of config['charset'] when executing
databases.rake in the mysql/mysql2. A correct option for a database.yml
is 'encoding'.
*kennyj*
* Fix ConnectionAdapters::Column.type_cast_code integer conversion,
to always convert values to integer calling #to_i. Fixes#7509.
*Thiago Pradi*
* Fix time column type casting for invalid time string values to correctly return nil.
*Adam Meehan*
* Fix `becomes` when using a configured `inheritance_column`.
*Yves Senn*
* Fix `reset_counters` when there are multiple `belongs_to` association with the
same foreign key and one of them have a counter cache.
Fixes#5200.
*Dave Desrochers*
* Round usec when comparing timestamp attributes in the dirty tracking.
Fixes#6975.
*kennyj*
* Use inversed parent for first and last child of has_many association.
*Ravil Bayramgalin*
* Fix Column.microseconds and Column.fast_string_to_date to avoid converting
timestamp seconds to a float, since it occasionally results in inaccuracies
with microsecond-precision times. Fixes#7352.
*Ari Pollak*
* Fix `increment!`, `decrement!`, `toggle!` that was skipping callbacks.
Fixes#7306.
*Rafael Mendon«®a Fran«®a*
* Fix AR#create to return an unsaved record when AR::RecordInvalid is
raised. Fixes#3217.
*Dave Yeu*
* Remove unnecessary transaction when assigning has_one associations with a nil or equal value.
Fix#7191.
*kennyj*
* Allow store to work with an empty column.
Fix#4840.
*Jeremy Walker*
* Remove prepared statement from system query in postgresql adapter.
Fix#5872.
*Ivan Evtuhovich*
* Make sure `:environment` task is executed before `db:schema:load` or `db:structure:load`
Fixes#4772.
*Seamus Abshere*
* Added the sqlite3_errstr() interface.
* Avoid invoking the sqlite3_trace() callback multiple times when a statement is automatically reprepared due to SQLITE_SCHEMA errors.
* Added support for Windows Phone 8 platforms
* Enhance IN operator processing to make use of indices with numeric affinities.
* Do full-table scans using covering indices when possible, under the theory that an index will be smaller and hence can be scanned with less I/O.
* Enhance the query optimizer so that ORDER BY clauses are more aggressively optimized, especially in joins where various terms of the ORDER BY clause come from separate tables of the join.
* Add the ability to implement FROM clause subqueries as coroutines rather that manifesting the subquery into a temporary table.
* Enhancements the command-line shell:
* Added the ".print" command
* Negative numbers in the ".width" command cause right-alignment
* Add the ".wheretrace" command when compiled with SQLITE_DEBUG
* Added the busy_timeout pragma.
* Added the instr() SQL function.
* Added the SQLITE_FCNTL_BUSYHANDLER file control, used to allow VFS implementations to get access to the busy handler callback.
* The xDelete method in the built-in VFSes now return SQLITE_IOERR_DELETE_NOENT if the file to be deleted does not exist.
* Enhanced support for QNX.
* Work around an optimizer bug in the MSVC compiler when targeting ARM.
* Bug fix: Avoid various concurrency problems in shared cache mode.
* Bug fix: Avoid a deadlock or crash if the backup API, shared cache, and the SQLite Encryption Extension are all used at once.
* Bug fix: SQL functions created using the TCL interface honor the "nullvalue" setting.
* Bug fix: Fix a 32-bit overflow problem on CREATE INDEX for databases larger than 16GB.
* Bug fix: Avoid segfault when using the COLLATE operator inside of a CHECK constraint or view in shared cache mode.
This update release also contains fixes for many minor issues discovered and patched by the PostgreSQL community in the last month, including several fixes which are specific to version 9.2. These include:
* Prevent psql crash due to incorrectly encoded input data
* Fix pg_regress gmake build issues
* Make sure correct directory is created for extensions
* Fix some issues with buffer locks and VACUUM
* Multiple fixes and improvements for pg_upgrade
* Fix bugs with end-of-recovery when failing over to a standby
* Avoid bogus "out-of-sequence timeline ID" errors in standby-mode
* Don't launch new child processes during shutdown
* Improve the ability of JOINs to use partial indexes
* Fix assorted integer overflow errors
* Eliminate memory leaks in record_out() and record_send()
* Skip searching for subtransaction logs at COMMIT
* Fix WaitLatch() timing issues
* Fix handling of inherited check constraints in ALTER COLUMN TYPE
* Make ALTER EXTENSION SET SCHEMA behave as documented
* Have SEQUENCE SET statements in the "data" section of sectional dumps
* Prevent parser from believing that VIEWs have system columns
* Fix --clean mode for pg_dump
* Prevent hash table corruption on out-of-memory
* Various query planner and executor fixes and improvements
* Multiple documentation updates
* DST updates for seven timezones
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.