COMPATIBILITY WARNING:
The bug fix "LDAP.pm: new parameter bind(sasl_host => SASLHOST)"
is an incompatible change that may break some corner-case configurations
* that use SASL for authentication and
* where the SASL host name differs from the host name connecting to.
The incompatible change was necessary as it was not possible to fix
the issue which was introduced in perl-ldap 0.37 in a compatible way.
See Net::LDAP's manual page for the details on "sasl_host".
Bug Fixes:
* RT#91210: Paged.pm: fix example code
* RT#90459: LDAP.pm: make LDAPS work after LDAP+start_tls
* RT#91177: AD.pm: fix change_ADpassword()
* RT#88792: Constant.pm: add LDAP_CONTROL_SORTRESPONSE
* LDAP.pm: new parameter bind(sasl_host => SASLHOST)
* Entry.pm: ignore options when update()ing LDIF
* Entry.pm: let update() fail correctly on illegal target
* RT#86053: FAQ.pod: fix spelling error
* *.{pm,pod}: lots of more grammar & spelling fixes / harmonizations
* RT#85941: LDAP.pm: new method data_ready()
* RT#84886: Control/Relax.pm: fix typo in documentation
* RT#84410: PersistentSearch.pm: use $message->pop_entry() in example
* RT#84774: Constant.pm: unbreak Novell eDirectory constants
* RT#73202: LDIF.pm: Base64-encode values ending in spaces
* RT#83815: fix typo/bug in example for root_dse
* various clarification & fixes in documentation
* t/7{1pre,2post}read.t: don't use deprecated methods
* fix PreRead & PostRead controls
* AD.pm: fix typo in documentation
* RT#81380: in Filter.pm unescape hexpairs and ( ) \ * only
* tests: compare files in "text mode"
* Makefile.PL: mention all requirements for tests
* t/07filtermatch.t: use core module Text::Soundex instead of String::Approx
* Message.pm: fix regression w.r.t. Net::LDAP::Message::Dummy
* RT#80482 fix display of =item inet6 in LDAP.pod
* RT#66753: new key & cert for SSL server tests
* RT#79763 Net::LDAP::Util's $VERSION increased
* t/06constant.t: numbering glitch in t/06constant.t
* FilterMatch.pm: fix mapping of greaterOrEqual
* FAQ.pod: small fixes
* RT#79763 extend ldap_explode_dn() for RFC 4514
* RT#77291 canonicalize host name with ldapi://
* LDAP.pm: don't try to set errors on undefined objects
* Util.pm: fix bug in escape_dn_value()
* t/55ssl.t: fix typos in output text
* LDIF.pm: with encode => 'canonical', do mbcescape DNs
* the usual typo fixes in docs
* contrib/ldifdiff.pl: fix POD
* Intermediate/SyncInfo.pm: fix newcookie() method
* LWP/Protocol/ldap.pm: complete overhaul
* LDAP.pm: unbreak - make done a real sub
* Message.pm: fix typo, i.e. add forgotten ';'
* RT#72108 fix non-blocking IO with SSL
* RT#74572 fix $entry->update($ldif)
* RT#74759 fix POD spelling/grammar errors
* RT#77180 use "sslv23" instead of "sslv2/3" for sslversion
* work around a warning in Authen::SASL::Perl <= 2.1.5
* various typo fixes in documentation
* un-break certificate verification
* fixes for the ProxyAuthorization control
* fix typos & spelling errors in POD
Enhancements:
* Filter.pod: remove misleading text
* typo fixes
* RT#91156: add META.json
* DSML.pm, Protocol/ldap.pm: use MIME::Base64::decode()
* make MIME::Base64 mandatory
* README: update optional modules, slight reorganization
* Entry.pod: update documentation of N:L:E->update
* Makefile.PL: require Text::Soundex for tests
* LDAP.pm: use data_ready() in process()
* Util.pm: simplify return on error
* Constant.pm: add constant LDAP_CONTROL_NOOP
* Schema.pm: call isa() as recommented in UNIVERSAL.pm
* FAQ.pod: add more directory servers
* t/07filtermatch.t: skip some tests unless Text::Soundex is installed
* t/74matchedvalues.t: new, tests for MatchedValues control
* t/73assert.t: new, tests for Assertion control
* LDIF.pm: overhaul
- flexibilize mode handling, accept PerlIO layers
- get rid of dependency on Symbol & SelectSaver
- convert _write_... to object methods
- use indirect file handles for URLs
* LWP/Protocol/ldap.pm: use regex as 1st arg to split()
* Control/ManageDsaIT.pm: update documentation & simplify a bit
* Control/Relax.pm: new
* Constant.pm: add LDAP_CONTROL_RELAX
* LDAP.pod: omit space from filter in synopsis
* FAQ.pod: don't talk of "2 lines" when there's only one
* Extra/eDirectory.pm: fix typo, space police
* FAQ.pod: mention Dancer::Plugin::LDAP, update example
* Extra/eDirectory.pm: new; extensions for eDirectory
* Constant.pm: add constants for Novell eDirectory
* LDIF.pm: clean up handling of mode parameter
* LDIF.pm: partially support controls when reading
* Util.pm: add time conversion functions
* Makefile.PL: update recommends, add comments on core modules
* FAQ.pod: update info on required/optional modules
* LDAP.pod,FAQ.pod: harmonize documentation of scope values
* Filter.pm: new method negate()
* Util.pm: new function ldap_url_parse()
* RT#77716: LDAP.pm: new option keepalive for new()
* LDAP.pm: convert scheme to lowercase in new()
* FAQ.pod: how to search all members of a large AD group
* FAQ.pod: how to do nested group searches in AD
* add tests for PreRead & PostRead controls
* FAQ.pm: example for certificateExactMatch
* coding style overhaul:
* use single-quoted strings where possible
* 2 SPACEs before postfix if,unless,or,and
* SPACE after comma
* SPACE between if,elsif,unless,while,for and (
* make private lexical variables more private
* unquote identifiers before =>
* unquote identifiers used as hash keys
* Schema.pod: document attribute_syntax()
* contrib/schema2ad.pl: new, convert schema file to something AD can digest
* Makefile.PL: make dependencies reflect reality better
* LDAP.pm: avoid warning in new() that might have occurred in corner cases
* add constant LDAP_PROXY_AUTHZ_FAILURE
* FilterMatch.pm: complete overhaul
- update matching rules known in OpenLDAP
- support matching rules for extensibleMatch
- avoid warning if no matching rule is found
- add specific implementations for a lot of rules
* global overhaul towards Perl 5.8 features
- declare @ISA and $VERSION as package-local
- replace 'use vars' by 'our'.
* Makefile.PL: overhaul
* tests: cleanup & extensions
- convert to Test::More
- t/common.pl: allow client() to take options for Net::LDAP
- t/common.pl: get rid of local compare function
- t/03schema.t: overhaul, update data/schema.in
- t/07filtermatch.t: new, tests for Net::LDAP::FilterMatch
- t/40connect.t: new, test for IPv4 / IPv6 connections
- reorganize servers tests: rename t/5X*.t -> t/4(X+1)*.t
- t/47ipc.t: add TLS tests
- t/60cancel.t: new, tests for Net::LDAP::Extension::Cancel
- t/70sortctrl.t: make it a server test & add multi-attribute testcase
* ASN.pm: adapt to RFC 4511
* Extension/{SetPassword,Refresh}.pm: polish ASN.1 definition
* LWP/Protocol/ldap.pm: respond with requested MIME type
* LWP/Protocol/ldap.pm: document 'x-format' URI extension
* LWP/Protocol/ldap.pm: add DSMLv1 as output format
* test routines updated to work with recent OpenLDAP
* removed trailing spaces
* support OpenLDAP extension: scope => "children"
* more feature constants in Net/LDAP/Constant.pm
* new features & documentation for LWP/Protocol/ldap.pm
* LWP/Protocol/ldapi.pm: support ldapi:// URIs with LWP
* contrib/LWPsearch.pl: demo program for LWP::Protocol::ldap*
* update link list in the FAQ
* update references to RFCs
* FAQ.pod: update URLs a bit more
* RT#77458 re-work IPv6 support
* Don't accumulate intermediate messages passed to a callback.
* slightly extend Net::LDAP::Entry->update() and document it
* convenience alias done() for Net::LDAP->unbind()
* various updates to the FAQ
* MANIFEST.SKIP: sync with Perl 5.14.2's ExtUtils version
* Makefile.PL: update resource info on repository
* new extended operation Net::LDAP::Extension::Cancel
* new control Net::LDAP::Control::MatchedValues
* new control Net::LDAP::Control::Assertion
* update reference documents in POD
* extend documentation for Pre-Read & Post-Read controls
* add error string for LDAP_VLV_ERROR
* add result codes for VLV and cancel
* add constant for DontUseCopy control
* add constant for PermissiveModify control
* Fix copy & paste errors in Net::LDAP::Message
* Check whether LDAP socket object has a peerhost() method defined
before calling it. This fixes SASL authentication over UNIX domain
(ldapi://) sockets. [Chris Mikkelson]
* use of non-localised $_ in Net::LDAP::Constant causes prolems in lemonldap-ng [Damyan Ivanov]
* Added cn,o,ou to the default set of case-insensitive attributes [Kartik Subbarao]
* Entry.pod: fix typos [Peter Marschall]
* extend Net::LDAP::Entry->update() to take LDIF objects [Peter Marschall]
* Specify that we want to use the 'ldap' scheme to verify certificates. [Kevan Carstensen]
* Net/LDAP/Extra/AD.pm: convenience functions for AD
* various documentation updates
Notable changes in 1.2.14
- Batchlog replay can be, and is throttled by default now.
See batchlog_replay_throttle_in_kb setting in cassandra.yaml.
Notable changes in 1.2.11
- Added a new consistency level, LOCAL_ONE, that forces all CL.ONE operations
to execute only in the local datacenter.
- New replace_address to supplant the (now removed) replace_token and
replace_node workflows to replace a dead node in place. Works like the
old options, but takes the IP address of the node to be replaced.
Notable changes in 1.2.9
- A history of executed nodetool commands is now captured.
It can be found in ~/.cassandra/nodetool.history. Other tools output files
(cli and cqlsh history, .cqlshrc) are now centralized in ~/.cassandra,
as well.
- A new sstablesplit utility allows to split large sstables offline.
- After performance testing for CASSANDRA-5727, the default LCS filesize
has been changed from 5MB to 160MB.
Notable changes in 1.2.5
- Custom secondary index support has been added to CQL3. Refer to
CQL3 documentation (http://cassandra.apache.org/doc/cql3/CQL.html)
for details and examples.
Full release notes and changelogs:
https://git-wip-us.apache.org/repos/asf?p=cassandra.git;f=NEWS.txt;hb=refs/tags/cassandra-1.2.15https://git-wip-us.apache.org/repos/asf?p=cassandra.git;f=CHANGES.txt;hb=refs/tags/cassandra-1.2.15
Functionality Added or Changed
* InnoDB: New global configuration parameters, innodb_status_output and innodb_status_output_locks, allow you to dynamically enable and disable the standard InnoDB Monitor and InnoDB Lock Monitor for periodic output. Enabling and disabling monitors for periodic output by creating and dropping specially named tables is deprecated and may be removed in a future release.
* Previously, ALTER TABLE in MySQL 5.6 could alter a table such that the result had temporal columns in both 5.5 and 5.6 format. Now ALTER TABLE upgrades old temporal columns to 5.6 format for ADD COLUMN, CHANGE COLUMN, MODIFY COLUMN, ADD INDEX, and FORCE operations. This conversion cannot be done using the INPLACE algorithm, so specifying ALGORITHM=INPLACE in these cases results in an error.
* CMake now supports a -DTMPDIR=dir_name option to specify the default tmpdir value. If unspecified, the value defaults to P_tmpdir in <stdio.h>.
Bugs Fixed
* InnoDB; Replication: Using the InnoDB memcached plugin (see InnoDB Integration with memcached) with innodb_api_enable_binlog set to 1 caused the server to leak memory.
* InnoDB: A boolean mode full-text search query would result in a memory access violation during parsing.
* InnoDB: When new indexes are added by an ALTER TABLE operation, instead of only saving table-level statistics and statistics for the new indexes, InnoDB would save statistics for the entire table, including the table's other indexes. This behavior slowed ALTER TABLE performance.
* InnoDB: Due to a parser error, full-text search queries that include a sub-expression could return the wrong result.
* InnoDB: The innochecksum tool did not use a Windows-specific API to retrieve file size information, which resulted in an incorrect error message (Error: ibdata1 cannot be found) when the MySQL 5.6 innochecksum 2GB file size limit was exceeded. innochecksum now provides support for files larger than 2GB in both MySQL 5.6 and MySQL 5.7.
* InnoDB: Due to a regression introduced by the fix for Bug17371537, memory was not allocated for the default memcached engine when using the default memcached engine as the backstore for data instead of InnoDB.
* InnoDB: InnoDB would report an incorrect operating system error code after failing to initialize.
* InnoDB: Manipulating a table after discarding its tablespace using ALTER TABLE ... DISCARD TABLESPACE could result in a serious error.
* InnoDB: Persistent optimizer statistics would cause stalls due to latch contention.
* InnoDB: MATCH() ... AGAINST queries that use a long string as an argument for AGAINST() could result in an error when run on an InnoDB table with a full-text search index.
* InnoDB: An InnoDB full-text search failure would occur due to an “unended” token. The string and string length should be passed for string comparison.
* InnoDB: In debug builds, a merge insert buffer during a page read would cause a memory access violation.
* InnoDB: Truncating a memcached InnoDB table while memcached is performing DML operations would result in a serious error.
* InnoDB: In sync0rw.ic, rw_lock_x_lock_func_nowait would needlessly call os_thread_get_curr_id.
* InnoDB: Attempting to rename a table to a missing database would result in a serious error.
more...
Fix a bug (ticket 4c86b126f2) that causes rows to go missing on some queries with OR clauses and IS NOT NULL operators in the WHERE clause, when the SQLITE_ENABLE_STAT3 or SQLITE_ENABLE_STAT4 compile-time options are used.
Fix a harmless compiler warning that was causing problems for VS2013.
Release 0.1.11 (Feb 07, 2014)
-----------------------------
Bug Fixes
* Fix incorrect parsing of string literals containing line breaks (issue118).
* Fix typo in keywords, add MERGE, COLLECT keywords (issue122/124,
by Cristian Orellana).
* Improve parsing of string literals in columns.
* Fix parsing and formatting of statements containing EXCEPT keyword.
* Fix Function.get_parameters() (issue126/127, by spigwitmer).
Enhancements
* Classify DML keywords (issue116, by Victor Hahn).
* Add missing FOREACH keyword.
* Grouping of BEGIN/END blocks.
Other
* Python 2.5 isn't automatically tested anymore, neither Travis nor Tox
still support it out of the box.
MySQL Connector/C++ is a MySQL database connector for C++. It lets
you develop C++ applications that connect to the MySQL Server.
MySQL Connector/C++ offers the following benefits for C++ users
compared to the MySQL C API (MySQL client library):
* Convenience of pure C++; no C function calls required
* Supports JDBC 4.0, an industry standard API
* Supports the object-oriented programming paradigm
* Reduces development time
Changes in DBI 1.631
NOTE: This release changes the handle passed to Callbacks from being an 'inner'
handle to being an 'outer' handle. If you have code that makes use of Callbacks,
ensure that you understand what this change means and review your callback code.
Fixed err_hash handling of integer err RT#92172 [Dagfinn Ilmari]
Fixed use of \Q vs \E in t/70callbacks.t
Changed the handle passed to Callbacks from being an 'inner'
handle to being an 'outer' handle.
Improved reliability of concurrent testing
PR#8 [Peter Rabbitson]
Changed optional dependencies to "suggest"
PR#9 [Karen Etheridge]
Changed to avoid mg_get in neatsvpv during global destruction
PR#10 [Matt Phillips]
Version 3.0.0
- Major change in UTF-8 handling. If client_encoding is set to UTF-8,
always mark returned Perl strings as utf8. See the pg_enable_utf8 docs
for more information.
[Greg Sabino Mullane, David E. Wheeler, David Christensen]
- Bump DBI requirement to 1.614
- Bump Perl requirement to 5.8.1
- Add new handle attribute, switch_prepared, to control when we stop
using PQexecParams and start using PQexecPrepared. The default is 2:
in previous versions, the effective behavior was 1 (i.e. PQexecParams
was never used).
[Greg Sabino Mullane]
- Better handling of items inside of arrays, particularly bytea arrays.
[Greg Sabino Mullane] (CPAN bug #91454)
- Map SQL_CHAR back to bpchar, not char
[Greg Sabino Mullane, reported by H.Merijn Brand]
- Do not force oids to Perl ints
[Greg Sabino Mullane] (CPAN bug #85836)
- Return better sqlstate codes on fatal errors
[Rainer Weikusat]
- Better prepared statement names to avoid bug
[Spencer Sun] (CPAN bug #88827)
- Add pg_expression field to statistics_info output to show
functional index information
[Greg Sabino Mullane] (CPAN bug #76608)
- Adjust lo_import_with_oid check for 8.3
(CPAN bug #83145)
- Better handling of libpq errors to return SQLSTATE 08000
[Stephen Keller]
- Make sure CREATE TABLE .. AS SELECT returns rows in non do() cases
- Add support for AutoInactiveDestroy
[David Dick] (CPAN bug #68893)
- Fix ORDINAL_POSITION in foreign_key_info
[Dagfinn Ilmari Mannsåker] (CPAN bug #88794)
- Fix foreign_key_info with unspecified schema
[Dagfinn Ilmari Mannsåker] (CPAN bug #88787)
- Allow foreign_key_info to work when pg_expand_array is off
[Greg Sabino Mullane and Tim Bunce] (CPAN bug #51780)
- Remove math.h linking, as we no longer need it
(CPAN bug #79256)
- Spelling fixes
(CPAN bug #78168)
- Better wording for the AutoCommit docs
(CPAN bug #82536)
- Change NOTICE to DEBUG1 in t/02attribs.t test for handle attribute "PrintWarn":
implicit index creation is now quieter in Postgres.
[Erik Rijkers]
- Use correct SQL_BIGINT constant for int8
[Dagfinn Ilmari Mannsåker]
- Fix assertion when binding array columns on debug perls >= 5.16
[Dagfinn Ilmari Mannsåker]
- Adjust test to use 3 digit exponential values
[Greg Sabino Mullane] (CPAN bug #59449)
- Avoid reinstalling driver methods in threads
[Dagfinn Ilmari Mannsåker] (CPAN bug #83638)
- Make sure App::Info does not prompt for pg_config location
if AUTOMATED_TESTING or PERL_MM_USE_DEFAULT is set
[David E. Wheeler] (CPAN bug #90799)
- Fix typo in docs for pg_placeholder_dollaronly
[Bryan Carpenter] (CPAN bug #91400)
- Cleanup dangling largeobjects in tests
[Fitz Elliott] (CPAN bug #92212)
- Fix skip test counting in t/09arrays.t
[Greg Sabino Mullane] (CPAN bug #79544)
- Explicitly specify en_US for spell checking
[Dagfinn Ilmari Mannsåker] (CPAN bug #91804)
0.775 (01.18.2013) - John Siracusa <siracusa@gmail.com>
* Improved automated installation detection (RT 92254)
0.774 (11.01.2013) - John Siracusa <siracusa@gmail.com>
* Fixed typos.
0.773 (10.28.2013) - John Siracusa <siracusa@gmail.com>
* Fixed bad skip count on test file.
0.772 (10.28.2013) - John Siracusa <siracusa@gmail.com>
* Fixed a bug that caused nested arrays to be incorrectly formatted by
Rose::DB::Pg's format_array() method. (Patch by Brian Duggan.)
* Updated contributors list.
Update DEPENDS
Upstream changes:
0.08270 2014-01-30 21:54 (PST)
* Fixes
- Fix 0.08260 regression in DBD::SQLite bound int handling. Inserted
data was not affected, but any function <=> integer comparison would
have failed (originally fixed way back in 0e773352)
- Fix failure to load DateTime formatter when connecting to Firebird
over ODBC
* Misc
- All drivers based on ::Storage::DBI::Firebird::Common now return the
same sqlt_type value (affects ::DBI::Interbase, ::DBI::Firebird and
::DBI::ODBC::Firebird)
0.08260 2014-01-28 18:52 (UTC)
* New Features
- A new zero-to-DBIC style manual: DBIx::Class::Manual::QuickStart
* Notable Changes and Deprecations
- Explicitly deprecate combination of distinct and selecting a
non-column via $rs->get_column()
* Fixes
- More robust handling of circular relationship declarations by loading
foreign classes less frequently (should resolve issues like
http://lists.scsys.co.uk/pipermail/dbix-class/2013-June/011374.html)
Note that none of this is a manifestations of a DBIC bug, but rather
unexpected (but correct) behavior of load-order-dependent (hence
logically broken) Resultclass hierarchies. In order to deal with this
DBIC is scaling back a large number of sanity checks, which are to be
reintroduce pending a better framework for source registration
- Fix multiple edge cases of complex prefetch combining incorrectly
with correlated subquery selections
- Fix multiple edge cases stemming from interaction of a non-selecting
order_by specification and distinct and/or complex prefetch
- Fix unbound growth of a resultset during repeated execute/exhaust
cycles (GH#29)
- Work around (and be very vocal about the fact) when DBIC encounters
an exception object with broken string overloading
- Clarify ambiguous behavior of distinct when used with ResultSetColumn
i.e. $rs->search({}, { distinct => 1 })->get_column (...)
- Setting quote_names propagates to SQL::Translator when producing
SQLite DDL (it is one of the few producers *NOT* quoting by default)
- Fix incorrect binding of large integers on old versions of
DBD::SQLite (now DBIC simply always binds SQLite ints as BIGINT)
- Silence (harmless) warnings on recent DBD::SQLite versions, when
inserting/updating large integers on 32bit ivsize systems (RT#76395)
- Back out self-cleaning from DBIx::Class::Carp for the time being
(as a side effect fixes RT#86267)
- Fix incorrect internal use of implicit list context in copy()
- Fix 0.08250 regression in driver determination when DBI_DSN is used
- Tests no longer fail if $ENV{DBI_DSN} is set
- Throw clearer exception on ->new_related() with a non-existent
relationship
- Fix incorrect parethesis unroll with multicolumn in, (never noticed
before fixing false positive in SQLA::Test 1.77)
- Fix t/storage/replicated.t class loading problem
- Stop using the deprecated Class::MOP::load_class()
- Fix warning in t/54taint.t with explicitly unset PERL5LIB (RT#91972)
- Fix t/54taint.t failing under a local::lib with installed earlier
DBIC version (RT#92486)
* Misc
- Massive incompatible change of ::BlockRunner internals (was never
documented as usable externally, this last set of changes settles
the design for proper documentation and opening up)
- Adjust exceptions in tests to accommodate changes in the upcoming
DBD::SQLite based on libsqlite 3.8.2
- More robust lock file naming scheme - allow tests to work on exotic
MSWin32 filesystems (habitual offender being http://is.gd/iy5XVP)
- Better diagnostics when File::Spec->tmpdir gives us crap in testing
- Replace $row with $result in all docs to be consistent and to
clarify various return values
Add missing DEPENDS
Upstream changes:
revision 1.77 2014-01-17
----------------------------
- Reintroduce { -not => undef } column operator (regression from 1.75)
revision 1.75 2013-12-27
----------------------------
- *UPCOMING INCOMPATIBLE BUGFIX*: SQLA used to generate incorrect SQL
on undef-containing lists fed to -in and -not_in. An exception will
be raised for a while before properly fixing this, to avoid quiet
but subtle changes to query results in production
- Deprecate and warn when supplying an empty arrayref to like/not_like
operators (likely to be removed before 2.0)
- Warn when using an inequality operator with a multi-value array to
arrive at what amounts to a 1=1 condition (no pre-2.0 plans to fix
this behavior due to backwards comp concerns)
- Fix false negative comparison of ORDER BY <function> ASC
- More improvements of incorrect parsing (placeholder at end of list
element)
- Fix typos in POD and comments (RT#87776)
- Augment -not_bool example with nesting (RT#89601)
Added support for common table expressions and the WITH clause.
Added the printf() SQL function.
Added SQLITE_DETERMINISTIC as an optional bit in the 4th argument to the sqlite3_create_function() and related interfaces, providing applications with the ability to create new functions that can be factored out of inner loops when they have constant arguments.
Add SQLITE_READONLY_DBMOVED error code, returned at the beginning of a transaction, to indicate that the underlying database file has been renamed or moved out from under SQLite.
Allow arbitrary expressions, including function calls and subqueries, in the filename argument to ATTACH.
Allow a VALUES clause to be used anywhere a SELECT statement is valid.
Reseed the PRNG used by sqlite3_randomness(N,P) when invoked with N==0. Automatically reseed after a fork() on unix.
Enhance the spellfix1 virtual table so that it can search efficiently by rowid.
Performance enhancements.
Improvements to the comments in the VDBE byte-code display when running EXPLAIN.
Add the "%token_class" directive to LEMON parser generator and use it to simplify the grammar.
Change the LEMON source code to avoid calling C-library functions that OpenBSD considers dangerous. (Ex: sprintf).
Bug fix: In the command-line shell CSV import feature, do not end a field when an escaped double-quote occurs at the end of a CRLN line.
SQLSoup provides a convenient way to map Python objects to relational database
tables, with no declarative code of any kind. It's built on top of the
SQLAlchemy ORM and provides a super-minimalistic interface to an existing
database.
Use pypi for MASTER_SITES. From CHANGELOG:
Version 0.3 - 2014-01-31
* Add returning to Update
* Add missing params for returning
* Add columns definitions to Function
* Fix AtTimeZone mapping
Functionality Added or Changed
CMake now supports a -DTMPDIR=dir_name option to specify the default tmpdir value. If unspecified, the value defaults to P_tmpdir in <stdio.h>. Thanks to Honza Horak for the patch.
Bugs Fixed
InnoDB: Table renaming errors would appear in the LATEST FOREIGN KEY ERROR section of the SHOW ENGINE INNODB STATUS output.
Partitioning: Queries using the index_merge optimization (see Index Merge Optimization) could return invalid results when run against tables that were partitioned by HASH.
Partitioning: When no partition had returned a row since the last HA_ERR_KEY_NOT_FOUND error, the use of uninitialized memory in the priority queue used for returning rows in sorted order could lead to a crash of the server.
Replication: mysqlbinlog --verbose failed when it encountered a corrupt row event in the binary log. Such a row event could also cause the slave to fail.
Replication: When log_warnings is greater than 1, the master prints binary log dump thread information—containing the slave server ID, binary log file name, and binary log position—in mysqld.1.err. A slave server ID greater than 2 billion was printed with a negative value in such cases.
Replication: Invalid event offsets in the binary log were not always handled correctly, which could lead to replication failure.
The cache used for the Index Merge access method was freed only after successful retrieval of all rows. Interruption or failure of the operation led to a file descriptor leak.
For utf8 and utf8mb4 strings, handler functions unnecessarily called a Unicode conversion function.
Use of a nonmulti-byte algorithm for skipping leading spaces in multi-byte strings could cause a server exit.
For the utf8_bin collation, ORDER BY LOWER(col_name) could produce incorrect ordering.
On Windows, the --local-service server option did not work, and was not displayed in the --help message.
The prototype of the Performance Schema instrumentation API mysql_cond_timedwait() call was fixed to be drop-in compatible with pthread_cond_timedwait(). This fix affects only implementers of third-party plugins.
For the path specified with the --basedir option, mysql_plugin attempted to unlink the path rather than free the memory in which the path was stored.
COUNT(DISTINCT) sometimes produced an incorrect result when the last read row contained a NULL value.
Some scripts displayed out-of-date information regarding where to report bugs.
Updating a FEDERATED table with UPDATE... JOIN caused a server exit when the local table contained a single row and that row could be joined to a row in the FEDERATED table.
mysql_install_db referred to the obsolete mysqlbug script for reporting problems. It now refers to http://bugs.mysql.com/ instead.
Fixed libldap MozNSS crash
Fixed libldap memory leak with SASL
Fixed libldap assert in parse_passwdpolicy_control
Fixed libldap shortcut NULL RDNs
Fixed libldap deref to use correct control
Fixed liblmdb keysizes with mdb_update_key
Fixed slapd cn=config olcDbConfig modification
Fixed slapd-bdb/hdb to bail out of search if config is paused
Fixed slapd-bdb/hdb indexing issue with derived attributes
Fixed slapd-mdb to bail out of search if config is paused
Fixed slapd-mdb indexing issue with derived attributes
Fixed slapd-perl to bail out of search if config is paused
Fixed slapd-sql to bail out of search if config is paused
Fixed slapo-constraint handling of softadd/softdel
Fixed slapo-syncprov assert with findbase
Build Environment
Test suite: Use $(MAKE) for tests
Documentation
admin24 fix TLSDHParamFile to be correct
either because they themselves are not ready or because a
dependency isn't. This is annotated by
PYTHON_VERSIONS_INCOMPATIBLE= 33 # not yet ported as of x.y.z
or
PYTHON_VERSIONS_INCOMPATIBLE= 33 # py-foo, py-bar
respectively, please use the same style for other packages,
and check during updates.
Use versioned_dependencies.mk where applicable.
Use REPLACE_PYTHON instead of handcoded alternatives, where applicable.
Reorder Makefile sections into standard order, where applicable.
Remove PYTHON_VERSIONS_INCLUDE_3X lines since that will be default
with the next commit.
Whitespace cleanups and other nits corrected, where necessary.
v2.2.6 released 2013-12-18
* Added pt-query-digest support for Percona Server slow log rate limiting
* Added pt-agent --ping
* Added pt-mysql-summary --all-databases
* Added pt-stalk --sleep-collect
* Added pt-table-sync --[no]check-child-tables
* Fixed bug 1249150: PTDEBUG prints some info to STDOUT
* Fixed bug 1248363: pt-agent requires restart after changing MySQL options
* Fixed bug 1248778: pt-agent --install on PXC is not documented
* Fixed bug 1250973: pt-agent --install doesn't check for previous install
* Fixed bug 1250968: pt-agent --install suggest MySQL user isn't quoted
* Fixed bug 1251004: pt-agent --install error about slave is confusing
* Fixed bug 1251726: pt-agent --uninstall fails if agent is running
* Fixed bug 1248785: pt-agent docs don't list privs required for its MySQL user
* Fixed bug 1215016: pt-deadlock-logger docs use pt-fk-error-logger
* Fixed bug 1201443: pt-duplicate-key-checker error when EXPLAIN key_len=0
* Fixed bug 1217013: pt-duplicate-key-checker misses exact duplicate unique indexes
* Fixed bug 1214685: pt-mysql-summary schema dump prompt can't be disabled
* Fixed bug 1195628: pt-online-schema-change gets stuck looking for its own _new table
* Fixed bug 1249149: pt-query-digest stats prints to STDOUT instead of STDERR
* Fixed bug 1071979: pt-stak error parsing df with NFS
* Fixed bug 1223458: pt-table-sync deletes child table rows
v2.2.5 released 2013-10-16
* Added Query_time histogram bucket counts to pt-query-digest JSON output
* Added pt-online-schema-change --[no]drop-triggers option
* Fixed bug 1206677: pt-agent docs reference clodu.percona.com
* Fixed bug 1226721: pt-agent on CentOS 5 fails to send data
* Fixed bug 1199589: pt-archiver deletes data despite --dry-run
* Fixed bug 1206728: pt-deadlock-logger 2.2 requires DSN on command line
* Fixed bug 1209436: pt-kill --log-dsn may not work on Perl 5.8
* Fixed bug 1215608: pt-online-schema-change new table suffix is hard-coded
* Fixed bug 821692: pt-query-digest doesn't distill LOAD DATA correctly
* Fixed bug 984053: pt-query-digest doesn't distill INSERT/REPLACE without INTO correctly
* Fixed bug 821690: pt-query-digest doesn't distill IF EXISTS correctly
* Fixed bug 1210537: pt-table-checksum --recursion-method=cluster crashes if no nodes are found
* Fixed bug 944051: pt-table-checksum has ambiguous exit status
* Fixed bug 1229861: pt-table-sync quotes float values, can't sync
v2.2.4 released 2013-07-18
* Implemented pt-query-digest anonymous JSON output
* Implemented pt-online-schema-change timestamp output
* Fixed bug 1182856: Zero values causes "Invalid --set-vars value: var=0"
* Fixed bug 1195034: pt-deadlock-logger error: Use of uninitialized value $ts in pattern match (m//)
* Fixed bug 1137556: pt-heartbeat docs don't account for --utc
* Fixed bug 1188264: pt-online-schema-change error copying rows: Undefined subroutine &pt_online_schema_change::get
* Fixed bug 1171968: pt-query-digest docs don't mention --type=rawlog
* Fixed bug 1176010: pt-query-digest doesn't group db and `db` together
* Fixed bug 1174956: pt-query-digest and pt-fingerprint don't strip some multi-line comments
* Fixed bug 1172317: pt-sift does not work if pt-stalk did not collect due to a full disk
* Fixed bug 1136559: pt-table-checksum: Deep recursion on subroutine "SchemaIterator::_iterate_dbh"
* Fixed bug 1199591: pt-table-checksum doesn't use non-unique index with highest cardinality
* Fixed bug 1163735: pt-table-checksum fails if explicit_defaults_for_timestamp is enabled in 5.6
* Fixed bug 1168434: pt-upgrade reports differences on NULL
* Fixed bug 1168106: pt-variable-advisor has the wrong default value for innodb_max_dirty_pages_pct in 5.5 and 5.6
* Fixed bug 1168110: pt-variable-advisor shows key_buffer_size in 5.6 as unconfigured (even though it is)
v2.2.3 released 2013-06-17
* Added new tool: pt-agent
* Fixed bug 1188002: pt-online-schema-change causes "ERROR 1146 (42S02): Table 'db._t_new' doesn't exist"
v2.2.2 released 2013-04-24
* Added --show-all to pt-query-digest
* Added --recursion-method=cluster to pt-table-checksum
* Fixed bug 1127450: pt-archiver --bulk-insert may corrupt data
* Fixed bug 1163372: pt-heartbeat --utc --check always returns 0
* Fixed bug 1156901: pt-query-digest --processlist reports duplicate queries for replication thread
* Fixed bug 1160338: pt-query-digest 2.2 prints unwanted debug info on tcpdump parsing errors
* Fixed bug 1160918: pt-query-digest 2.2 prints too many string values
* Fixed bug 1156867: pt-stalk prints the wrong variable name in verbose mode when --function is used
* Fixed bug 1081733: pt-stalk plugins can't access the real --prefix
* Fixed bug 1099845: pt-table-checksum pxc same_node function incorrectly uses wsrep_sst_receive_address
* Fixed bug 821502: Some tools don't have --help or --version
* Fixed bug 947893: Some tools use @@hostname without /*!50038*/
* Fixed bug 1082406: An explicitly set wsrep_node_incoming_address may make SHOW STATUS LIKE 'wsrep_incoming_addresses' return a portless address
v2.2.1 released 2013-03-14
* Official support for MySQL 5.6
* Official support for Percona XtraDB Cluster
* Redesigned pt-query-digest
* Redesigned pt-upgrade
* Redesigned pt-fk-error-logger
* Redesigned pt-deadlock-logger
* Changed --set-vars in all tools
* Renamed --retries to --tries in pt-online-schema-change
* Added --check-read-only to pt-heartbeat
* Added MySQL options to pt-mysql-summary
* Added MySQL options to pt-stalk
* Removed --lock-wait-timeout from pt-online-schema-change (use --set-vars)
* Removed --lock-wait-timeout from pt-table-checksum (use --set-vars)
* Removed pt-query-advisor
* Removed pt-tcp-model
* Removed pt-trend
* Removed pt-log-player
* Enabled --version-check by default in all tools
* Fixed bug 1008796: Several tools don't have --database
* Fixed bug 1087319: Quoter::serialize_list() doesn't handle multiple NULL values
* Fixed bug 1086018: pt-config-diff needs to parse wsrep_provider_options
* Fixed bug 1056838: pt-fk-error-logger --run-time works differently than pt-deadlock-logger --run-time
* Fixed bug 1093016: pt-online-schema-change doesn't retry RENAME TABLE
* Fixed bug 1113301: pt-online-schema-change blocks on metadata locks
* Fixed bug 1125665: pt-stalk --no-stalk silently clobbers other options, acts magically
* Fixed bug 1019648: pt-stalk truncates InnoDB status if there are too many transactions
* Fixed bug 1087804: pt-table-checksum doesn't warn if no slaves are found
v2.1.9 released 2013-02-14
* Fixed bug 1103221: pt-heartbeat 2.1.8 doesn't use precision/sub-second timestamps
* Fixed bug 1099665: pt-heartbeat 2.1.8 reports big time drift with UTC_TIMESTAMP
* Fixed bug 1099836: pt-online-schema-change fails with "Duplicate entry" on MariaDB
* Fixed bug 1103672: pt-online-schema-change makes bad DELETE trigger if PK is re-created with new columns
* Fixed bug 1115333: pt-pmp doesn't list the origin lib for each function
* Fixed bug 823411: pt-query-digest shouldn't print "Error: none" for tcpdump
* Fixed bug 1103045: pt-query-digest fails to parse non-SQL errors
* Fixed bug 1105077: pt-table-checksum: Confusing error message with binlog_format ROW or MIXED on slave
* Fixed bug 918056: pt-table-sync false-positive error "Cannot nibble table because MySQL chose no index instead of the PRIMARY index"
* Fixed bug 1099933: pt-stalk is too verbose, fills up log
v2.1.8 released 2012-12-21
* Beta support for MySQL 5.6
* Beta support for Percona XtraDB Cluster
* pt-online-schema-change: If ran on Percona XtraDB Cluster, requires PXC 5.5.28 or newer
* pt-table-checksum: If ran on Percona XtraDB Cluster, requires PXC 5.5.28 or newer
* pt-upgrade: Added --[no]disable-query-cache
* Fixed bug 927955: Bad pod2rst transformation
* Fixed bug 898665: Bad online docs formatting for --[no]vars
* Fixed bug 1022622: pt-config-diff is case-sensitive
* Fixed bug 1007938: pt-config-diff doesn't handle end-of-line comments
* Fixed bug 917770: pt-config-diff Use of uninitialized value in substitution (s///) at line 1996
* Fixed bug 1082104: pt-deadlock-logger doesn't handle usernames with dashes
* Fixed bug 886059: pt-heartbeat handles timezones inconsistently
* Fixed bug 1086259: pt-kill --log-dsn timestamp is wrong
* Fixed bug 1015590: pt-mysql-summary doesn't handle renamed variables in Percona Server 5.5
* Fixed bug 1079341: pt-online-schema-change checks for foreign keys on MyISAM tables
* Fixed bug 823431: pt-query-advisor hangs on big queries
* Fixed bug 996069: pt-query-advisor RES.001 is incorrect
* Fixed bug 933465: pt-query-advisor false positive on RES.001
* Fixed bug 937234: pt-query-advisor issues wrong RES.001
* Fixed bug 1082599: pt-query-digest fails to parse timestamp with no query
* Fixed bug 1078838: pt-query-digest doesn't parse general log with "Connect user as user"
* Fixed bug 957442: pt-query-digest with custom --group-by throws error
* Fixed bug 887638: pt-query-digest prints negative byte offset
* Fixed bug 831525: pt-query-digest help output mangled
* Fixed bug 932614: pt-slave-restart CHANGE MASTER query causes error
* Fixed bug 1046440: pt-stalk purge_samples slows down checks
* Fixed bug 986847: pt-stalk does not report NFS iostat
* Fixed bug 1074179: pt-table-checksum doesn't ignore tables for --replicate-check-only
* Fixed bug 911385: pt-table-checksum v2 fails when --resume + --ignore-database is used
* Fixed bug 1041391: pt-table-checksum debug statement for "Chosen hash func" prints undef
* Fixed bug 1075638: pt-table-checksum Illegal division by zero at line 7950
* Fixed bug 1052475: pt-table-checksum uninitialized value in numeric lt (<) at line 8611
* Fixed bug 1078887: Tools let --set-vars clobber the required SQL mode