


|
 |
 |
 |
 |

|
Litebase 2.29
1. Improved table recovering after a crash. Already created tables will use the old procedure. To use the new procedure, please recreate your tables.
2. If a public method in now called when its object is already closed, now an IllegalStateException will be thrown instead of a DriverException.
3. If a public method receives an invalid argument, now an IllegalArgumentException will be thrown instead of a DriverException.
4. Reduced log files size on Windows 32, Windows CE, Palm, Linux, Android, iPhone, and iPad.
5. Corrected a bug of MAX() and MIN() not working properly with DATE and DATETIME on JavaSE and BlackBerry.
6. Corrected a bug of inequality searches in big indices not returning all the results on Windows 32, Windows CE, Palm, Linux, Android, iPhone, and iPad.
7. Corrected a bug of composed indices files returning after deleting all indices on Windows 32, Windows CE, Palm, Linux, Android, iPhone, and iPad.
8. Corrected possible wrong results when comparing with nulls on Windows 32, Windows CE, Palm, Linux, Android, iPhone, and iPad.
9. Now the first level nodes of a b-tree index will be loaded in memory except on Palm, because of low free memory.
Litebase 2.28
1. Solved a bug with LIKE "%".
2. Solved a possible crash with LIKE "...%" on Windows 32, Windows CE, Palm, Linux, Android, iPhone, and iPad.
3. Corrected a bug of LIKE using DATE and DATETIME not returning the correct result.
4. Litebase default logger is now a plain text file instead of a PDB file. This will make the logging process much faster.
5. Corrected a AIOBE when using a table created on Windows 32, Windows CE, Linux, Palm, Android, iPhone, or iPad using primary key on BlackBerry and Eclipse.
6. Corrected LitebaseConnection.dropDatabase() not working properly on Windows CE.
7. Corrected a possible exception or crash when the table has too many columns and composed indices or PKs.
8. Corrected a possible index corruption if its files are deleted and the application crashes after recreating it.
9. Solved a bug of prepared statement wrong parameter dealing.
10. Solved a bug that could crash the application when more than one index is applied.
11. Litebase public class constructors are now not public any more. This is because LitebaseConnection, ResultSet, ResultSetMetaData, RowIterator, and PreparedStatement should not be created explicity.
12. Solved a bug with index with repeated keys which could not be built correctly on Windows 32, Windows CE, Palm, Linux, Android, iPhone, and iPad.
13. Removed some possible strange behaviours when using threads on Java SE and BlackBerry.
14. Solved a possible TableNotClosedException on BB when not closing the connection before exiting the application.
15. Corrected a bug when using joins with indices which could cause an OutOfMemoryExcepion on Windows 32, Windows CE, Palm, Linux, Android, iPhone, and iPad.
16. Solved a bug with row iterator on Windows 32, Windows CE, Palm, Linux, Android, iPhone, and iPad.
17. Solved a possible crash or exception if the table is not closed properly after dropping a composed primary key.
18. Removed possible garbage in table files on JavaSE, Windows 32, Windows CE, and Palm.
19. Removed some possible memory problems with prepared statements and ResultSet.getStrings() on Windows 32, Windows CE, Palm, Linux, Android, iPhone, and iPad.
20. Solved a possible crash when using aggregation functions with strings.
21. Now LitebaseConnection.getDefaultLogger() will throw a DriverException instead of an IOException if a file error occurs on Windows 32, Windows CE, Palm, Linux, Android, iPhone, and iPad.
22. Solved a bug of not finding rows in a where clause with AND where only one of its sides does not use an index and there are deleted rows on Windows 32, Windows CE, Palm, Linux, Android, iPhone, and iPad.
23. Solved a possible index corruption when doing updates on indices with repetition on JavaSE and BlackBerry.
Litebase 2.27
1. Solved a problem with selecting all the columns of a 128-column table on Windows 32, Windows CE, Linux, Palm, Android, and iPhone.
2. Added methods to indicate if a column of a result set is not null or has default values.
3. Improved table files flush dealing.
4. The connection where the result set was created can't be closed while using it.
5. The new application id of SQLConsole must be 4 characters long.
6. Drop index * on table_name wold make the index reapear after closing the driver and reusing table_name.
7. Solved a bug on delete when trying to delete a key from a column which has index and there are deleted rows with the same key.
8. Solved a bug on select prepared statement with like not returning the correct result on Windows 32, Windows CE, Linux, Palm, Android, and iPhone.
9. Corrected a possible crash if the number of columns of the insert were greater than the one of table definition on Windows 32, Windows CE, Linux, Palm, Android, and iPhone.
10. Corrected a bug of a delete with no where clause not taking the already deleted rows into consideration when returning the number of deleted rows.
11. Corrected a bug of an exception being thrown when trying to delete a row with a null in column which has an index.
12. Corrected a possible bug with MAX() and MIN() with strings on Windows 32, Windows CE, Linux, Palm, Android, and iPhone.
13. Corrected a DriverException not being thrown when issuing ResultSet.getChars() for a column that is not of CHARS, CHARS NOCASE, VARCHAR, or VARCHAR NOCASE.
14. Corrected a DriverException not being thrown when fetching in some cases when trying to fetch data from an invalid result set column.
15. Corrected a possible NullPointerException when creating an index in a column with null values on Java SE and BlackBerry.
16. Purge must truncate the .db file and flush .dbo file in order to ensure that a future recoverTable() won't corrupt the table on Windows 32, Windows CE, Linux, Palm, Android, and iPhone.
17. Corrected a possible crash if one tries to update more than 128 fields in a table on Windows 32, Windows CE, Linux, Palm, Android, and iPhone,
18. Corrected a possible insertion of a negative short column being recovered in the select as positive on Windows 32, Windows CE, Linux, Palm, Android, and iPhone.
19. Corrected a bug in convert() and recoverTable() which could not find the table .db file.
20. Corrected order by or group by with strings being too slow.
21. Corrected a bug of recover table not working correctly if the table has indices.
22. RowIterator.close() now flushes the setSynced() calls.
23. Solved possible crashes when using a table recovered which was being used with setRowInc() before not being closed properly on JavaSE, Windows 32, Windows CE and Palm.
Litebase 2.26
1. Corrected a possible bug when comparing null strings on Windows 32, Windows CE, Palm, iPhone, and Android.
2. Corrected possible path problems on Windows CE and Palm.
3. Improved index application so that it may be applied to more parts of a where clause. Now it is no longer necessary to use parentheses in a special
way in order to make the indices be applied when the where clause is of the form A and B and C ... and Z, or A or B or C ... or Z.
4. Now a table won't be marked as not closed properly if the application stops suddenly and the table was not modified since its last opening. That is,
if a table is just oppened for a select, for instance, even if the application crashes during it, no recoverTable() is needed.
5. The aggregation functions MAX() and MIN() now work for CHAR, VARCHAR, CHAR NOCASE, and VARCHAR NOCASE column types.
6. Added LitebaseConnection.isOpen(), which indicates if a table is open in the current connection.
7. Added the application Migration to help the user to migrate tables from a previous table format to the current one.
8. A table without metadata (with an empty .db, for instance) can't be recovered: it is corrupted. That is, it can't be used with recoverTable() and a DriverException will be thrown instead of a TableNotClosedException.
9. Strings are not loaded anymore in the temporary table when building result sets. This will improve memory usage.
10. Added LitebaseConnection.dropDatabase(), a static method to drop all the files from a data base given its creation id, path and slot (used only on Palm).
11. Corrected a constant Java String truncation when using it with an insert or update prepared statement and its size were bigger than the column definition on Windows32, Windows CE, Palm, iPhone, and Android.
12. Corrected a bug that could make aggregation function not work properly.
13. Corrected a bug where a query of the form "select year(field) as years from table" could be confunded with "select count(*) as years from table".
14. Corrected a bug that would make a prepared statement with group by not work correctly after the first execution.
15. Corrected a bug that would make a prepared statement with where clause and indices not work correctly after the first execution.
16. Prepared statement is now a singleton. But please don't re-prepare the same prepared statement for the same driver instance and table more than
once. Remember that useless method calls makes the application slower.
17. Now Litebase.prc won't vanish on Palm if the device is reseted by the user after closing a Litebase application.
18. Minimum float and double values for POSIX (1.17549435e-38 and 2.2250738585072014e-308, respectively) are different from IEEE values (1.4e-45 and 4.9E-324, respectively). So, when using Litebase on iPhone, the POSIX ranges must be respected.
19. Corrected short range limit too small for default values on Windows 32, Windows CE, Palm, iPhone, and Android.
A
20. Now passing +number (ex. +10) will work on sql clauses.
21. Solved a problem which could cause strange errors when using prepared statements.
22. Solved a problem on Windows CE of file data being lost after a forced reset.
Litebase 2.25
. on iPhone 2+, manual installation of Litebase (using dpkg) should now automatically create the symbolic links required to allow the Litebase to be loaded by the TotalCrossVM.
1. Corrected an IndexOutOFBoundsException when an insert or update prepared statement had 128 parameters on Java SE and BlackBerry.
2. Corrected a possible index corruption when updating each node children on Windows 32, Windows CE, Palm, Android, and iPhone.
3. Corrected a possible "An attempt was made to move the file pointer before the beginning of the file." on some Windows CE devices when doing a purge.
4. Corrected a bug that could not build the index correctly if there was the value 0 inserted in the index on Windows 32, Windows CE, Palm, Android, and iPhone.
5. Corrected a possible crash when the table has 128 columns on Windows 32, Windows CE, Palm, Android, and iPhone.
6. A quote was not being correctly inserted in a string when not using prepared statements.
7. A PrimaryKeyViolation was not being thrown when two strings with the same prefix were inserted and the field definition had the size of the prefix and a primary key.
8. It was possible to create a composed index with duplicated column names.
9. Removed a possible ClassCastException when passing an insert / update / delete to a PreparedStatement.executeQuery() on JavaSE and BlackBerry. The correct exception is a DriverException.
10. Corrected a possible crash when using the default logger on Windows 32, Windows CE, Palm, Android, and iPhone.
11. Corrected possible memory leaks and crashes when LitebaseConnection.convert() fails on Windows 32, Windows CE, Palm, Android, and iPhone.
12. A numeric constant in a boolean clause must have its type considered to be double.
13. Join now behaves well with functions in columns with an index.
14. RowIterator must throw an exception if its driver is closed.
15. When using short values, if it is out of range an exception must be thrown on Windows 32, Windows CE, Palm, Android, and iPhone.
Litebase 2.24
1. Corrected an inconsistency between java and native versions that would raise an IndexOutOfBoundsException when using a table created on Windows 32, Windows CE, Palm, Android, Linux, or iPhone on Java or BlackBerry.
2. Improved memory usage on BlackBerry.
3. Corrected a bug that would make Litebase not use the correct rowid after a recoverTable().
4. Implemented a workaround for a bug in the BlackBerry 9000 file system. This bug may cause a drop table operation to fail.
5. Corrected a bug that would throw an exception when re-creating an erased index file on Windows 32, Windows CE, Palm, Android, Linux, or iPhone on Java or BlackBerry.
Litebase 2.23
1. Added a method to get the current slot (LitebaseConnection.getSlot()) being used. Returns -1 except on palm. Now, LitebaseConnection.getSourcePath() won't return the slot passed.
2. Corrected a bug that would throw an exception if the where clause if of the form 1 = 1.
3. PreparedStatement.setNull() now works for blobs.
4. Solved a bug that could make a prepared statement string parameter in a where or having clause cause a strange exception of invalid number.
5. Now possible null values are treated in RowIterator.
6. Corrected a bug that would create spourious paths if they had a stress on Windows CE.
7. Corrected a bug on like contains ('%...%') on Windows 32, Windows CE, Palm, iPhone, and Android.
8. Corrected a bug on purge that would not copy the crc32 codes for the rows.
9. Improved Litebase temporary table allocation on Windows 32, Windows CE, Palm, iPhone, and Android.
10. The Litebase version is not declared as final anymore, otherwise the compiler replaces the constant by the value.
11. Table meta data is now always flushed imediately after being changed.
12. Purge now only recreates the .dbo file, reusing the .db file on Windows 32, Windows CE, Palm, iPhone, and Android.
13. Corrected a bug that could break the application when freeing a result set of a prepared statement on Windows 32, Windows CE, Palm, iPhone, and Android.
14. Solved possible memory problems on indows 32, Windows CE, Palm, iPhone, and Android.
A
15. Solved a bug that could corrupt tables created with a very large metadata size.
16. Corrected a bug that could crash the application on Windows 32 when the query has an order by or group by due to a compile error.
Litebase 2.22
1. The table should not be marked as closed properly when throwing a TableNotClosedException if it was not previously closed correctly.
2. The table must be not closed properly in order to recover it.
3. Corrected a small issue that would make a DriverException not to be thrown when creating an index in a non-existing column on Windows 32, Windows CE, Palm OS, iPhone, and Android.
4. The table files must be closed if convert() fails() on Java SE and BlackBerry.
5. The crc was not being calculated correctly for updates.
6. The node count should be reseted when recreating the indices. This could create corrupted indices.
7. .db should be closed if .dbo cannot be openned on desktop and BlackBerry.
8. Corrected a bug that could collect strings and blobs passed to a prepared statement, causing invalid data insertion/update or wrong deletion on Palm, Windows 32, Windows CE, iPhone, and Android.
9. Some string conversions to numerical values could return spourious values if the string range were greater than the type range.
10. Corrected a bug that would possibly not load Litebase native library on Android inside a thread.
Litebase 2.21
1. Solved a problem that could reduce the free memory too much if many prepared statements were created and collected many times.
2. ResultSet.getDateTime(String) could get the wrong column data on Windows 32, Windows CE, iPhone, Palm, and Android.
3. Solved a small bug that could make Litebase crash on Windows 32, Windows CE, Palm, iPhone, and Android when passing 2 arguments to params when issuing a LitebaseConnection.getInstance().
4. Unicode strings were not dealt properly on Windows 32, Windows CE, Palm, iPhone, and Android.
Litebase 2.2
1. Removed unused exception constructors and changed constructors visibility to package because it is not to be used by the user.
2. Added TableNotCreatedException which will be raised whenever a table is not closed properly.
3. Blobs are not loaded anymore in the temporary table when building result sets.
4. Added a crc32 code for every record. Please update your tables.
5. Added a method to recover possible corrupted tables, the ones that were not closed properly.
6. PreparedStatement.setDate() and PreparedStatement.setDateTime() must accept null values on Java and on BlackBerry.
7. Corrected file increasing and shrinking on iPhone.
8. Does not let the table be truncated if an error occurs when loading its metadata.
9. Solved a NPE when using like '%' with a nocase string column on Blackberry and desktop.
10. Now logger and the first driver instantiation can be used safely within different threads ob Windows 32, Windows CE, Palm, and iPhone.
11. Added a method convert() that converts a previous table format to the current one.
12. Drop table was dropping a closed table and all tables starting with the same name of the dropped one.
13. Corrected a bug that would mess data up when purging a table with a big header (more than 512 bytes).
14. Fixed bug in DBListBox. The method setSelectedIndex would not work on a ComboBox initialized with a DBListBox.
15. Now an exception will be raised if one tries to use a prepared statement whose table was dropped after preparing it instead of breaking the application.
16. Now the application will not enter in an infinite loop if an index gets corrupted.
17. Now the rename table will rename the composed indices.
|
 |
|