Changeset: 90e2db202ccf for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=90e2db202ccf Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 sql/backends/monet5/sql_cat.c sql/jdbc/tests/Tests/Bug_Connect_as_voc_getMetaData_Failure_Bug_6388.stable.out sql/jdbc/tests/Tests/Test_Dobjects.stable.out sql/server/rel_propagate.c sql/server/sql_partition.c sql/storage/store.c sql/test/mapi/Tests/php_monetdb.stable.out Branch: merge-partitions Log Message:
Compilation and memory leak fixes. Test approvals diffs (193 lines): diff --git a/clients/Tests/MAL-signatures.stable.out b/clients/Tests/MAL-signatures.stable.out --- a/clients/Tests/MAL-signatures.stable.out +++ b/clients/Tests/MAL-signatures.stable.out @@ -10945,10 +10945,10 @@ Ready. [ "sqlblob", "#tostr", "command sqlblob.#tostr():void ", "SQLBLOBtostr;", "" ] [ "sqlblob", "sqlblob", "command sqlblob.sqlblob(s:sqlblob):sqlblob ", "BLOBblob_blob;", "Noop routine." ] [ "sqlblob", "sqlblob", "command sqlblob.sqlblob(s:str):sqlblob ", "BLOBsqlblob_fromstr;", "" ] -[ "sqlcatalog", "alter_add_range_partition", "pattern sqlcatalog.alter_add_range_partition(sname:str, mtnme:str, psnme:str, ptnme:str, min:str, max:str, nills:int, update:int):void ", "SQLalter_add_range_partition;", "Catalog operation alter_add_range_partition" ] +[ "sqlcatalog", "alter_add_range_partition", "pattern sqlcatalog.alter_add_range_partition(sname:str, mtnme:str, psnme:str, ptnme:str, min:any_1, max:any_1, nills:int, update:int):void ", "SQLalter_add_range_partition;", "Catalog operation alter_add_range_partition" ] [ "sqlcatalog", "alter_add_table", "pattern sqlcatalog.alter_add_table(sname:str, mtnme:str, psnme:str, ptnme:str, action:int):void ", "SQLalter_add_table;", "Catalog operation alter_add_table" ] [ "sqlcatalog", "alter_add_value_partition", "pattern sqlcatalog.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:int, update:int):void ", "SQLalter_add_value_partition;", "Catalog operation alter_add_value_partition" ] -[ "sqlcatalog", "alter_add_value_partition", "pattern sqlcatalog.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:int, update:int, arg:str...):void ", "SQLalter_add_value_partition;", "Catalog operation alter_add_value_partition" ] +[ "sqlcatalog", "alter_add_value_partition", "pattern sqlcatalog.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:int, update:int, arg:any...):void ", "SQLalter_add_value_partition;", "Catalog operation alter_add_value_partition" ] [ "sqlcatalog", "alter_del_table", "pattern sqlcatalog.alter_del_table(sname:str, mtnme:str, psnme:str, ptnme:str, action:int):void ", "SQLalter_del_table;", "Catalog operation alter_del_table" ] [ "sqlcatalog", "alter_seq", "pattern sqlcatalog.alter_seq(sname:str, seqname:str, seq:ptr, val:lng):void ", "SQLalter_seq;", "Catalog operation alter_seq" ] [ "sqlcatalog", "alter_set_table", "pattern sqlcatalog.alter_set_table(sname:str, tnme:str, access:int):void ", "SQLalter_set_table;", "Catalog operation alter_set_table" ] diff --git a/clients/Tests/MAL-signatures.stable.out.int128 b/clients/Tests/MAL-signatures.stable.out.int128 --- a/clients/Tests/MAL-signatures.stable.out.int128 +++ b/clients/Tests/MAL-signatures.stable.out.int128 @@ -15158,10 +15158,10 @@ Ready. [ "sqlblob", "#tostr", "command sqlblob.#tostr():void ", "SQLBLOBtostr;", "" ] [ "sqlblob", "sqlblob", "command sqlblob.sqlblob(s:sqlblob):sqlblob ", "BLOBblob_blob;", "Noop routine." ] [ "sqlblob", "sqlblob", "command sqlblob.sqlblob(s:str):sqlblob ", "BLOBsqlblob_fromstr;", "" ] -[ "sqlcatalog", "alter_add_range_partition", "pattern sqlcatalog.alter_add_range_partition(sname:str, mtnme:str, psnme:str, ptnme:str, min:str, max:str, nills:int, update:int):void ", "SQLalter_add_range_partition;", "Catalog operation alter_add_range_partition" ] +[ "sqlcatalog", "alter_add_range_partition", "pattern sqlcatalog.alter_add_range_partition(sname:str, mtnme:str, psnme:str, ptnme:str, min:any_1, max:any_1, nills:int, update:int):void ", "SQLalter_add_range_partition;", "Catalog operation alter_add_range_partition" ] [ "sqlcatalog", "alter_add_table", "pattern sqlcatalog.alter_add_table(sname:str, mtnme:str, psnme:str, ptnme:str, action:int):void ", "SQLalter_add_table;", "Catalog operation alter_add_table" ] [ "sqlcatalog", "alter_add_value_partition", "pattern sqlcatalog.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:int, update:int):void ", "SQLalter_add_value_partition;", "Catalog operation alter_add_value_partition" ] -[ "sqlcatalog", "alter_add_value_partition", "pattern sqlcatalog.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:int, update:int, arg:str...):void ", "SQLalter_add_value_partition;", "Catalog operation alter_add_value_partition" ] +[ "sqlcatalog", "alter_add_value_partition", "pattern sqlcatalog.alter_add_value_partition(sname:str, mtnme:str, psnme:str, ptnme:str, nills:int, update:int, arg:any...):void ", "SQLalter_add_value_partition;", "Catalog operation alter_add_value_partition" ] [ "sqlcatalog", "alter_del_table", "pattern sqlcatalog.alter_del_table(sname:str, mtnme:str, psnme:str, ptnme:str, action:int):void ", "SQLalter_del_table;", "Catalog operation alter_del_table" ] [ "sqlcatalog", "alter_seq", "pattern sqlcatalog.alter_seq(sname:str, seqname:str, seq:ptr, val:lng):void ", "SQLalter_seq;", "Catalog operation alter_seq" ] [ "sqlcatalog", "alter_set_table", "pattern sqlcatalog.alter_set_table(sname:str, tnme:str, access:int):void ", "SQLalter_set_table;", "Catalog operation alter_set_table" ] diff --git a/sql/backends/monet5/sql_cat.c b/sql/backends/monet5/sql_cat.c --- a/sql/backends/monet5/sql_cat.c +++ b/sql/backends/monet5/sql_cat.c @@ -258,7 +258,7 @@ alter_table_add_value_partition(mvc *sql str msg = MAL_SUCCEED; sql_part *err = NULL; int errcode = 0, i = 0, ninserts = 0; - list *values = list_new(sql->sa, (fdestroy) NULL); + list *values = list_new(sql->session->tr->sa, (fdestroy) NULL); sql_subtype tpe; if((msg = validate_alter_table_add_table(sql, "sql.alter_table_add_value_partition", msname, mtname, psname, ptname, &mt, &pt, update))) { diff --git a/sql/jdbc/tests/Tests/Bug_Connect_as_voc_getMetaData_Failure_Bug_6388.stable.out b/sql/jdbc/tests/Tests/Bug_Connect_as_voc_getMetaData_Failure_Bug_6388.stable.out --- a/sql/jdbc/tests/Tests/Bug_Connect_as_voc_getMetaData_Failure_Bug_6388.stable.out +++ b/sql/jdbc/tests/Tests/Bug_Connect_as_voc_getMetaData_Failure_Bug_6388.stable.out @@ -90,7 +90,10 @@ DatabaseMinorVersion = 27+ 4.7. getTables(null, 'tmp', null, null) List Tables in schema tmp: _columns +_range_partitions +_table_partitions _tables +_value_partitions idxs keys objects diff --git a/sql/jdbc/tests/Tests/Test_Dobjects.stable.out b/sql/jdbc/tests/Tests/Test_Dobjects.stable.out --- a/sql/jdbc/tests/Tests/Test_Dobjects.stable.out +++ b/sql/jdbc/tests/Tests/Test_Dobjects.stable.out @@ -36,7 +36,10 @@ sys null Resultset with 10 columns TABLE_CAT TABLE_SCHEM TABLE_NAME TABLE_TYPE REMARKS TYPE_CAT TYPE_SCHEM TYPE_NAME SELF_REFERENCING_COL_NAME REF_GENERATION null tmp _columns SYSTEM TABLE null null null null null null +null tmp _range_partitions SYSTEM TABLE null null null null null null +null tmp _table_partitions SYSTEM TABLE null null null null null null null tmp _tables SYSTEM TABLE null null null null null null +null tmp _value_partitions SYSTEM TABLE null null null null null null null tmp idxs SYSTEM TABLE null null null null null null null tmp keys SYSTEM TABLE null null null null null null null tmp objects SYSTEM TABLE null null null null null null diff --git a/sql/server/rel_propagate.c b/sql/server/rel_propagate.c --- a/sql/server/rel_propagate.c +++ b/sql/server/rel_propagate.c @@ -531,8 +531,8 @@ rel_generate_subinserts(mvc *sql, sql_re for (node *n = t->members.set->h; n; n = n->next) { sql_part *pt = (sql_part *) n->data; sql_table *sub = find_sql_table(t->s, pt->base.name); - sql_rel *s1, *dup; - sql_exp *le; + sql_rel *s1 = NULL, *dup = NULL; + sql_exp *le = NULL; if(isPartitionedByColumnTable(t)) { dup = rel_dup(rel->r); diff --git a/sql/server/sql_partition.c b/sql/server/sql_partition.c --- a/sql/server/sql_partition.c +++ b/sql/server/sql_partition.c @@ -243,23 +243,23 @@ initialize_sql_parts(mvc* sql, sql_table localtype = found.type->localtype; if(localtype != TYPE_str && mt->members.set && list_length(mt->members.set)) { - list *new = sa_list(sql->sa), *old = sa_list(sql->sa); + list *new = sa_list(sql->session->tr->sa), *old = sa_list(sql->session->tr->sa); for (node *n = mt->members.set->h; n; n = n->next) { - sql_part* next = (sql_part*) n->data, *p = SA_ZNEW(sql->sa, sql_part); + sql_part* next = (sql_part*) n->data, *p = SA_ZNEW(sql->session->tr->sa, sql_part); sql_table* pt = find_sql_table(mt->s, next->base.name); - base_init(sql->sa, &p->base, pt->base.id, TR_NEW, pt->base.name); + base_init(sql->session->tr->sa, &p->base, pt->base.id, TR_NEW, pt->base.name); p->t = pt; p->tpe = found; p->with_nills = next->with_nills; if(isListPartitionTable(mt)) { p->part_type = PARTITION_LIST; - p->part.values = sa_list(sql->sa); + p->part.values = sa_list(sql->session->tr->sa); for (node *m = next->part.values->h; m; m = m->next) { - sql_part_value *v = (sql_part_value*) m->data, *nv = SA_ZNEW(sql->sa, sql_part_value); + sql_part_value *v = (sql_part_value*) m->data, *nv = SA_ZNEW(sql->session->tr->sa, sql_part_value); ValRecord vvalue; ptr ok; @@ -269,7 +269,7 @@ initialize_sql_parts(mvc* sql, sql_table if(ok) ok = VALconvert(localtype, &vvalue); if(ok) { - nv->value = sa_alloc(sql->sa, vvalue.len); + nv->value = sa_alloc(sql->session->tr->sa, vvalue.len); memcpy(nv->value, VALget(&vvalue), vvalue.len); nv->length = vvalue.len; } @@ -296,8 +296,8 @@ initialize_sql_parts(mvc* sql, sql_table if(ok) ok = VALconvert(localtype, &vmax); if(ok) { - p->part.range.minvalue = sa_alloc(sql->sa, vmin.len); - p->part.range.maxvalue = sa_alloc(sql->sa, vmax.len); + p->part.range.minvalue = sa_alloc(sql->session->tr->sa, vmin.len); + p->part.range.maxvalue = sa_alloc(sql->session->tr->sa, vmax.len); memcpy(p->part.range.minvalue, VALget(&vmin), vmin.len); memcpy(p->part.range.maxvalue, VALget(&vmax), vmax.len); p->part.range.minlength = vmin.len; diff --git a/sql/storage/store.c b/sql/storage/store.c --- a/sql/storage/store.c +++ b/sql/storage/store.c @@ -4692,7 +4692,7 @@ sql_trans_add_range_partition(sql_trans if(min) { ok = VALinit(&vmin, localtype, min); - if(ok) + if(ok && localtype != TYPE_str) ok = VALconvert(TYPE_str, &vmin); } else { ok = VALinit(&vmin, TYPE_str, ATOMnilptr(TYPE_str)); @@ -4710,7 +4710,7 @@ sql_trans_add_range_partition(sql_trans if(max) { ok = VALinit(&vmax, localtype, max); - if(ok) + if(ok && localtype != TYPE_str) ok = VALconvert(TYPE_str, &vmax); } else { ok = VALinit(&vmax, TYPE_str, ATOMnilptr(TYPE_str)); @@ -4844,7 +4844,7 @@ sql_trans_add_value_partition(sql_trans return -i - 1; } ok = VALinit(&vvalue, localtype, next->value); - if(ok) + if(ok && localtype != TYPE_str) ok = VALconvert(TYPE_str, &vvalue); if(!ok) { _DELETE(v); diff --git a/sql/test/mapi/Tests/php_monetdb.stable.out b/sql/test/mapi/Tests/php_monetdb.stable.out --- a/sql/test/mapi/Tests/php_monetdb.stable.out +++ b/sql/test/mapi/Tests/php_monetdb.stable.out @@ -37,8 +37,8 @@ sequences dependencies _tables _columns -keys -idxs +_table_partitions +_range_partitions name schema_id query type system commit_action access temporary schemas 2000 10 true 0 0 0 types 2000 10 true 0 0 0 @@ -48,8 +48,8 @@ sequences 2000 10 true 0 0 0 dependencies 2000 10 true 0 0 0 _tables 2000 10 true 0 0 0 _columns 2000 10 true 0 0 0 -keys 2000 10 true 0 0 0 -idxs 2000 10 true 0 0 0 +_table_partitions 2000 10 true 0 0 0 +_range_partitions 2000 10 true 0 0 0 # 13:02:01 > # 13:02:01 > "Done." _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list