Update of /cvsroot/monetdb/sql/src/common
In directory sfp-cvsdas-1.v30.ch3.sourceforge.com:/tmp/cvs-serv10921/src/common

Modified Files:
        sql_changeset.mx sql_list.mx sql_mem.mx sql_types.mx 
Log Message:
moved most of the DDL statements into mal 


Index: sql_mem.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/common/sql_mem.mx,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -d -r1.22 -r1.23
--- sql_mem.mx  7 Jan 2010 15:24:32 -0000       1.22
+++ sql_mem.mx  10 Jan 2010 15:33:34 -0000      1.23
@@ -117,6 +117,15 @@
        return r;
 }
 
+char *sa_zalloc( sql_allocator *sa, size_t sz )
+{
+       char *r = sa_alloc(sa, sz);
+
+       if (r)
+               memset(r, 0, sz);
+       return r;
+}      
+
 void sa_destroy( sql_allocator *sa ) 
 {
        size_t i ;

Index: sql_changeset.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/common/sql_changeset.mx,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- sql_changeset.mx    7 Jan 2010 15:24:32 -0000       1.14
+++ sql_changeset.mx    10 Jan 2010 15:33:33 -0000      1.15
@@ -24,6 +24,7 @@
 void
 cs_init(changeset * cs, fdestroy destroy)
 {
+       cs->sa = NULL;
        cs->destroy = destroy;
        cs->set = NULL;
        cs->dset = NULL;
@@ -31,6 +32,16 @@
 }
 
 void
+cs_new(changeset * cs, sql_allocator *sa)
+{
+       cs->sa = sa;
+       cs->destroy = NULL;
+       cs->set = NULL;
+       cs->dset = NULL;
+       cs->nelm = NULL;
+}
+
+void
 cs_destroy(changeset * cs)
 {
        if (cs->set)
@@ -42,8 +53,12 @@
 void
 cs_add(changeset * cs, void *elm, int flag)
 {
-       if (!cs->set)
-               cs->set = list_create(cs->destroy);
+       if (!cs->set) {
+               if (cs->sa)
+                       cs->set = list_new(cs->sa);
+               else
+                       cs->set = list_create(cs->destroy);
+       }
        list_append(cs->set, elm);
        if (flag == TR_NEW && !cs->nelm)
                cs->nelm = cs->set->t;
@@ -63,8 +78,12 @@
                        cs->nelm = elm->next;
                list_remove_node(cs->set, elm);
        } else {
-               if (!cs->dset)
-                       cs->dset = list_create(cs->destroy);
+               if (!cs->dset) {
+                       if (cs->sa)
+                               cs->dset = list_new(cs->sa);
+                       else
+                               cs->dset = list_create(cs->destroy);
+               }
                list_move_data(cs->set, cs->dset, elm->data);
        }
 }

Index: sql_types.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/common/sql_types.mx,v
retrieving revision 1.133
retrieving revision 1.134
diff -u -d -r1.133 -r1.134
--- sql_types.mx        7 Jan 2010 15:24:32 -0000       1.133
+++ sql_types.mx        10 Jan 2010 15:33:34 -0000      1.134
@@ -1302,6 +1302,7 @@
 
        t = ts;
        TABLE = *t++ = sql_create_type("TABLE", 0, 0, 0, EC_TABLE, "bat");
+       *t++ = sql_create_type("PTR", 0, 0, 0, EC_TABLE, "ptr");
 
        BIT = *t++ = sql_create_type("BOOLEAN", 1, 0, 2, EC_BIT, "bit");
        sql_create_alias(BIT->sqlname, "BOOL");

Index: sql_list.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/common/sql_list.mx,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- sql_list.mx 7 Jan 2010 15:24:32 -0000       1.25
+++ sql_list.mx 10 Jan 2010 15:33:34 -0000      1.26
@@ -25,9 +25,9 @@
 #include "sql_list.h"
 
 static node *
-node_create(void *data)
+node_create(sql_allocator *sa, void *data)
 {
-       node *n = NEW(node);
+       node *n = (sa)?SA_NEW(sa, node):NEW(node);
 
        n->next = NULL;
        n->data = data;
@@ -39,12 +39,25 @@
 {
        list *l = NEW(list);
 
+       l->sa = NULL;
        l->destroy = destroy;
        l->h = l->t = NULL;
        l->cnt = 0;
        return l;
 }
 
+list *
+list_new(sql_allocator *sa)
+{
+       list *l = SA_NEW(sa, list);
+
+       l->sa = sa;
+       l->destroy = NULL;
+       l->h = l->t = NULL;
+       l->cnt = 0;
+       return l;
+}
+
 int
 list_empty(list *l)
 {
@@ -58,7 +71,8 @@
 {
        if (n->data && l->destroy)
                l->destroy(n->data);
-       _DELETE(n);
+       if (!l->sa)
+               _DELETE(n);
 }
 
 void
@@ -73,7 +87,8 @@
                        n = n->next;
                        node_destroy(l, t);
                }
-               _DELETE(l);
+               if (!l->sa)
+                       _DELETE(l);
        }
 }
 
@@ -88,7 +103,7 @@
 list *
 list_append(list *l, void *data)
 {
-       node *n = node_create(data);
+       node *n = node_create(l->sa, data);
 
        if (l->cnt) {
                l->t->next = n;
@@ -104,7 +119,7 @@
 list_append_before(list *l, node *m, void *data)
 {
        node *p = l->h;
-       node *n = node_create(data);
+       node *n = node_create(l->sa, data);
 
        n->next = m;
        if (p == m){
@@ -121,7 +136,7 @@
 list *
 list_prepend(list *l, void *data)
 {
-       node *n = node_create(data);
+       node *n = node_create(l->sa, data);
 
        if (!l->cnt) {
                l->t = n;


------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
Monetdb-sql-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-sql-checkins

Reply via email to