提交 50769a54 authored 作者: Thomas Mueller's avatar Thomas Mueller

--no commit message

--no commit message
上级 924b32e3
...@@ -534,7 +534,7 @@ CREATE TABLE TEST(ID INT PRIMARY KEY, NAME VARCHAR(255)) ...@@ -534,7 +534,7 @@ CREATE TABLE TEST(ID INT PRIMARY KEY, NAME VARCHAR(255))
"Commands (DDL)","CREATE TRIGGER"," "Commands (DDL)","CREATE TRIGGER","
CREATE TRIGGER [ IF NOT EXISTS ] newTriggerName { BEFORE | AFTER } CREATE TRIGGER [ IF NOT EXISTS ] newTriggerName { BEFORE | AFTER }
{ INSERT | UPDATE | DELETE } [,...] ON tableName [ FOR EACH ROW ] { INSERT | UPDATE | DELETE | SELECT } [,...] ON tableName [ FOR EACH ROW ]
[ QUEUE int ] [ NOWAIT ] CALL triggeredClassName [ QUEUE int ] [ NOWAIT ] CALL triggeredClassName
"," ","
Creates a new trigger. The trigger class must be public. Nested and inner Creates a new trigger. The trigger class must be public. Nested and inner
...@@ -542,7 +542,15 @@ classes are not supported. The class must be available in the classpath of the ...@@ -542,7 +542,15 @@ classes are not supported. The class must be available in the classpath of the
database engine (when using the server mode, it must be in the classpath of the server). database engine (when using the server mode, it must be in the classpath of the server).
Before triggers are called after data conversion is made, default values are set, Before triggers are called after data conversion is made, default values are set,
null and length constraint checks have been made; but before other constraints have been checked. null and length constraint checks have been made;
but before other constraints have been checked.
The MERGE statement will call both INSERT and UPDATE triggers.
Not supported are SELECT triggers with the option FOR EACH ROW,
and AFTER SELECT triggers.
Committing or rolling back a transaction within a trigger is not allowed,
except for SELECT triggers.
This command commits an open transaction. This command commits an open transaction.
"," ","
......
...@@ -18,7 +18,15 @@ Change Log ...@@ -18,7 +18,15 @@ Change Log
<h1>Change Log</h1> <h1>Change Log</h1>
<h2>Next Version (unreleased)</h2> <h2>Next Version (unreleased)</h2>
<ul><li>The CompressTool was not multithreading safe. Because of this, the following database <ul><li>Trigger that are called before a select statement are now supported.
This allows to create tables that work like materialized views.
</li><li>Non-row based triggers were called even if the action didn't match the
declared action (INSERT triggers were also called when deleting rows).
This has been changed. The MERGE statement calls both INSERT and DELETE triggers.
</li><li>Statements with IN(..) conditions could produce the wrong result or a data conversion error (since version 1.2.120).
Examples: index on id, name, condition: id=1 and name in('Hello', 'x'); index on id, query:
select * from (select * from test) where id=1 and name in('Hello', 'World').
</li><li>The CompressTool was not multithreading safe. Because of this, the following database
operations where also not multithreading safe (even when using different databases): the SCRIPT command operations where also not multithreading safe (even when using different databases): the SCRIPT command
(only when using compression), the COMPRESS function, and storing CLOB or BLOB data (only when compression is enabled). (only when using compression), the COMPRESS function, and storing CLOB or BLOB data (only when compression is enabled).
</li><li>The compression algorithm "LZF" is now about 33% faster than before when compressing small block </li><li>The compression algorithm "LZF" is now about 33% faster than before when compressing small block
......
...@@ -45,10 +45,8 @@ See also <a href="build.html#providing_patches">Providing Patches</a>. ...@@ -45,10 +45,8 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>MVCC: select for update should only lock the selected rows. </li><li>MVCC: select for update should only lock the selected rows.
</li><li>Option to shutdown all the running servers (on the same VM). </li><li>Option to shutdown all the running servers (on the same VM).
</li><li>Full outer joins </li><li>Full outer joins
</li><li>Implement INSTEAD OF trigger (for views, tables, metadata tables).
</li><li>Support triggers for INFORMATION_SCHEMA tables (to better support PostgreSQL catalog: rebuild after creating new tables)
</li><li>Support mixed clustering mode (one embedded, others in server mode) </li><li>Support mixed clustering mode (one embedded, others in server mode)
</li><li>Use triggers for metadata tables; use for PostgreSQL catalog </li><li>PostgreSQL catalog: use BEFORE SELECT triggers instead of views over metadata tables.
</li><li>Test very large databases and LOBs (up to 256 GB) </li><li>Test very large databases and LOBs (up to 256 GB)
</li><li>Support alter table add column if table has views defined </li><li>Support alter table add column if table has views defined
</li><li>Support hints for the optimizer (which index to use, enforce the join order). </li><li>Support hints for the optimizer (which index to use, enforce the join order).
...@@ -466,6 +464,7 @@ See also <a href="build.html#providing_patches">Providing Patches</a>. ...@@ -466,6 +464,7 @@ See also <a href="build.html#providing_patches">Providing Patches</a>.
</li><li>Recover tool: stream blob / clob data (problem: currently using varchar data type). </li><li>Recover tool: stream blob / clob data (problem: currently using varchar data type).
</li><li>Move away from system properties where possible. </li><li>Move away from system properties where possible.
</li><li>Database file lock: detect hibernate / standby / very slow threads (compare system time). </li><li>Database file lock: detect hibernate / standby / very slow threads (compare system time).
</li><li>An index on (id, name) should be used for a query: select * from t where s=? order by i
</li></ul> </li></ul>
<h2>Not Planned</h2> <h2>Not Planned</h2>
......
...@@ -6,13 +6,14 @@ Tips for email contributors ...@@ -6,13 +6,14 @@ Tips for email contributors
* Bugs: include the complete error message and stack trace, including the root cause stack traces. * Bugs: include the complete error message and stack trace, including the root cause stack traces.
* Sending source code: to avoid formatting problems, consider using a public web clipboard *
http://pastebin.com Sending source code: to avoid formatting problems, consider using a public web clipboard such as
http://cl1p.net http://pastebin.com http://cl1p.net or http://www.mysticpaste.com/new
http://www.mysticpaste.com/new
* For large attachments, use a public... * For large attachments, use a public...
Rapidshare.com
* Issue tracking versus emails: * Issue tracking versus emails:
You don't need to create issue reports, sending an email to the group is enough. You don't need to create issue reports, sending an email to the group is enough.
If you want, you can create an issue. If you want, you can create an issue.
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论