提交 2f0980a4 authored 作者: Thomas Mueller's avatar Thomas Mueller

Creating a temporary table with the option 'transactional' will now also create…

Creating a temporary table with the option 'transactional' will now also create the indexes in transactional mode
上级 bc332d59
...@@ -18,7 +18,16 @@ Change Log ...@@ -18,7 +18,16 @@ Change Log
<h1>Change Log</h1> <h1>Change Log</h1>
<h2>Next Version (unreleased)</h2> <h2>Next Version (unreleased)</h2>
<ul><li>"group_concat(distinct ...)" did not work correctly in a view or subquery (the 'distinct' was lost). Example: <ul><li>Creating a temporary table with the option 'transactional' will now also create the indexes
in transactional mode, if the indexes are included in the 'create table' statement as follows:
"create local temporary table temp(id int primary key, name varchar, constraint x index(name)) transactional".
</li><li>The database file size grows now 35%, but at most 256 MB at a time.
</li><li>Improved error message on network configuration problems.
</li><li>The build now support an offline build using ./build.sh offline.
This will list the required dependencies if jar files are missing.
</li><li>The BLOB / CLOB data was dropped a little bit before the table was dropped.
This could cause "lob not found" errors when the process was killed while a table was dropped.
</li><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)); 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 </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. "h2.urlMap", which points to a properties file with database URL mappings.
......
...@@ -52,7 +52,9 @@ public class CreateIndex extends SchemaCommand { ...@@ -52,7 +52,9 @@ public class CreateIndex extends SchemaCommand {
} }
public int update() { public int update() {
session.commit(true); if (!transactional) {
session.commit(true);
}
Database db = session.getDatabase(); Database db = session.getDatabase();
boolean persistent = db.isPersistent(); boolean persistent = db.isPersistent();
Table table = getSchema().getTableOrView(session, tableName); Table table = getSchema().getTableOrView(session, tableName);
......
...@@ -143,8 +143,8 @@ public class TestTempTables extends TestBase { ...@@ -143,8 +143,8 @@ public class TestTempTables extends TestBase {
stat.execute("insert into test values(1)"); stat.execute("insert into test values(1)");
stat.execute("commit"); stat.execute("commit");
stat.execute("insert into test values(2)"); stat.execute("insert into test values(2)");
stat.execute("create local temporary table temp(id int primary key) transactional"); stat.execute("create local temporary table temp(id int primary key, name varchar, constraint x index(name)) transactional");
stat.execute("insert into temp values(3)"); stat.execute("insert into temp values(3, 'test')");
stat.execute("rollback"); stat.execute("rollback");
rs = stat.executeQuery("select * from test"); rs = stat.executeQuery("select * from test");
assertTrue(rs.next()); assertTrue(rs.next());
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论