Changeset: 27a56152e541 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=27a56152e541
Modified Files:
        sql/backends/monet5/sql.mx
Branch: default
Log Message:

Merge with Apr2011


diffs (truncated from 767 to 300 lines):

diff --git a/sql/backends/monet5/sql.mx b/sql/backends/monet5/sql.mx
--- a/sql/backends/monet5/sql.mx
+++ b/sql/backends/monet5/sql.mx
@@ -2355,8 +2355,10 @@
        for (i=0; i<m->topvars && m->vars[i].s; i++) 
                BUNappend(vars, m->vars[i].name, FALSE);
        r = BATnew(TYPE_str,TYPE_bat,1);
-       if( r == NULL)
+       if( r == NULL){
+               BBPreleaseref(vars->batCacheid);
                throw(SQL, "sql.variables", MAL_MALLOC_FAIL);
+       }
        BUNins(r, "name", &vars->batCacheid, FALSE);
        BBPunfix(vars->batCacheid);
        *res = r->batCacheid;
@@ -2781,10 +2783,10 @@
                ins = *(ptr*)ins;
        s = mvc_bind_schema(m, sname);
        if ( s == NULL)
-               throw(MAL,"sql.append","Schema missing");
+               throw(SQL,"sql.append","Schema missing");
        t = mvc_bind_table(m, s, tname);
        if ( t == NULL)
-               throw(MAL,"sql.append","Table missing");
+               throw(SQL,"sql.append","Table missing");
        if (tpe == TYPE_bat)
                BATaccessBegin((BAT*)ins, USE_ALL, MMAP_SEQUENTIAL);    
        c = mvc_bind_column(m, t, cname);
@@ -2827,10 +2829,10 @@
                ins = *(ptr*)ins;
        s = mvc_bind_schema(m, sname);
        if ( s == NULL)
-               throw(MAL,"sql.update","Schema missing");
+               throw(SQL,"sql.update","Schema missing");
        t = mvc_bind_table(m, s, tname);
        if ( t == NULL)
-               throw(MAL,"sql.update","Table missing");
+               throw(SQL,"sql.update","Table missing");
        if (tpe == TYPE_bat)
                BATaccessBegin((BAT*)ins, USE_ALL, MMAP_SEQUENTIAL);    
        c = mvc_bind_column(m, t, cname);
@@ -2947,10 +2949,10 @@
                return msg;
        s = mvc_bind_schema(m, *sname);
        if ( s == NULL)
-               throw(MAL,"sql.clear_table","Schema missing");
+               throw(SQL,"sql.clear_table","Schema missing");
        t = mvc_bind_table(m, s, *tname);
        if ( t == NULL)
-               throw(MAL,"sql.clear_table","Table missing");
+               throw(SQL,"sql.clear_table","Table missing");
        *res = mvc_clear_table(m, t);
        return MAL_SUCCEED;
 }
@@ -2981,10 +2983,10 @@
                throw(SQL, "sql.delete","Cannot access descriptor");
        s = mvc_bind_schema(m, sname);
        if ( s == NULL)
-               throw(MAL,"sql.delete","Schema missing");
+               throw(SQL,"sql.delete","Schema missing");
        t = mvc_bind_table(m, s, tname);
        if ( t == NULL)
-               throw(MAL,"sql.delete","Table missing");
+               throw(SQL,"sql.delete","Table missing");
        store_funcs.delete_tab(m->session->tr, t, b, tpe);
        if (tpe == TYPE_bat)
                BBPunfix(((BAT*)ins)->batCacheid);
@@ -3163,7 +3165,7 @@
                return msg;
        s = mvc_bind_schema(m, dt_schema);
        if ( s == NULL)
-               throw(MAL,"sql.declared_table","Schema missing");
+               throw(SQL,"sql.declared_table","Schema missing");
        (void)mvc_create_table(m, s, *name, tt_table, TRUE, SQL_DECLARED_TABLE, 
CA_DROP, 0);
        *res_id = 0;
        return MAL_SUCCEED;
@@ -3195,10 +3197,10 @@
                throw(SQL, "sql.dtColumn", "Cannot find column type");
        s = mvc_bind_schema(m, dt_schema);
        if ( s == NULL)
-               throw(MAL,"sql.declared_table_column","Schema missing");
+               throw(SQL,"sql.declared_table_column","Schema missing");
        t = mvc_bind_table(m, s, *tname);
        if ( t == NULL)
-               throw(MAL,"sql.declared_table_column","Table missing");
+               throw(SQL,"sql.declared_table_column","Table missing");
        (void)mvc_create_column(m, t, *name, &tpe); 
        *ret = 0;
        return MAL_SUCCEED;
@@ -3217,10 +3219,10 @@
                return msg;
        s = mvc_bind_schema(m, dt_schema);
        if ( s == NULL)
-               throw(MAL,"sql.drop","Schema missing");
+               throw(SQL,"sql.drop","Schema missing");
        t = mvc_bind_table(m, s, *name);
        if ( t == NULL)
