📄 changes
字号:
DBMD now has correct types/lengths for getXXX().
ResultSet.getDate(), getTime(), and getTimestamp() fixes.
(contributed by Alan Wilken)
EscapeProcessor now handles \{ \} and { or } inside quotes
correctly. (thanks to Alik for some ideas on how to fix it)
Fixes to properties handling in Connection.
(contributed by Juho Tikkala)
ResultSet.getObject() now returns null for NULL columns
in the table, rather than bombing out.
(thanks to Ben Grosman)
ResultSet.getObject() now returns Strings for types
from MySQL that it doesn't know about. (Suggested by
Chris Perdue)
Removed DataInput/Output streams, not needed, 1/2 number
of method calls per IO operation.
Use default character encoding if one is not specified. This
is a work-around for broken JVMs, because according to spec,
EVERY JVM must support "ISO8859_1", but they don't.
06-03-99 - Fixed Connection to use the platform character encoding
instead of "ISO8859_1" if one isn't explicitly set. This
fixes problems people were having loading the character-
converter classes that didn't always exist (JVM bug).
(thanks to Fritz Elfert for pointing out this problem)
05-27-99 - Changed MysqlIO to re-use packets where possible to reduce
memory usage.
05-13-99 - Fixed escape-processor bugs pertaining to {} inside
quotes.
04-14-99 - Fixed character-set support for non-Javasoft JVMs
(thanks to many people for pointing it out)
Fixed ResultSet.getBoolean() to recognize 'y' & 'n'
as well as '1' & '0' as boolean flags.
(thanks to Tim Pizey)
Fixed ResultSet.getTimestamp() to give better performance.
(thanks to Richard Swift)
Fixed getByte() for numeric types.
(thanks to Ray Bellis)
Fixed DatabaseMetaData.getTypeInfo() for DATE type.
(thanks to Paul Johnston)
Fixed EscapeProcessor for "fn" calls.
(thanks to Piyush Shah at locomotive.org)
Fixed EscapeProcessor to not do extraneous work if there
are no escape codes.
(thanks to Ryan Gustafson)
Fixed Driver to parse URLs of the form "jdbc:mysql://host:port"
(thanks to Richard Lobb)
03-24-99 - Fixed Timestamps for PreparedStatements
Fixed null pointer exceptions in RSMD and RS
Re-compiled with jikes for valid class files (thanks ms!)
03-08-99 - Fixed escape processor to deal with un-matched { and }
(thanks to Craig Coles)
Fixed escape processor to create more portable (between
DATETIME and TIMESTAMP types) representations so that
it will work with BETWEEN clauses.
(thanks to Craig Longman)
MysqlIO.quit() now closes the socket connection. Before,
after many failed connections some OS's would run out
of file descriptors. (thanks to Michael Brinkman)
Fixed NullPointerException in Driver.getPropertyInfo.
(thanks to Dave Potts)
Fixes to MysqlDefs to allow all *text fields to be
retrieved as Strings.
(thanks to Chris at Leverage)
Fixed setDouble in PreparedStatement for large numbers
to avoid sending scientific notation to the database.
(thanks to J.S. Ferguson)
Fixed getScale() and getPrecision() in RSMD.
(contrib'd by James Klicman)
Fixed getObject() when field was DECIMAL or NUMERIC
(thanks to Bert Hobbs)
DBMD.getTables() bombed when passed a null table-name
pattern. Fixed. (thanks to Richard Lobb)
Added check for "client not authorized" errors during
connect. (thanks to Hannes Wallnoefer)
02-19-99 - Result set rows are now byte arrays. Blobs and Unicode
work bidriectonally now. The useUnicode and encoding
options are implemented now.
Fixes to PreparedStatement to send binary set by
setXXXStream to be sent un-touched to the MySQL server.
Fixes to getDriverPropertyInfo().
12-31-98 - Changed all ResultSet fields to Strings, this should allow
Unicode to work, but your JVM must be able to convert
between the character sets. This should also make reading
data from the server be a bit quicker, because there is now
no conversion from StringBuffer to String.
Changed PreparedStatement.streamToString() to be more
efficient (code from Uwe Schaefer).
URL parsing is more robust (throws SQL exceptions on errors
rather than NullPointerExceptions)
PreparedStatement now can convert Strings to Time/Date values
via setObject() (code from Robert Currey).
IO no longer hangs in Buffer.readInt(), that bug was
introduced in 1.1d when changing to all byte-arrays for
result sets. (Pointed out by Samo Login)
11-03-98 - Fixes to DatabaseMetaData to allow both IBM VA and J-Builder
to work. Let me know how it goes. (thanks to Jac Kersing)
Fix to ResultSet.getBoolean() for NULL strings
(thanks to Barry Lagerweij)
Beginning of code cleanup, and formatting. Getting ready
to branch this off to a parallel JDBC-2.0 source tree.
Added "final" modifier to critical sections in MysqlIO and
Buffer to allow compiler to inline methods for speed.
9-29-98 - If object references passed to setXXX() in PreparedStatement are
null, setNull() is automatically called for you. (Thanks for the
suggestion goes to Erik Ostrom)
setObject() in PreparedStatement will now attempt to write a
serialized representation of the object to the database for
objects of Types.OTHER and objects of unknown type.
Util now has a static method readObject() which given a ResultSet
and a column index will re-instantiate an object serialized in
the above manner.
9-02-98 - Got rid of "ugly hack" in MysqlIO.nextRow(). Rather than
catch an exception, Buffer.isLastDataPacket() was fixed.
Connection.getCatalog() and Connection.setCatalog()
should work now.
Statement.setMaxRows() works, as well as setting
by property maxRows. Statement.setMaxRows() overrides
maxRows set via properties or url parameters.
Automatic re-connection is available. Because it has
to "ping" the database before each query, it is
turned off by default. To use it, pass in "autoReconnect=true"
in the connection URL. You may also change the number of
reconnect tries, and the initial timeout value via
"maxReconnects=n" (default 3) and "initialTimeout=n"
(seconds, default 2) parameters. The timeout is an
exponential backoff type of timeout, e.g. if you have initial
timeout of 2 seconds, and maxReconnects of 3, then the driver
will timeout 2 seconds, 4 seconds, then 16 seconds between each
re-connection attempt.
8-24-98 - Fixed handling of blob data in Buffer.java
Fixed bug with authentication packet being
sized too small.
The JDBC Driver is now under the LPGL to allow
people to legally include it in their non-GPL'd
software.
8-14-98 - Fixed Buffer.readLenString() to correctly
read data for BLOBS.
Fixed PreparedStatement.stringToStream to
correctly read data for BLOBS.
Fixed PreparedStatement.setDate() to not
add a day.
(above fixes thanks to Vincent Partington)
Added URL parameter parsing (?user=... etc).
(thanks to Sander Magi).
8-04-98 - Big news! New package name. Tim Endres from ICE
Engineering is starting a new source tree for
GNU GPL'd Java software. He's graciously given
me the org.gjt.mm package directory to use, so now
the driver is in the org.gjt.mm.mysql package scheme.
I'm "legal" now. Look for more information on Tim's
project soon.
Now using dynamically sized packets to reduce
memory usage when sending commands to the DB.
Small fixes to getTypeInfo() for parameters, etc.
DatabaseMetaData is now fully implemented. Let me
know if these drivers work with the various IDEs
out there. I've heard that they're working with
JBuilder right now.
Added JavaDoc documentation to the package.
Package now available in .zip or .tar.gz.
7-29-98 - Implemented getTypeInfo().
Connection.rollback() now throws an SQLException
per the JDBC spec.
7-28-98 - Added PreparedStatement that supports all JDBC API
methods for PreparedStatement including InputStreams.
Please check this out and let me know if anything is
broken.
Fixed a bug in ResultSet that would break some
queries that only returned 1 row.
Fixed bugs in DatabaseMetaData.getTables(),
DatabaseMetaData.getColumns() and
DatabaseMetaData.getCatalogs().
Added functionality to Statement that allows
executeUpdate() to store values for IDs that are
automatically generated for AUTO_INCREMENT fields.
Basically, after an executeUpdate(), look at the
SQLWarnings for warnings like "LAST_INSERTED_ID =
'some number', COMMAND = 'your SQL query'".
If you are using AUTO_INCREMENT fields in your
tables and are executing a lot of executeUpdate()s
on one Statement, be sure to clearWarnings() every
so often to save memory.
7-06-98 - Split MysqlIO and Buffer to separate classes. Some
ClassLoaders gave an IllegalAccess error for some
fields in those two classes. Now mm.mysql works in
applets and all classloaders.
Thanks to Joe Ennis <jce@mail.boone.com> for pointing
out the problem and working on a fix with me.
7-01-98 - Fixed DatabaseMetadata problems in getColumns() and
bug in switch statement in the Field constructor.
Thanks to Costin Manolache <costin@tdiinc.com> for
pointing these out.
5-21-98 - Incorporated efficiency changes from
Richard Swift <Richard.Swift@kanatek.ca> in
MysqlIO.java and ResultSet.java
We're now 15% faster than gwe's driver.
Started working on DatabaseMetaData.
The following methods are implemented:
* getTables()
* getTableTypes()
* getColumns
* getCatalogs()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -