There is now an optimization for SELECT DISTINCT (see http://www.h2database.com/javadoc/org/h2/constant/SysProperties.html#h2.optimizeDistinct) so that the index is used. There are a few conditions:
- It must be as simple as: SELECT DISTINCT <column> FROM <table>
- The column must be indexed
- The selectivity must be quite low, that is, below 20. You need to run ANALYZE or set the selectivity manually.
I will add this to the docs.
remove old in use, links
fix or disable the linear hash index
fix or disable the linear hash index
...
@@ -173,20 +182,15 @@ ant 'get' for dependencies
...
@@ -173,20 +182,15 @@ ant 'get' for dependencies
Add where required // TODO: change in version 1.1
Add where required // TODO: change in version 1.1
History:
History:
When using multi-version concurrency (MVCC=TRUE), duplicate rows could appear in the result set when running queries
with uncommitted changes in the same session.
I'm trying to use h2database embedded with AES encryption. It all
H2 Console: remote connections were very slow because getHostName/getRemoteHost was used. Fixed (now using getHostAddress/getRemoteAddr.
seems to work fine UNLESS the wrong decryption password id specified
H2 Console: on Linux, Firefox is now started if available. This has been tested on Ubuntu.
in the connection ( DriverManager.getConnection(url, prop) ). If this
H2 Console: the start window works better with IKVM
happens, I get dot corrupt (.corrupt) files created.
H2 Console: improved compatibility with Safari (Safari requires keep-alive)
After several failed attempts (total
Random: the process didn't stop if generating the random seed using the standard
across a database's lifespan), FILE_RENAME_FAILED_2 errors start occur
way (SecureRandom.generateSeed) was very slow. Now using a daemon thread
until I delete the .corrupt files.
to avoid this problem.
SELECT UNION with a different number of ORDER BY columns did throw an ArrayIndexOutOfBoundsException.
When using view, the precision of column was changed to the default scale for some data types.
CSVWRITE now supports a 'null string' that is used for parsing and writing NULL.
Some long running queries could not be cancelled.
Queries with many outer join tables were very slow. Fixed.