-               throw(MAL,"sql.drop","Table missing");
+               throw(SQL,"sql.drop","Table missing");
        (void)mvc_drop_table(m, s, t, 0);
        return MAL_SUCCEED;
 }
@@ -3238,7 +3240,7 @@
                return msg;
        s = mvc_bind_schema(m, dt_schema);
        if ( s == NULL)
-               throw(MAL,"sql.drop","Schema missing");
+               throw(SQL,"sql.drop","Schema missing");
        while(i && s->tables.set->t) {
                t = s->tables.set->t->data;
                (void)mvc_drop_table(m, s, t, 0);
@@ -3458,7 +3460,7 @@
                return msg;
 
        if ( s == NULL)
-               throw(MAL,"sql.drop","Schema missing");
+               throw(SQL,"sql.drop","Schema missing");
        t = mvc_bind_table(m, s, tname);
        if (!t) 
                throw(SQL,"sql", "table %s not found", tname);
@@ -3606,16 +3608,20 @@
        assert(b->htype == TYPE_oid);
        if (BATtkey(b) || BATtdense(b) || BATcount(b) <= 1) {
                bn = BATnew(TYPE_oid, TYPE_oid, 0);
-               if( bn == NULL)
+               if( bn == NULL) {
+                       BBPreleaseref(b->batCacheid);
                        throw(SQL, "sql.not_uniques", MAL_MALLOC_FAIL);
+               }
        } else if (b->tsorted&1) { /* ugh handle both wrd and oid types */
                oid c = *(oid*)Tloc(b, BUNfirst(b)), *rf, *rh, *rt;
                oid *h = (oid*)Hloc(b,0), *vp, *ve;
                int first = 1;
 
                bn = BATnew(TYPE_oid, TYPE_oid, BATcount(b));
-               if( bn == NULL)
+               if( bn == NULL){
+                       BBPreleaseref(b->batCacheid);
                        throw(SQL, "sql.not_uniques", MAL_MALLOC_FAIL);
+               }
                vp = (oid*)Tloc(b, BUNfirst(b));
                ve = vp + BATcount(b);
                rf = rh = (oid*)Hloc(bn, BUNfirst(bn));
@@ -3649,10 +3655,10 @@
                if (BATprepareHash(bm))
                        throw(SQL, "not_uniques", "hash creation failed");
                bn = BATnew(TYPE_oid, TYPE_oid, BATcount(b));
-               if( bn == NULL)
-                       throw(SQL, "sql.not_uniques", MAL_MALLOC_FAIL);
-               if( bn == NULL)
+               if( bn == NULL){
+                       BBPreleaseref(b->batCacheid);
                        throw(SQL, "sql.unique_oids", MAL_MALLOC_FAIL);
+               }
                vp = (oid*)Tloc(b, BUNfirst(b));
                ve = vp + BATcount(b);
                rf = rh = (oid*)Hloc(bn, BUNfirst(bn));
@@ -3821,8 +3827,10 @@
        }
        bi = bat_iterator(b);
        dst = BATnew(b->htype, TYPE_@1, BATcount(b));
-       if( dst == NULL)
+       if( dst == NULL){
+               BBPreleaseref(b->batCacheid);
                throw(SQL, "sql.dec_@1", MAL_MALLOC_FAIL);
+       }
        BATseqbase(dst, b->hseqbase);
        BATaccessBegin(b, USE_HEAD|USE_TAIL, MMAP_SEQUENTIAL);
        BATloop(b,p,q) {
@@ -3852,8 +3860,10 @@
        }
        bi = bat_iterator(b);
        dst = BATnew(b->htype, TYPE_@1, BATcount(b));
-       if( dst == NULL)
+       if( dst == NULL){
+               BBPreleaseref(b->batCacheid);
                throw(SQL, "sql.num_@1", MAL_MALLOC_FAIL);
+       }
        BATseqbase(dst, b->hseqbase);
        BATaccessBegin(b, USE_HEAD|USE_TAIL, MMAP_SEQUENTIAL);
        BATloop(b,p,q) {
@@ -3995,8 +4005,10 @@
        }
        bi = bat_iterator(b);
        dst = BATnew(b->htype, TYPE_@1, BATcount(b));
-       if( dst == NULL)
+       if( dst == NULL){
+               BBPreleaseref(b->batCacheid);
                throw(SQL, "sql.2_@1", MAL_MALLOC_FAIL);
+       }
        BATseqbase(dst, b->hseqbase);
        BATaccessBegin(b, USE_HEAD|USE_TAIL, MMAP_SEQUENTIAL);
        BATloop(b,p,q) {
@@ -4113,8 +4125,10 @@
        }
        bi = bat_iterator(b);
        dst = BATnew(b->htype, TYPE_str, BATcount(b));
-       if( dst == NULL)
+       if( dst == NULL){
+               BBPreleaseref(b->batCacheid);
                throw(SQL, "sql.str_cast", MAL_MALLOC_FAIL);
+       }
        BATseqbase(dst, b->hseqbase);
        BATaccessBegin(b, USE_HEAD|USE_TAIL, MMAP_SEQUENTIAL);
        BATloop(b,p,q) {
@@ -4157,8 +4171,10 @@
                throw(SQL, "batcalc.@2_2_@1", "Cannot access descriptor");
        }
        bn = BATnew(TYPE_void, TYPE_@1, BATcount(b));
-       if( bn == NULL)
+       if( bn == NULL){
+               BBPreleaseref(b->batCacheid);
                throw(SQL, "sql.@2_2_@1", MAL_MALLOC_FAIL);
+       }
        bn->hsorted = b->hsorted;
        BATseqbase(bn, b->hseqbase);
        o = (@1*) Tloc(bn,BUNfirst(bn));
@@ -4232,8 +4248,10 @@
                throw(SQL, "batcalc.@2_2_@1", "Cannot access descriptor");
        }
        bn = BATnew(TYPE_void, TYPE_@1, BATcount(b));
