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

Reply via email to