提交 3c94b161 authored 作者: Thomas Mueller's avatar Thomas Mueller

Documentation.

上级 8f35aabf
......@@ -1696,8 +1696,10 @@ The following options are supported:
""lineSeparator"", ""null"", ""rowSeparator"" (not set by default),
""preserveWhitespace"" (true or false; disabled by default).
For a newline or other special character, use STRINGDECODE as in the example above.
A space needs to be escaped with a backslash (""'\ '"").
A backslash needs to be escaped with another backslash (""'\\'"").
A space needs to be escaped with a backslash (""'\ '""), and
a backslash needs to be escaped with another backslash (""'\\'"").
All other characters are not to be escaped, that means
newline and tab characters are written as such.
","
CALL CSVWRITE('test2.csv', 'SELECT * FROM TEST', 'charset=UTF-8 fieldSeparator=|');
"
......@@ -3438,10 +3440,10 @@ Admin rights are required to execute this command.
","
CALL CSVREAD('test.csv');
-- Read a file containing the columns ID, NAME with
-- UTF-8 encoding and the pipe (|) as field separator
CALL CSVREAD('test2.csv', 'ID|NAME', 'UTF-8', '|');
-- Read a semicolon-separated file
SELECT * FROM CSVREAD('data/test.csv', NULL, NULL, ';');
CALL CSVREAD('test2.csv', 'ID|NAME', 'charset=UTF-8 fieldSeparator=|');
SELECT * FROM CSVREAD('data/test.csv', null, 'rowSeparator=;');
-- Read a tab-separated file
SELECT * FROM CSVREAD('data/test.tsv', null, 'rowSeparator=' || CHAR(9));
SELECT ""Last Name"" FROM CSVREAD('address.csv');
SELECT ""Last Name"" FROM CSVREAD('classpath:/org/acme/data/address.csv');
"
......@@ -3463,9 +3465,10 @@ system (system property ""line.separator"").
The returned value is the number or rows written.
Admin rights are required to execute this command.
","
CALL CSVWRITE('test.csv', 'SELECT * FROM TEST');
-- Write a file with UTF-8 encoding and the pipe (|) as field separator
CALL CSVWRITE('test2.csv', 'SELECT * FROM TEST', 'UTF-8', '|');
CALL CSVWRITE('data/test.csv', 'SELECT * FROM TEST');
CALL CSVWRITE('data/test2.csv', 'SELECT * FROM TEST', 'charset=UTF-8 fieldSeparator=|');
-- Write a tab-separated file
CALL CSVWRITE('data/test.tsv', 'SELECT * FROM TEST', 'charset=UTF-8 fieldSeparator=' || CHAR(9));
"
"Functions (System)","DATABASE","
......
......@@ -18,14 +18,16 @@ Change Log
<h1>Change Log</h1>
<h2>Next Version (unreleased)</h2>
<ul><li>Database URLs can now be re-mapped to another URL using the system property
<ul><li>"group_concat(distinct ...)" did not work correctly in a view or subquery (the 'distinct' was lost). Example:
select * from (select group_concat(distinct 1) from system_range(1, 3));
</li><li>Database URLs can now be re-mapped to another URL using the system property
"h2.urlMap", which points to a properties file with database URL mappings.
</li><li>When using InputStream.skip, trying to read past the end of a BLOB failed with
the exception "IO Exception: Missing lob entry: ..." [90028-...].
</li><li>The in-memory file system "memFS:" now has limitted support for directories.
</li><li>To test recovery, append ;RECOVER_TEST=64 to the database URL.
This will simulate an application call after each 64 writes to the database file.
A log file databaseName.h2.db.log is created that lists the operations.
This will simulate an application crash after each 64 writes to the database file.
A log file named databaseName.h2.db.log is created that lists the operations.
The recovery is tested using an in-memory file system, that means it may require a larger heap setting.
</li><li>Converting a hex string to a byte array is now faster.
</li><li>The SQL statement "shutdown defag" could corrupt the database if the process was killed
......
......@@ -39,6 +39,11 @@ JaQu
<h2 id="what_is_jaqu">What is JaQu</h2>
<p>
Note: This project is currently in maintenance mode.
A friendly fork of JaQu is
<a href="http://iciql.com">available under the name iciql</a>.
</p>
<p>
JaQu stands for Java Query and allows to access databases using pure Java.
JaQu provides a fluent interface (or internal DSL).
JaQu is something like LINQ for Java (LINQ stands for "language integrated query" and is a
......@@ -314,6 +319,7 @@ Some ideas are:
<h2 id="similar_projects">Similar Projects</h2>
<p class="notranslate">
<a href="http://iciql.com">iciql (a friendly fork of JaQu)</a><br />
<a href="http://www.cementframework.org">Cement Framework</a><br />
<a href="http://code.google.com/p/dreamsource-orm">Dreamsource ORM</a><br />
<a href="http://incubator.apache.org/empire-db/empiredb/empiredb.htm">Empire-db</a><br />
......
......@@ -188,6 +188,7 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Support EXEC[UTE] (doesn't return a result set, compatible to MS SQL Server)
</li><li>Support native XML data type - see http://en.wikipedia.org/wiki/SQL/XML
</li><li>Support triggers with a string property or option: SpringTrigger, OSGITrigger
</li><li>MySQL compatibility: update test1 t1, test2 t2 set t1.id = t2.id where t1.id = t2.id;
</li><li>Ability to resize the cache array when resizing the cache
</li><li>Time based cache writing (one second after writing the log)
</li><li>Check state of H2 driver for DDLUtils: https://issues.apache.org/jira/browse/DDLUTILS-185
......@@ -201,7 +202,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
(HSQLDB: long; PostgreSQL: integer out of range)
</li><li>Provide an Java SQL builder with standard and H2 syntax
</li><li>Trace: write OS, file system, JVM,... when opening the database
</li><li>MySQL compatibility: update test1 t1, test2 t2 set t1.id = t2.id where t1.id = t2.id;
</li><li>Support indexes for views (probably requires materialized views)
</li><li>Document SET SEARCH_PATH, BEGIN, EXECUTE, parameters
</li><li>Browser: use Desktop.isDesktopSupported and browse when using JDK 1.6
......@@ -291,6 +291,7 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Auto-server: add option to define the IP address range or list.
</li><li>Index creation using deterministic functions.
</li><li>ANALYZE: for unique indexes that allow null, count the number of null.
</li><li>MySQL compatibility: multi-table delete: DELETE .. FROM .. [,...] USING - See http://dev.mysql.com/doc/refman/5.0/en/delete.html
</li><li>AUTO_SERVER: support changing IP addresses (disable a network while the database is open).
</li><li>Avoid using java.util.Calendar internally because it's slow, complicated, and buggy.
</li><li>Support TRUNCATE .. CASCADE like PostgreSQL.
......@@ -318,7 +319,6 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>MySQL compatibility: for auto_increment columns, convert 0 to next value (as when inserting NULL).
</li><li>Optimization for multi-column IN: use an index if possible. Example: (A, B) IN((1, 2), (2, 3)).
</li><li>Optimization for EXISTS: convert to inner join or IN(..) if possible.
</li><li>MySQL compatibility: multi-table delete: DELETE .. FROM .. [,...] USING - See http://dev.mysql.com/doc/refman/5.0/en/delete.html
</li><li>Functions: support hashcode(value); cryptographic and fast
</li><li>Serialized file lock: support long running queries.
</li><li>Network: use 127.0.0.1 if other addresses don't work.
......
......@@ -55,6 +55,7 @@ Important corruption problems were fixed in version 1.2.135 and version 1.2.140
I am very interested in analyzing and solving this problem. Corruption problems have top priority for me. I have a few questions:
- Could you send the full stack trace of the exception including message text?
- Did you use SHUTDOWN DEFRAG?
- What is your database URL?
- How many connections does your application use concurrently?
- Do you use temporary tables?
......
......@@ -690,4 +690,4 @@ umlaut reconstruct inclusive proxies verifier slept superclasses
verifying predicate signers verifies handlers kiwi callbacks traditionally
unusual apfel caught overcareful tricky nodep junit eventually concrete
enhancer banana nit cglib challenging intercepted banane assertthrows
objenesis prepend
objenesis prepend detecting overridable eater forgetting tear
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论