-       if( bn == NULL)
+       if( bn == NULL){
+               BBPreleaseref(b->batCacheid);
                throw(SQL, "sql.@2_2_@1", MAL_MALLOC_FAIL);
+       }
        BATseqbase(bn, b->hseqbase);
        bn->H->nonil = 1;
        bn->T->nonil = 1;
@@ -4369,8 +4387,10 @@
                throw(SQL, "batcalc.@2_dec2_@1", "Cannot access descriptor");
        }
        bn = BATnew(TYPE_void, TYPE_@1, BATcount(b));
-       if( bn == NULL)
+       if( bn == NULL){
+               BBPreleaseref(b->batCacheid);
                throw(SQL, "sql.dec2_@1", MAL_MALLOC_FAIL);
+       }
        bn->hsorted = b->hsorted;
        BATseqbase(bn, b->hseqbase);
        o = (@1*) Tloc(bn,BUNfirst(bn));
@@ -4429,8 +4449,10 @@
        }
        bi = bat_iterator(b);
        dst = BATnew(b->htype, TYPE_@1, BATcount(b));
-       if( dst == NULL)
+       if( dst == NULL){
+               BBPreleaseref(b->batCacheid);
                throw(SQL, "sql.dec2dec_@1", MAL_MALLOC_FAIL);
+       }
        BATseqbase(dst, b->hseqbase);
        BATaccessBegin(b, USE_TAIL, MMAP_SEQUENTIAL);
        BATloop(b,p,q) {
@@ -4458,8 +4480,10 @@
        }
        bi = bat_iterator(b);
        dst = BATnew(b->htype, TYPE_@1, BATcount(b));
-       if( dst == NULL)
+       if( dst == NULL){
+               BBPreleaseref(b->batCacheid);
                throw(SQL, "sql.num2dec_@1", MAL_MALLOC_FAIL);
+       }
        BATseqbase(dst, b->hseqbase);
        BATaccessBegin(b, USE_TAIL, MMAP_SEQUENTIAL);
        BATloop(b,p,q) {
@@ -4543,8 +4567,10 @@
        }
        bi = bat_iterator(b);
        dst = BATnew(b->htype, TYPE_@1, BATcount(b));
-       if( dst == NULL)
+       if( dst == NULL){
+               BBPreleaseref(b->batCacheid);
                throw(SQL, "sql.num2dec_@1", MAL_MALLOC_FAIL);
+       }
        BATseqbase(dst, b->hseqbase);
        BATaccessBegin(b, USE_TAIL, MMAP_SEQUENTIAL);
        BATloop(b,p,q) {
@@ -4651,8 +4677,10 @@
                throw(SQL, "batcalc.@2_dec2_@1", "Cannot access descriptor");
        }
        bn = BATnew(TYPE_void, TYPE_@1, BATcount(b));
-       if( bn == NULL)
+       if( bn == NULL){
+               BBPreleaseref(b->batCacheid);
                throw(SQL, "sql.dec2_@1", MAL_MALLOC_FAIL);
+       }
        bn->hsorted = b->hsorted;
        BATseqbase(bn, b->hseqbase);
        o = (@1*) Tloc(bn,BUNfirst(bn));
@@ -4704,8 +4732,10 @@
        }
        bi = bat_iterator(b);
        dst = BATnew(b->htype, TYPE_@1, BATcount(b));
-       if( dst == NULL)
+       if( dst == NULL){
+               BBPreleaseref(b->batCacheid);
                throw(SQL, "sql.dec2dec_@1", MAL_MALLOC_FAIL);
+       }
        BATseqbase(dst, b->hseqbase);
        BATaccessBegin(b, USE_TAIL, MMAP_SEQUENTIAL);
_______________________________________________
Checkin-list mailing list
Checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to