Changeset: adc8aae85814 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/adc8aae85814
Modified Files:
clients/mapiclient/dump.c
clients/mapiclient/mhelp.c
clients/odbc/driver/SQLGetInfo.c
clients/odbc/samples/testgetinfo.c
sql/backends/monet5/sql_upgrades.c
sql/include/sql_catalog.h
sql/scripts/10_sys_schema_extension.sql
sql/scripts/52_describe.sql
sql/server/rel_schema.c
sql/server/sql_parser.y
sql/server/sql_scan.c
sql/storage/bat/bat_storage.c
Branch: unlogged
Log Message:
Initial patch containing the unlogged table feature.
diffs (truncated from 405 to 300 lines):
diff --git a/clients/mapiclient/dump.c b/clients/mapiclient/dump.c
--- a/clients/mapiclient/dump.c
+++ b/clients/mapiclient/dump.c
@@ -1267,6 +1267,7 @@ describe_table(Mapi mid, const char *sch
type == 4 ? "STREAM " :
type == 5 ? "REMOTE " :
type == 6 ? "REPLICA " :
+ type == 7 ? "UNLOGGED " :
"");
dquoted_print(toConsole, schema, ".");
dquoted_print(toConsole, tname, " ");
@@ -1724,6 +1725,10 @@ dump_table_data(Mapi mid, const char *sc
/* replica table */
goto doreturn;
}
+ if (strcmp(ttype, "7") == 0) {
+ /* unlogged table */
+ goto doreturn;
+ }
}
if (mapi_error(mid))
goto bailout;
diff --git a/clients/mapiclient/mhelp.c b/clients/mapiclient/mhelp.c
--- a/clients/mapiclient/mhelp.c
+++ b/clients/mapiclient/mhelp.c
@@ -187,6 +187,13 @@ SQLhelp sqlhelp1[] = {
"CREATE REMOTE TABLE [ IF NOT EXISTS ] qname ON string [WITH [USER
'username'] [[ENCRYPTED] PASSWORD 'password']]",
NULL,
"remote name should match
mapi:monetdb://host:port/database[/schema[/table]]"},
+ {"CREATE UNLOGGED TABLE",
+ "Create a new unlogged table",
+ "CREATE UNLOGGED TABLE [ IF NOT EXISTS ] qname table_source [STORAGE
ident string]\n"
+ "CREATE UNLOGGED TABLE [ IF NOT EXISTS ] qname FROM LOADER
function_ref\n"
+ "CREATE UNLOGGED TABLE [ IF NOT EXISTS ] qname table_source
[on_commit]",
+ "table_source,on_commit,function_ref",
+ "See also
https://www.monetdb.org/documentation/user-guide/sql-manual/data-definition/table-definition/"},
{"CREATE REPLICA TABLE",
"",
"CREATE REPLICA TABLE [ IF NOT EXISTS ] qname table_source",
diff --git a/clients/odbc/driver/SQLGetInfo.c b/clients/odbc/driver/SQLGetInfo.c
--- a/clients/odbc/driver/SQLGetInfo.c
+++ b/clients/odbc/driver/SQLGetInfo.c
@@ -687,7 +687,7 @@ MNDBGetInfo(ODBCDbc *dbc,
"ROW_NUMBER,SAMPLE,SAVEPOINT,SEQUENCE,SERIAL,"
"SERIALIZABLE,SIMPLE,SPLIT_PART,STDIN,STDOUT,STREAM,"
"STRING,SYMMETRIC,TIES,TINYINT,TRIGGER,TRUNCATE,"
- "UNBOUNDED,UNCOMMITTED,UNENCRYPTED,WHILE,WINDOW,XMLAGG,"
+
"UNBOUNDED,UNCOMMITTED,UNENCRYPTED,UNLOGGED,WHILE,WINDOW,XMLAGG,"
"XMLATTRIBUTES,XMLCOMMENT,XMLCONCAT,XMLDOCUMENT,"
"XMLELEMENT,XMLFOREST,XMLNAMESPACES,XMLPARSE,XMLPI,"
"XMLQUERY,XMLSCHEMA,XMLTEXT,XMLVALIDATE";
diff --git a/clients/odbc/samples/testgetinfo.c
b/clients/odbc/samples/testgetinfo.c
--- a/clients/odbc/samples/testgetinfo.c
+++ b/clients/odbc/samples/testgetinfo.c
@@ -644,7 +644,7 @@ const struct {
.info = SQL_KEYWORDS,
.name = "SQL_KEYWORDS",
.type = STRING,
- .str =
"ADD,ADMIN,AFTER,AGGREGATE,ALL,ALTER,ALWAYS,AND,ANY,ASYMMETRIC,ATOMIC,AUTO_INCREMENT,BEFORE,BEST,BIGINT,BIGSERIAL,BINARY,BLOB,CALL,CHAIN,CLOB,COMMITTED,COPY,CUME_DIST,CURRENT_ROLE,DELIMITERS,DENSE_RANK,DO,EACH,EFFORT,ELSEIF,ENCRYPTED,EVERY,EXCLUDE,FOLLOWING,FUNCTION,FWF,GENERATED,GEOMETRYCOLLECTION,GEOMETRYCOLLECTIONM,GEOMETRYCOLLECTIONZ,GEOMETRYCOLLECTIONZM,HUGEINT,IF,ILIKE,LATERAL,LIMIT,LINESTRING,LINESTRINGM,LINESTRINGZ,LINESTRINGZM,LOADER,LOCALTIME,LOCALTIMESTAMP,LOCKED,MEDIUMINT,MERGE,MULTILINESTRING,MULTILINESTRINGM,MULTILINESTRINGZ,MULTILINESTRINGZM,MULTIPOINT,MULTIPOINTM,MULTIPOINTZ,MULTIPOINTZM,MULTIPOLYGON,MULTIPOLYGONM,MULTIPOLYGONZ,MULTIPOLYGONZM,NEW,NOCYCLE,NOMAXVALUE,NOMINVALUE,NOW,OFFSET,OLD,ORDERED,OTHERS,OVER,PARTITION,PERCENT_RANK,POINT,POINTM,POINTZ,POINTZM,POLYGON,POLYGONM,POLYGONZ,POLYGONZM,PRECEDING,RANGE,RANK,RECORDS,REFERENCING,REMOTE,RENAME,REPEATABLE,REPLICA,RESTART,RETURN,RETURNS,ROW_NUMBER,SAMPLE,SAVEPOINT,SEQUENCE,SERIAL,SERIALIZABLE,SIMPLE,SPLI
T_PART,STDIN,STDOUT,STREAM,STRING,SYMMETRIC,TIES,TINYINT,TRIGGER,TRUNCATE,UNBOUNDED,UNCOMMITTED,UNENCRYPTED,WHILE,WINDOW,XMLAGG,XMLATTRIBUTES,XMLCOMMENT,XMLCONCAT,XMLDOCUMENT,XMLELEMENT,XMLFOREST,XMLNAMESPACES,XMLPARSE,XMLPI,XMLQUERY,XMLSCHEMA,XMLTEXT,XMLVALIDATE",
+ .str =
"ADD,ADMIN,AFTER,AGGREGATE,ALL,ALTER,ALWAYS,AND,ANY,ASYMMETRIC,ATOMIC,AUTO_INCREMENT,BEFORE,BEST,BIGINT,BIGSERIAL,BINARY,BLOB,CALL,CHAIN,CLOB,COMMITTED,COPY,CUME_DIST,CURRENT_ROLE,DELIMITERS,DENSE_RANK,DO,EACH,EFFORT,ELSEIF,ENCRYPTED,EVERY,EXCLUDE,FOLLOWING,FUNCTION,FWF,GENERATED,GEOMETRYCOLLECTION,GEOMETRYCOLLECTIONM,GEOMETRYCOLLECTIONZ,GEOMETRYCOLLECTIONZM,HUGEINT,IF,ILIKE,LATERAL,LIMIT,LINESTRING,LINESTRINGM,LINESTRINGZ,LINESTRINGZM,LOADER,LOCALTIME,LOCALTIMESTAMP,LOCKED,MEDIUMINT,MERGE,MULTILINESTRING,MULTILINESTRINGM,MULTILINESTRINGZ,MULTILINESTRINGZM,MULTIPOINT,MULTIPOINTM,MULTIPOINTZ,MULTIPOINTZM,MULTIPOLYGON,MULTIPOLYGONM,MULTIPOLYGONZ,MULTIPOLYGONZM,NEW,NOCYCLE,NOMAXVALUE,NOMINVALUE,NOW,OFFSET,OLD,ORDERED,OTHERS,OVER,PARTITION,PERCENT_RANK,POINT,POINTM,POINTZ,POINTZM,POLYGON,POLYGONM,POLYGONZ,POLYGONZM,PRECEDING,RANGE,RANK,RECORDS,REFERENCING,REMOTE,RENAME,REPEATABLE,REPLICA,RESTART,RETURN,RETURNS,ROW_NUMBER,SAMPLE,SAVEPOINT,SEQUENCE,SERIAL,SERIALIZABLE,SIMPLE,SPLI
T_PART,STDIN,STDOUT,STREAM,STRING,SYMMETRIC,TIES,TINYINT,TRIGGER,TRUNCATE,UNBOUNDED,UNCOMMITTED,UNENCRYPTED,UNLOGGED,WHILE,WINDOW,XMLAGG,XMLATTRIBUTES,XMLCOMMENT,XMLCONCAT,XMLDOCUMENT,XMLELEMENT,XMLFOREST,XMLNAMESPACES,XMLPARSE,XMLPI,XMLQUERY,XMLSCHEMA,XMLTEXT,XMLVALIDATE",
},
{
.info = SQL_LIKE_ESCAPE_CLAUSE,
diff --git a/sql/backends/monet5/sql_upgrades.c
b/sql/backends/monet5/sql_upgrades.c
--- a/sql/backends/monet5/sql_upgrades.c
+++ b/sql/backends/monet5/sql_upgrades.c
@@ -2542,7 +2542,7 @@ sql_update_jul2021(Client c, mvc *sql)
" ''\n"
" END opt\n"
" FROM sys.schemas s,
sys.table_types ts, sys.tables t\n"
- " WHERE ts.table_type_name IN
('TABLE', 'VIEW', 'MERGE TABLE', 'REMOTE TABLE', 'REPLICA TABLE')\n"
+ " WHERE ts.table_type_name IN
('TABLE', 'VIEW', 'MERGE TABLE', 'REMOTE TABLE', 'REPLICA TABLE', 'UNLOGGED
TABLE')\n"
" AND t.system = FALSE\n"
" AND s.id = t.schema_id\n"
" AND ts.table_type_id =
t.type\n"
@@ -3545,7 +3545,7 @@ sql_update_jan2022(Client c, mvc *sql)
" ''\n"
" END opt\n"
" FROM sys.schemas s,
sys.table_types ts, sys.tables t\n"
- " WHERE ts.table_type_name IN
('TABLE', 'VIEW', 'MERGE TABLE', 'REMOTE TABLE', 'REPLICA TABLE')\n"
+ " WHERE ts.table_type_name IN
('TABLE', 'VIEW', 'MERGE TABLE', 'REMOTE TABLE', 'REPLICA TABLE', 'UNLOGGED
TABLE')\n"
" AND t.system = FALSE\n"
" AND s.id =
t.schema_id\n"
" AND ts.table_type_id =
t.type\n"
diff --git a/sql/include/sql_catalog.h b/sql/include/sql_catalog.h
--- a/sql/include/sql_catalog.h
+++ b/sql/include/sql_catalog.h
@@ -147,7 +147,8 @@ typedef enum temp_t {
SQL_MERGE_TABLE = 4,
/* SQL_STREAM = 5, stream tables are not used anymore */
SQL_REMOTE = 6,
- SQL_REPLICA_TABLE = 7
+ SQL_REPLICA_TABLE = 7,
+ SQL_UNLOGGED_TABLE = 8
} temp_t;
typedef enum comp_type {
@@ -634,16 +635,20 @@ typedef enum table_types {
tt_merge_table = 3, /* multiple tables form one table */
/* tt_stream = 4, stream tables are not used anymore */
tt_remote = 5, /* stored on a remote server */
- tt_replica_table = 6 /* multiple replica of the same table */
+ tt_replica_table = 6, /* multiple replica of the same table */
+ tt_unlogged_table = 7
} table_types;
-#define TABLE_TYPE_DESCRIPTION(tt, properties)
\
-((tt) == tt_table)?"TABLE":((tt) == tt_view)?"VIEW":((tt) == tt_merge_table &&
!(properties))?"MERGE TABLE": \
-((tt) == tt_remote)?"REMOTE TABLE":
\
-((tt) == tt_merge_table && ((properties) & PARTITION_LIST) ==
PARTITION_LIST)?"LIST PARTITION TABLE": \
-((tt) == tt_merge_table && ((properties) & PARTITION_RANGE) ==
PARTITION_RANGE)?"RANGE PARTITION TABLE":"REPLICA TABLE"
+#define TABLE_TYPE_DESCRIPTION(tt, properties)
\
+ ((tt) == tt_table) ? "TABLE" : ((tt) == tt_view)
? "VIEW" \
+ : ((tt) ==
tt_merge_table && !(properties))
? "MERGE TABLE" \
+ : ((tt) ==
tt_remote)
? "REMOTE TABLE" \
+ : ((tt) ==
tt_merge_table && ((properties)&PARTITION_LIST) == PARTITION_LIST) ? "LIST
PARTITION TABLE" \
+ : ((tt) ==
tt_merge_table && ((properties)&PARTITION_RANGE) == PARTITION_RANGE) ? "RANGE
PARTITION TABLE" \
+ : ((tt) ==
tt_unlogged_table)
? "UNLOGGED TABLE" \
+
: "REPLICA TABLE"
-#define isTable(x) ((x)->type==tt_table)
+#define isTable(x) ((x)->type==tt_table ||
(x)->type==tt_unlogged_table)
#define isView(x) ((x)->type==tt_view)
#define isNonPartitionedTable(x) ((x)->type==tt_merge_table &&
!(x)->properties)
#define isRangePartitionTable(x) ((x)->type==tt_merge_table &&
((x)->properties & PARTITION_RANGE) == PARTITION_RANGE)
@@ -653,7 +658,8 @@ typedef enum table_types {
#define isMergeTable(x) ((x)->type==tt_merge_table)
#define isRemote(x) ((x)->type==tt_remote)
#define isReplicaTable(x) ((x)->type==tt_replica_table)
-#define isKindOfTable(x) (isTable(x) || isMergeTable(x) ||
isRemote(x) || isReplicaTable(x))
+#define isUnloggedTable(x)
((x)->type==tt_unlogged_table)
+#define isKindOfTable(x) (isTable(x) || isMergeTable(x) ||
isRemote(x) || isReplicaTable(x) || isUnloggedTable(x))
#define TABLE_WRITABLE 0
#define TABLE_READONLY 1
diff --git a/sql/scripts/10_sys_schema_extension.sql
b/sql/scripts/10_sys_schema_extension.sql
--- a/sql/scripts/10_sys_schema_extension.sql
+++ b/sql/scripts/10_sys_schema_extension.sql
@@ -333,6 +333,7 @@ INSERT INTO sys.table_types (table_type_
(3, 'MERGE TABLE'),
(5, 'REMOTE TABLE'),
(6, 'REPLICA TABLE'),
+ (7, 'UNLOGGED TABLE'),
-- synthetically constructed system obj variants (added 10 to
-- sys._tables.type value when sys._tables.system is true).
(10, 'SYSTEM TABLE'),
diff --git a/sql/scripts/52_describe.sql b/sql/scripts/52_describe.sql
--- a/sql/scripts/52_describe.sql
+++ b/sql/scripts/52_describe.sql
@@ -299,7 +299,7 @@ CREATE VIEW sys.describe_tables AS
''
END opt
FROM sys.schemas s, sys.table_types ts, sys.tables t
- WHERE ts.table_type_name IN ('TABLE', 'VIEW', 'MERGE TABLE', 'REMOTE
TABLE', 'REPLICA TABLE')
+ WHERE ts.table_type_name IN ('TABLE', 'VIEW', 'MERGE TABLE', 'REMOTE
TABLE', 'REPLICA TABLE', 'UNLOGGED TABLE')
AND t.system = FALSE
AND s.id = t.schema_id
AND ts.table_type_id = t.type
diff --git a/sql/server/rel_schema.c b/sql/server/rel_schema.c
--- a/sql/server/rel_schema.c
+++ b/sql/server/rel_schema.c
@@ -217,7 +217,8 @@ mvc_create_table_as_subquery(mvc *sql, s
sql_table *t = NULL;
table_types tt =(temp == SQL_REMOTE)?tt_remote:
(temp == SQL_MERGE_TABLE)?tt_merge_table:
- (temp == SQL_REPLICA_TABLE)?tt_replica_table:tt_table;
+ (temp == SQL_REPLICA_TABLE)?tt_replica_table:
+ (temp == SQL_UNLOGGED_TABLE)?tt_unlogged_table:tt_table;
switch (mvc_create_table(&t, sql, s, tname, tt, 0, SQL_DECLARED_TABLE,
commit_action, -1, 0)) {
case -1:
@@ -1280,7 +1281,8 @@ rel_create_table(sql_query *query, int t
mvc *sql = query->sql;
int tt = (temp == SQL_REMOTE)?tt_remote:
(temp == SQL_MERGE_TABLE)?tt_merge_table:
- (temp == SQL_REPLICA_TABLE)?tt_replica_table:tt_table;
+ (temp == SQL_REPLICA_TABLE)?tt_replica_table:
+ (temp == SQL_UNLOGGED_TABLE)?tt_unlogged_table:tt_table;
bit properties = partition_def ? (bit)
partition_def->data.lval->h->next->next->data.i_val : 0;
sql_table *t = NULL;
const char *action = (temp == SQL_DECLARED_TABLE)?"DECLARE":"CREATE";
diff --git a/sql/server/sql_parser.y b/sql/server/sql_parser.y
--- a/sql/server/sql_parser.y
+++ b/sql/server/sql_parser.y
@@ -684,7 +684,7 @@ CONTINUE CURRENT CURSOR FOUND GOTO GO LA
SQLCODE SQLERROR UNDER WHENEVER
*/
-%token TEMP TEMPORARY MERGE REMOTE REPLICA
+%token TEMP TEMPORARY MERGE REMOTE REPLICA UNLOGGED
%token<sval> ASC DESC AUTHORIZATION
%token CHECK CONSTRAINT CREATE COMMENT NULLS FIRST LAST
%token TYPE PROCEDURE FUNCTION sqlLOADER AGGREGATE RETURNS EXTERNAL sqlNAME
DECLARE
@@ -1555,6 +1555,19 @@ table_def:
append_int(l, $3);
append_symbol(l, NULL); /* only used for merge table */
$$ = _symbol_create_list( SQL_CREATE_TABLE, l ); }
+ | UNLOGGED TABLE if_not_exists qname table_content_source
+ { int commit_action = CA_COMMIT, tpe = SQL_UNLOGGED_TABLE;
+ dlist *l = L();
+
+ append_int(l, tpe);
+ append_list(l, $4);
+ append_symbol(l, $5);
+ append_int(l, commit_action);
+ append_string(l, NULL);
+ append_list(l, NULL);
+ append_int(l, $3);
+ append_symbol(l, NULL); /* only used for merge table */
+ $$ = _symbol_create_list( SQL_CREATE_TABLE, l ); }
| opt_temp TABLE if_not_exists qname table_content_source opt_on_commit
{ int commit_action = CA_COMMIT;
dlist *l = L();
@@ -5468,6 +5481,7 @@ non_reserved_word:
| STORAGE { $$ = sa_strdup(SA, "storage"); }
| TEMP { $$ = sa_strdup(SA, "temp"); }
| TEMPORARY { $$ = sa_strdup(SA, "temporary"); }
+| UNLOGGED { $$ = sa_strdup(SA, "unlogged"); }
| sqlTEXT { $$ = sa_strdup(SA, "text"); }
| SQL_TRACE { $$ = sa_strdup(SA, "trace"); }
| TYPE { $$ = sa_strdup(SA, "type"); }
diff --git a/sql/server/sql_scan.c b/sql/server/sql_scan.c
--- a/sql/server/sql_scan.c
+++ b/sql/server/sql_scan.c
@@ -300,6 +300,7 @@ scanner_init_keywords(void)
failed += keywords_insert("REMOTE", REMOTE);
failed += keywords_insert("MERGE", MERGE);
failed += keywords_insert("REPLICA", REPLICA);
+ failed += keywords_insert("UNLOGGED", UNLOGGED);
failed += keywords_insert("TO", TO);
failed += keywords_insert("UNION", UNION);
failed += keywords_insert("EXCEPT", EXCEPT);
diff --git a/sql/storage/bat/bat_storage.c b/sql/storage/bat/bat_storage.c
--- a/sql/storage/bat/bat_storage.c
+++ b/sql/storage/bat/bat_storage.c
@@ -2120,7 +2120,7 @@ update_col(sql_trans *tr, sql_column *c,
assert(delta && delta->cs.ts == tr->tid);
if ((!inTransaction(tr, c->t) && (odelta != delta || isTempTable(c->t))
&& isGlobal(c->t)) || (!isNew(c->t) && isLocalTemp(c->t)))
- trans_add(tr, &c->base, delta, &tc_gc_col, &commit_update_col,
isTempTable(c->t)?NULL:&log_update_col);
+ trans_add(tr, &c->base, delta, &tc_gc_col, &commit_update_col,
isTempTable(c->t) || isUnloggedTable(c->t) ? NULL : &log_update_col);
odelta = delta;
if ((res = update_col_execute(tr, &delta, c->t, isNew(c), tids, upd,
tpe == TYPE_bat)) != LOG_OK)
@@ -2192,7 +2192,7 @@ update_idx(sql_trans *tr, sql_idx * i, v
assert(delta && delta->cs.ts == tr->tid);
if ((!inTransaction(tr, i->t) && (odelta != delta || isTempTable(i->t))
&& isGlobal(i->t)) || (!isNew(i->t) && isLocalTemp(i->t)))
- trans_add(tr, &i->base, delta, &tc_gc_idx, &commit_update_idx,
isTempTable(i->t)?NULL:&log_update_idx);
+ trans_add(tr, &i->base, delta, &tc_gc_idx, &commit_update_idx,
isTempTable(i->t) || isUnloggedTable(i->t) ? NULL : &log_update_idx);
odelta = delta;
res = update_col_execute(tr, &delta, i->t, isNew(i), tids, upd, tpe ==
TYPE_bat);
@@ -2391,7 +2391,7 @@ append_col(sql_trans *tr, sql_column *c,
assert(delta && (!isTempTable(c->t) || delta->cs.ts == tr->tid));
if (isTempTable(c->t))
if ((!inTransaction(tr, c->t) && (odelta != delta ||
!segments_in_transaction(tr, c->t) || isTempTable(c->t)) && isGlobal(c->t)) ||
(!isNew(c->t) && isLocalTemp(c->t)))
- trans_add(tr, &c->base, delta, &tc_gc_col, &commit_update_col,
isTempTable(c->t)?NULL:&log_update_col);
+ trans_add(tr, &c->base, delta, &tc_gc_col, &commit_update_col,
isTempTable(c->t) || isUnloggedTable(c->t) ? NULL : &log_update_col);
odelta = delta;
if ((res = append_col_execute(tr, &delta, c->base.id, offset, offsets,
data, cnt, tpe, c->storage_type)) != LOG_OK)
@@ -2431,7 +2431,7 @@ append_idx(sql_trans *tr, sql_idx *i, BU
assert(delta && (!isTempTable(i->t) || delta->cs.ts == tr->tid));
if (isTempTable(i->t))
if ((!inTransaction(tr, i->t) && (odelta != delta ||
!segments_in_transaction(tr, i->t) || isTempTable(i->t)) && isGlobal(i->t)) ||
(!isNew(i->t) && isLocalTemp(i->t)))
- trans_add(tr, &i->base, delta, &tc_gc_idx, &commit_update_idx,
isTempTable(i->t)?NULL:&log_update_idx);
+ trans_add(tr, &i->base, delta, &tc_gc_idx, &commit_update_idx,
isTempTable(i->t) || isUnloggedTable(i->t) ? NULL : &log_update_idx);
odelta = delta;
res = append_col_execute(tr, &delta, i->base.id, offset, offsets, data,
cnt, tpe, NULL);
@@ -2485,7 +2485,7 @@ storage_delete_val(sql_trans *tr, sql_ta
}
unlock_table(tr->store, t->base.id);
if ((!inTransaction(tr, t) && (!in_transaction || isTempTable(t)) &&
isGlobal(t)) || (!isNew(t) && isLocalTemp(t)))
- trans_add(tr, &t->base, s, &tc_gc_del, &commit_update_del,
isTempTable(t)?NULL:&log_update_del);
+ trans_add(tr, &t->base, s, &tc_gc_del, &commit_update_del,
isTempTable(t) || isUnloggedTable(t) ? NULL : &log_update_del);
return LOG_OK;
}
@@ -2603,7 +2603,7 @@ storage_delete_bat(sql_trans *tr, sql_ta
if (i != oi)
bat_destroy(i);
if ((!inTransaction(tr, t) && (!in_transaction || isTempTable(t)) &&
isGlobal(t)) || (!isNew(t) && isLocalTemp(t)))
- trans_add(tr, &t->base, s, &tc_gc_del, &commit_update_del,
isTempTable(t)?NULL:&log_update_del);
+ trans_add(tr, &t->base, s, &tc_gc_del, &commit_update_del,
isTempTable(t) || isUnloggedTable(t) ? NULL : &log_update_del);
return ok;
}
@@ -3065,7 +3065,7 @@ create_col(sql_trans *tr, sql_column *c)
bat->cs.ucnt = 0;
if (new /*&& !isTempTable(c->t)*/ && !isNew(c->t) /* alter */)
- trans_add(tr, &c->base, bat, &tc_gc_col,
&commit_create_col, isTempTable(c->t)?NULL:&log_create_col);
+ trans_add(tr, &c->base, bat, &tc_gc_col,
&commit_create_col, isTempTable(c->t) ? NULL : &log_create_col);
}
return ok;
}
@@ -3171,7 +3171,7 @@ create_idx(sql_trans *tr, sql_idx *ni)
}
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]