Menu

LDBC Liberty Database Connectivity / News: Recent posts

Bugfix release

This is a bugfix for MySQL autoincrement.
The directory structure has changed.
New database versions have been tested.

Posted by Thomas Mueller 2005-04-27

Native autoincrement for MySQL

For MySQL, the library now uses the native AUTO_INCREMENT mechanism of the database. The same is planned for other databases if possible.

COUNT(DISTINCT support)

Add MS SQL Server support using the JTDS driver

Added 'SQL only' trace

Console: password hiding is now optional, because it doesn't work in some consoles (for example Eclipse)

Bugfixes:

Oracle: Reduces the size of the buffer to 1k (for example for the chineese charset)... read more

Posted by Thomas Mueller 2004-06-29

SELECT TOP n

SELECT TOP n functionality is supported. Example:

SELECT TOP 2 * FROM TEST ORDER BY ID

There are two exceptions:

INSERT INTO ... SELECT TOP <top> ... : <top> is ignored
EXISTS (SELECT TOP <top>...): <top> is ignored

Posted by Thomas Mueller 2004-04-18

ALTER TABLE ADD COLUMN

ALTER TABLE ADD COLUMN

CREATE TABLE with DEFAULT

Smaller bugfixes for IBM DB2 Version 8 (rename table).

NOW() and other functions in INSERT clause

Posted by Thomas Mueller 2004-03-31

O/R mapping tool; Bugfixes

Improved the API of the Object-Relation mapping tool. Support arbitrary SQL statements. Fixed various bugs

New features:
Support for COUNT(1)
Support for DatabaseMetaData.getMax...NameLength. Max length is 30
support != as an alias for <>
Support SELECT T.* FROM TEST T

Bugfixes:
adapters.properties was not in the jar

Posted by Thomas Mueller 2004-03-14

ALTER TABLE, INSERT INTO .. SELECT

Support for:
ALTER TABLE .. DROP CONSTRAINT .., ALTER TABLE .. RENAME TO .., INSERT INTO .. SELECT ..

Statement.getGeneratedKeys is supported now.

