Innodb Java Reader Versions Save

A library and command-line tool to access MySQL InnoDB data file directly in Java

1.0.10

3 years ago

Make timezone configurable for TIMESTAMP type, add option to specify timezone and disable daylight savings time. Use a more performant way to check infimum and supremum when loading Index page.

1.0.8

3 years ago
  1. Support page level checksum validation, including crc32 and innodb algorithm.
  2. Update default configuration. Disable throwing exception when reading mysql8.0 new lob page which is not supported yet, instead return null value.

1.0.7

3 years ago

Handle corner case, for ENUM type, if the ordinal is 0, return empty string.

1.0.6

3 years ago
  1. Add test case to verify scanning multiple level table without primary key.
  2. Refine debug logging and constructor in TableReaderImpl.
  3. Add quote option to quote-mode, add null string option in cli module.

1.0.5

3 years ago
  1. Support string java type as query key, and make them compatible inside.
  2. Support VARCHAR fixed length key querying, when query key is out of range, throw exception to indicate user, if not, disable covering index.
  3. Sanitize projection, if projection is empty, does not throw exception.
  4. Create a new constructor for RecordIterator.
  5. Update object comparing method, handle NULL properly.
  6. Change java type of TINYINT to byte, change java type of SMALLINT to short.
  7. Make primary key name in KeyMeta as PRIMARY_KEY.
  8. If first-non null unique key as primary key, fix the wrong key name.
  9. Fix corner case in TIMESTAMP for 0000-00-00 00:00:00.
  10. Fix one hidden bug when table takes first non-null unique key as primary key.
  11. Fix type bug to make UNSIGNED INT to Java Long type.

1.0.4

3 years ago
  1. Support specifying secondary key root page number.
  2. If secondary key root page is wrong, but key type matches, when no primary key found, throw an exception.
  3. Add charset and collate toString method in TableDef.
  4. Support CHARSET (already support CHARACTER SET) in column.

1.0.3

3 years ago
  1. Support secondary querying with projection and ordering. Support 6 bytes row id for secondary key querying.
  2. Support desc ordering.
  3. Make first unique key as primary key if possible.
  4. Support desc ordering.
  5. Support COLLATE on table/column and string typed column to be CI or not CI (case sensitive).
  6. Fix 0000 YEAR problem.
  7. Support REAL and NUMERIC type.
  8. Support ENUM, BIT, SET type.
  9. Support FLOAT, DOUBLE with precision and scale. Support FLOAT, DOUBLE and DECIMAL with UNSIGNED keyword.
  10. Enable sql to have comment and other workaround when jsqlparer not working.
  11. Update a bunch of test cases to verify all the new features.
  12. Refine corner case for comparison comparator.
  13. Refine InnerPage toString method.
  14. Refine PageFormat look up method.
  15. Refine error message when index page is unreadable.
  16. Add ThreadLocal context helper.
  17. Fix one corner case in linearSearch.
  18. Fix typo of setFullyQualifiedName.
  19. Does not make range query with same lower and upper bound fallback to point query, because this is a hidden corner case to have wrong result.
  20. Fix travis CI failure related to timezone issue.
  21. Parse TIMESTAMP as yyyy-MM-dd instead of milliseconds and make it as local timezone.
  22. Set innodb.java.reader.enable.trim.char to true by default.
  23. Search table through TableReaderFactory by table name instead of full qualified name.
  24. If range query upper is lower than lower bound, return empty result.

1.0.2

4 years ago
  1. Update Schema to TableDef, make enhancement.
  2. Support composite primary key and no primary key.
  3. Enhance range query to support ComparisonOperator.
  4. Add useful utitlity - TableReaderFactory. Make cli to use this as well.
  5. Support projection.
  6. Support record iteration lazily.
  7. Add TPC-H LINEITEM table benchmark.
  8. Make TableReader an interface. Add numerous test cases to verify composite key.
  9. Fix overflow page text corruption problem.
  10. Add system property.
  11. Refine all test cases, introducing fluent style test utility.
  12. Rename maven package to com.alibaba.database.
  13. Optimize DATE Type parsing since Java string format is very slow.
  14. Enable CHAR trimming.

1.0.1

4 years ago
  1. Support more data types, include decimal, time, bool, boolean. Note that precision for time related column is supported.
  2. Add testcase for innodb-heatmap and innodb-java-reader-cli module.
  3. Support mmap, buffer, direct io for cli when dumping output to file.
  4. Make time related column java type to string to better format.
  5. Support column to specify charset.
  6. Enable dump table header.
  7. Make SchemaUtil more robust.
  8. Support dump by specifying delimiter.
  9. Add benchmark of innodb-java-reader, mysql -e "select " > output and mysqldump.

1.0.0

4 years ago

First available version.