Below is the list of changes that have just been committed into a local
mysqldoc repository of mmatthew. When mmatthew does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://www.mysql.com/doc/I/n/Installing_source_tree.html
ChangeSet
1.2570 05/02/18 13:40:54 mmatthew@stripped +1 -0
connector-j-en.xml:
Added upgrade notes for zeroDateTimeBehavior, fixed grammar issues in 3.1.7 changelog.
Docs/connector-j-en.xml
1.32 05/02/18 13:40:14 mmatthew@stripped +115 -83
Added upgrade notes for zeroDateTimeBehavior, fixed grammar issues in 3.1.7 changelog.
# This is a BitKeeper patch. What follows are the unified diffs for the
# set of deltas contained in the patch. The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User: mmatthew
# Host: marks-box.i.thematthews.org
# Root: /home/mmatthew/work/docs/mysqldoc
--- 1.31/Docs/connector-j-en.xml 2005-02-17 16:36:16 -06:00
+++ 1.32/Docs/connector-j-en.xml 2005-02-18 13:40:14 -06:00
@@ -180,6 +180,33 @@
<para><computeroutput>useSqlStateCodes=false</computeroutput></para>
</listitem>
+
+ <listitem>
+ <para>Datetimes with all-zero components ('0000-00-00 ...') -
+ These values can not be represented reliably in Java.
+ Connector/J 3.0.x always converted them to NULL when being read
+ from a ResultSet.</para>
+
+ <para>Connector/J 3.1 throws an exception by default when these
+ values are encountered as this is the most correct behavior
+ according to the JDBC and SQL standards. This behavior can be
+ modified using the '<property>zeroDateTimeBehavior</property>'
+ configuration property. The allowable values are: 'exception'
+ (the default), which throws a SQLException with a SQLState of
+ 'S1009', 'convertToNull', which returns NULL instead of the
+ date, and 'round', which rounds the date to the nearest closest
+ value which is '0001-01-01'.</para>
+
+ <para>Starting with Connector/J 3.1.7, ResultSet.getString() can
+ be decoupled from this behavior via
+ '<property>noDatetimeStringSync=true</property>' (the default
+ value is 'false') so that you can get retrieve the unaltered
+ all-zero value as a String. It should be noted that this also
+ precludes using any timezone conversions, therefore the driver
+ will not allow you to enable
+ <property>noDatetimeStringSync</property> and
+ <property>useTimezone</property> at the same time.</para>
+ </listitem>
</itemizedlist>
</sect3>
@@ -209,7 +236,7 @@
<para><emphasis>Server-side Prepared Statements</emphasis> -
Connector/J 3.1 will automatically detect and use server-side
prepared statements when they are available (MySQL server
- version 4.1.0 and newer). </para>
+ version 4.1.0 and newer).</para>
<para>Starting with version 3.1.7, the driver scans SQL you
are preparing via all variants of
@@ -4789,101 +4816,106 @@
02-18-05 - Version 3.1.7-stable
- - Fixed BUG#7686, Timestamp key column data needed "_binary'" stripped for
- UpdatableResultSet.refreshRow().
-
- - Fixed BUG#7715 - Timestamps converted incorrectly to strings
+ - Fixed BUG#7686, Timestamp key column data needed "_binary'"
+ stripped for UpdatableResultSet.refreshRow().
+
+ - Fixed BUG#7715 - Timestamps converted incorrectly to strings
with Server-side prepared statements and updatable result sets.
-
- - Detect new 'stringified' sql_mode variable and adjust quoting method
- for strings appropriately.
-
- - Added 'holdResultsOpenOverStatementClose' property (default is false),
- that keeps result sets open over statement.close() or new execution
- on same statement (suggested by Kevin Burton).
-
- - Fixed BUG#7952 -- Infinite recursion when 'falling back' to master in
- failover configuration.
-
- - Disable multi-statements (if enabled) for MySQL-4.1 versions prior to
- version 4.1.10 if the query cache is enabled, as the server returns
- wrong results in this configuration.
-
+
+ - Detect new sql_mode variable in string form (it used to be
+ integer) and adjust quoting method for strings appropriately.
+
+ - Added 'holdResultsOpenOverStatementClose' property (default is
+ false), that keeps result sets open over statement.close() or new
+ execution on same statement (suggested by Kevin Burton).
+
+ - Fixed BUG#7952 -- Infinite recursion when 'falling back' to master
+ in failover configuration.
+
+ - Disable multi-statements (if enabled) for MySQL-4.1 versions prior
+ to version 4.1.10 if the query cache is enabled, as the server
+ returns wrong results in this configuration.
+
- Fixed duplicated code in configureClientCharset() that prevented
useOldUTF8Behavior=true from working properly.
-
- - Removed 'dontUnpackBinaryResults' functionality, the driver now
- always stores results from server-side prepared statements as-is
- from the server and un-packs them on demand.
-
+
+ - Removed 'dontUnpackBinaryResults' functionality, the driver now
+ always stores results from server-side prepared statements as-is
+ from the server and unpacks them on demand.
+
- Fixed BUG#8096 where emulated locators corrupt binary data
when using server-side prepared statements.
-
- - Fixed synchronization issue with ServerPreparedStatement.serverPrepare()
- that could cause deadlocks/crashes if connection was shared between
- threads.
-
- - By default, the driver now scans SQL you are preparing via all variants
- of Connection.prepareStatement() to determine if it is a supported
- type of statement to prepare on the server side, and if it is not
- supported by the server, it instead prepares it as a client-side emulated
- prepared statement (BUG#4718). You can disable this by passing
- 'emulateUnsupportedPstmts=false' in your JDBC URL.
-
- - Remove _binary introducer from parameters used as in/out parameters
- in CallableStatement.
-
+
+ - Fixed synchronization issue with
+ ServerPreparedStatement.serverPrepare() that could cause
+ deadlocks/crashes if connection was shared between threads.
+
+ - By default, the driver now scans SQL you are preparing via all
+ variants of Connection.prepareStatement() to determine if it is a
+ supported type of statement to prepare on the server side, and if
+ it is not supported by the server, it instead prepares it as a
+ client-side emulated prepared statement (BUG#4718). You can
+ disable this by passing 'emulateUnsupportedPstmts=false' in your
+ JDBC URL.
+
+ - Remove _binary introducer from parameters used as in/out
+ parameters in CallableStatement.
+
- Always return byte[]s for output parameters registered as *BINARY.
-
- - Send correct value for 'boolean' "true" to server for PreparedStatement.
- setObject(n, "true", Types.BIT).
-
- - Fixed bug with Connection not caching statements from prepareStatement()
- when the statement wasn't a server-side prepared statement.
-
- - Choose correct 'direction' to apply time adjustments when both client
- and server are both in GMT timezone when using ResultSet.get(..., cal)
- and PreparedStatement.set(...., cal).
-
- - Added 'dontTrackOpenResources' option (default is false, to be JDBC
- compliant), which helps with memory use for non-well-behaved apps (i.e
- applications which don't close Statements when they should).
-
+
+ - Send correct value for 'boolean' "true" to server for
+ PreparedStatement.setObject(n, "true", Types.BIT).
+
+ - Fixed bug with Connection not caching statements from
+ prepareStatement() when the statement wasn't a server-side
+ prepared statement.
+
+ - Choose correct 'direction' to apply time adjustments when both
+ client and server are in GMT timezone when using
+ ResultSet.get(..., cal) and PreparedStatement.set(...., cal).
+
+ - Added 'dontTrackOpenResources' option (default is false, to be
+ JDBC compliant), which helps with memory use for non-well-behaved
+ apps (i.e applications which don't close Statements when they
+ should).
+
- Fixed BUG#8428 - ResultSet.getString() doesn't maintain format
- stored on server, bugfix only enabled when 'noDatetimeStringSync'
+ stored on server, bug fix only enabled when 'noDatetimeStringSync'
property is set to 'true' (the default is 'false').
-
+
- Fixed NPE in ResultSet.realClose() when using usage advisor and
result set was already closed.
-
- - Fixed BUG#8487 - PreparedStatements not creating streaming result sets.
-
- - Don't pass NULL to String.valueOf() in ResultSet.getNativeConvertToString(),
- as it stringifies it (i.e. returns "null"), which is not correct for the
- method in question.
-
+
+ - Fixed BUG#8487 - PreparedStatements not creating streaming result
+ sets.
+
+ - Don't pass NULL to String.valueOf() in
+ ResultSet.getNativeConvertToString(), as it stringifies it (i.e.
+ returns "null"), which is not correct for the method in question.
+
- Fixed BUG#8484 - ResultSet.getBigDecimal() throws exception
- when rounding would need to occur to set scale. The driver now
- chooses a rounding mode of 'half up' if non-rounding
+ when rounding would need to occur to set scale. The driver now
+ chooses a rounding mode of 'half up' if non-rounding
BigDecimal.setScale() fails.
-
- - Added 'useLocalSessionState' configuration property, when set to 'true'
- the JDBC driver trusts that the application is well-behaved and only
- sets autocommit and transaction isolation levels using the methods
- provided on java.sql.Connection, and therefore can manipulate these
- values in many cases without incurring round-trips to the database
- server.
-
- - Added enableStreamingResults() to Statement for connection pool impl.
- that check Statement.setFetchSize() for spec-compliant values. Call
- Statement.setFetchSize(>=0) to disable the streaming results for that
- statement.
+
+ - Added 'useLocalSessionState' configuration property, when set to
+ 'true' the JDBC driver trusts that the application is well-behaved
+ and only sets autocommit and transaction isolation levels using
+ the methods provided on java.sql.Connection, and therefore can
+ manipulate these values in many cases without incurring
+ round-trips to the database server.
+
+ - Added enableStreamingResults() to Statement for connection pool
+ implementations that check Statement.setFetchSize() for
+ specification-compliant values. Call Statement.setFetchSize(>=0)
+ to disable the streaming results for that statement.
- Added support for BIT type in MySQL-5.0.3. The driver will treat
- BIT(1-8) as the JDBC standard BIT type (which maps to java.lang.Boolean),
- as the server does not currently send enough information to deterimine
- the size of a bitfield when < 9 bits are declared. BIT(>9) will be treated
- as VARBINARY, and will return byte[] when getObject() is called.
+ BIT(1-8) as the JDBC standard BIT type (which maps to
+ java.lang.Boolean), as the server does not currently send enough
+ information to determine the size of a bitfield when < 9 bits are
+ declared. BIT(>9) will be treated as VARBINARY, and will return
+ byte[] when getObject() is called.
12-23-04 - Version 3.1.6-stable
@@ -6819,4 +6851,4 @@
* getCatalogs()
</programlisting>
</appendix>
-</book>
+</book>
\ No newline at end of file
| Thread |
|---|
| • bk commit - mysqldoc tree (mmatthew:1.2570) | mark | 18 Feb |