A coverage test tool is now used. The regression test was quite poor before, as the test did not cover 34% of the code (jdbc and core packages, and Translator class in the parser package). The goal is to test nearly 100%. Some new tests have been added, and some new bugs have been found and fixed: NOT LIKE, DatabaseMetaData.getCatalogs, DatabaseMetaData.getUDTs, Connection.nativeSQL. RIGHT OUTER JOIN problem found. HAVING was not translated correctly (and HSQLDB doesn't support HAVING). Current level: 26% not covered.... read more

Posted by Thomas Mueller 2004-02-28

Support for EXISTS and HAVING

Support for EXISTS and HAVING, but MySQL version 4.1 is required in order to support EXISTS and NOT EXISTS. Please note that MySQL version 4.1 has some other problems (it is a beta release) and is not fully supported by LDBC, but in the future it should work.

A new Console tool for interactive (command line / console) query processing and debugging

Implemented export with unicode characters (which works if the database supports unicode characters as well)... read more

Posted by Thomas Mueller 2004-02-22

Development continues, new release

After a longer pause a new release is now available.

New Features:

A new SQL command to get the last inserted autoincrement value: GET AUTOINCREMENT KEY

New commands implemented: CREATE TABLE IF NOT EXISTS and DROP TABLE IF EXISTS

New Export and Import tools for transfering data amount databases and backup - restore. However referential integrity is not yet supported.

Configurable adapter info in Factory. The list of adapters can be set in the test file 'adapters.properties'... read more

Posted by Thomas Mueller 2004-02-15

Bugfix release

The following bugs have been fixed:

- Foreign Key/Reference multiple column names (2 bugs)

- Problems with parenthesis

Posted by Thomas Mueller 2003-09-09

Support for PostgreSQL

Support for PostgreSQL

PostgreSQL is now supported. There are some issues with commit/rollback after exception and blobs.

The Java databases QED and Mckoi have been tested as well, unfortunately there are still bigger problems with these two.

Bugfixes:
- identifiers where not correctly converted to uppercase before being quoted
- autoincrement column was not correctly converted to uppercase

A simple Object-Relation mapping library is included in this release. It is not finished, so this is just a preview. Maybe a new sourceforge project will be started later. The targets of the project are:... read more

Posted by Thomas Mueller 2003-07-26

Support for autoincrement columns

Autoincrement columns are now supported. The MS SQL Server / Sybase style is used. For details, see the documentation.

Internally using quoted names. This allowed to reduce the list of reserved words (keywords) to around 1/3 of the original list. If MySQL and HSQLDB would fully support quoted names, this list could be futher reduced.

The documentation and Javadoc is cleaned up.

Posted by Thomas Mueller 2003-04-29

No War In Iraq

The project web site is black to protest against the war in Iraq.

Posted by Thomas Mueller 2003-03-20

IBM DB2 is supported

IBM DB2 is supported now. With DB2, there are now 6 databases fully supported by LDBC.

The issued found and solved with DB2 are:

- Binary constants
- ResultSet.getCharacterStream is not implemented
- This query is not allowed: SELECT NULL FROM TEST
- Can not cast integer directly to varchar
- DatabaseMetaData resultsets must be explicitly closed
- prep.setNull(i,Types.BLOB) issue
- prep.setBinaryStream not always working
- prep.setCharacterStream is not implemented

Posted by Thomas Mueller 2003-01-30

Bugfix Release

Bugs fixed:
- "Null" in select not supported
- MySQL convertDataType error
- meta.getColumns unreadable

Posted by Thomas Mueller 2003-01-10

JDK 1.4.x support

JDK 1.4.1 extensions are implemented. The extensions can be switched on and off in the source code using ant.

The documentation is now compliant to the Standard Doclet version 1.4.1. This simplifies the translation of the javadocs.

Started with IBM DB2 support.

SQL Server: check for correct URL at startup, with appropriate error message.

MySQL: documentation how to switch on InnoDB.

Posted by Thomas Mueller 2002-12-11

New doc section 'How to build'

Some people had problems building the package (ldbc.jar). Now, the jar file is also available for download. In addition to that, there is a new section 'How to Build' in the documentation (and a link in the FAQ).

Posted by Thomas Mueller 2002-10-10

Improved debug trace

The debug trace feature is improved. It is now possible to trace to file, and the option can be set in the database url.

Other changed: DROP INDEX implemented (with the MySQL syntax). Index names only need to be unique for each table (even for Oracle and HSQLDB). SET AUTOCOMMIT TRUE / FALSE pseudo command implemented. DatabaseMetaData.getImportedKeys is implemented.

Posted by Thomas Mueller 2002-10-01

Foreign key support

Foreign keys are now supported. However, not all the functionality is implemented, only the basics. Delete on cascade and so on are currently missing. More tests need to be implemented as well. There was a problem with MySQL, because in this database a index is required for the columns referencing. It may still be problematic in some cases, for example the MySQL documentation says CREATE INDEX after referential integrity is not supported, and currently LDBC does not check if the referenced table (parent table) already has an index. Also the DatabaseMetaData methods for foreign keys are not implemented / tested.

Posted by Thomas Mueller 2002-09-28

Improved compatibility

The idea is: make sure as many as possible existing applications just work when switching to LDBC. A first step in this direction is aliases for data types and functions.

Other changes:

Web site changes

Error handling cleanup

Package structure simplification

Posted by Thomas Mueller 2002-09-27

First 'pseudo' SQL commands

Support for two new SQL statements: COMMIT and ROLLBACK. But this commands will not be sent to the database, instead the method Connection.commit() / Connection.rollback() is called. This is a first step towards more complex pseudo commands like Java 'stored procedures'.

Autocommit problems fixed (Oracle and PointBase have problems).

Added SQL grammar support for aggregates: MIN, MAX, AVG, SUM, COUNT.... read more

Posted by Thomas Mueller 2002-09-25

Solution for Oracle CLOB/BLOB problem

Background: The Oracle thin driver does not support inserting/updating a CLOB or BLOB with more then 4000 bytes/characters. This is a problem for many applications.

There is a workaround suggested by Oracle, but it is very complex. Anyway, this workaround is implemented now. There is still a problem with Oracle 8i and autocommit, but this can be solved as well.

Unfortunately, there is a new limit for CLOB/BLOB, this time by MySQL, it seems to be 65535 bytes.

Posted by Thomas Mueller 2002-09-24

Support for CLOB

The remaining JDBC methods in ResultSet and PreparedStatement are implemented.

Only CallableStatement is not fully implemented yet.

Posted by Thomas Mueller 2002-09-23

Support for BLOB

Unfortunately only up to 4000 bytes. Oracle doesn't support more. Tests with binary have been added.

PreparedStatement:
setBytes, setBlob, setClob, setArray, setBinaryStream, etDate, Time, Timestamp with Calendar are implemented.

ResultSet:
getBytes, getBlob, getClob, getArray, getBinaryStream, getDate, Time, Timestamp with Calendar are implemented.

Statement is now fully implemented.
A test for batch updates has been added, however batch updates are not supported due to bugs in the underlying drivers.

Posted by Thomas Mueller 2002-09-20

More JDBC functionality

Many additional JDBC methods have been implemented:

All the remainging Connection methods.

Most Statement methods (except batch methods).

Many in Resultset: isBeforeFirst, isAfterLast, isFirst, isLast, beforeFirst, afterLast, first, last, moveToInsertRow, moveToCurrentRow, absolute, relative, previous, get+set FetchDirection, get+set FetchSize, getType, getConcurrency, rowUpdated, rowInserted, rowDeleted, insertRow, updateRow, deleteRow, refreshRow, cancelRowUpdates. Most of these methods are just throwing an exception as the functionality is not available in many databases. However, the Javadocs are now there :)... read more

Posted by Thomas Mueller 2002-09-17

Inner and Outer Join

Outer join not yet supported on Oracle 8i, however Inner Join is (even using the ANSI SQL-92 Join Syntax).

Now Implemented:
Statement.setCursorName
PreparedStatement.setCursorName
ResultSet.getCursorName
ResultSet.getRow

Found an idea for CallableStatement (Stored Procedures): call a Java method on the client side. A more advanced solution would be to store the bytecode of this class in the database.

Posted by Thomas Mueller 2002-09-13
MongoDB Logo MongoDB