Update of /cvsroot/monetdb/sql/src/storage
In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv12954/src/storage

Modified Files:
        store_dependency.mx 
Log Message:
propagated changes of Wednesday Aug 12 2009
from the Aug2009 branch to the development trunk

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2009/08/12 - stmane: src/storage/store_dependency.mx,1.5.4.1

In an attampt to ensure portability to, and hence correctness on,
64-bit big-endian machines with 32-bit OIDs,
we make the SQL storage interface implementation a bit "less generic",
but a bit "more MonetDB-specific",
by using type oid instead of type ssize_t
for row indices / row ids ("rid")
that are stored as type oid in BATs.

(For convenience, these changes are wrapped in CVS tags
 "rid-ssize_t" & "rid-oid".)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Index: store_dependency.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/storage/store_dependency.mx,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- store_dependency.mx 18 May 2009 07:18:18 -0000      1.5
+++ store_dependency.mx 12 Aug 2009 17:41:05 -0000      1.6
@@ -55,7 +55,7 @@
        sql_column *c_dep_id = find_sql_column(t, "depend_id");
        sql_column *c_dep_type = find_sql_column(t, "depend_type");
 
-       if (table_funcs.column_find_row(tr, c_id, &id, c_dep_id, &depend_id, 
c_dep_type, &depend_type, NULL) == -1)
+       if (table_funcs.column_find_row(tr, c_id, &id, c_dep_id, &depend_id, 
c_dep_type, &depend_type, NULL) == oid_nil)
                table_funcs.table_insert(tr, t, &id, &depend_id, &depend_type);
 }
 
@@ -63,14 +63,14 @@
 void
 sql_trans_drop_dependencies(sql_trans* tr, sqlid depend_id)
 {
-       ssize_t rid;
+       oid rid;
        sql_schema * s = find_sql_schema(tr, "sys");
        sql_table* deps = find_sql_table(s, "dependencies");
        sql_column * dep_dep_id = find_sql_column(deps, "depend_id");
        rids *rs;
        
        rs = table_funcs.rids_select(tr, dep_dep_id, &depend_id, &depend_id, 
NULL);
-       for(rid = table_funcs.rids_next(rs); rid>=0; rid = 
table_funcs.rids_next(rs)) 
+       for(rid = table_funcs.rids_next(rs); rid != oid_nil; rid = 
table_funcs.rids_next(rs)) 
                table_funcs.table_delete(tr, deps, rid);
        table_funcs.rids_destroy(rs);
 }
@@ -84,7 +84,7 @@
        sql_table *deps = find_sql_table(s, "dependencies");
        sql_column *dep_id, *dep_dep_id, *dep_dep_type, *tri_id, *table_id;
        list *dep_list = list_create((fdestroy) GDKfree); 
-       ssize_t r;
+       oid rid;
        rids *rs;
 
        dep_id = find_sql_column(deps, "id");
@@ -92,12 +92,12 @@
        dep_dep_type = find_sql_column(deps, "depend_type");
 
        rs = table_funcs.rids_select(tr, dep_id, &id, &id, NULL);
-       for(r = table_funcs.rids_next(rs); r>=0; r = table_funcs.rids_next(rs)){
-               v = table_funcs.column_find_value(tr, dep_dep_id, r);
+       for(rid = table_funcs.rids_next(rs); rid != oid_nil; rid = 
table_funcs.rids_next(rs)){
+               v = table_funcs.column_find_value(tr, dep_dep_id, rid);
                id = *(sqlid*)v;                
                if (!(ignore_ids  && list_find_func_id(ignore_ids, id))) {
                        list_append(dep_list, v);
-                       v = table_funcs.column_find_value(tr, dep_dep_type, r);
+                       v = table_funcs.column_find_value(tr, dep_dep_type, 
rid);
                        list_append(dep_list, v);
                } else {
                        _DELETE(v);
@@ -112,8 +112,8 @@
                depend_type = TRIGGER_DEPENDENCY;
 
                rs = table_funcs.rids_select(tr, table_id, &id, &id, NULL);
-               for(r = table_funcs.rids_next(rs); r>=0; r = 
table_funcs.rids_next(rs)) {
-                       v = table_funcs.column_find_value(tr, tri_id, r);
+               for(rid = table_funcs.rids_next(rs); rid != oid_nil; rid = 
table_funcs.rids_next(rs)) {
+                       v = table_funcs.column_find_value(tr, tri_id, rid);
                        list_append(dep_list, v);
                        v = NEW(sht);
                        *(sht*)v = depend_type;
@@ -128,7 +128,7 @@
 int
 sql_trans_get_dependency_type(sql_trans *tr, int id, short depend_type)
 {
-       ssize_t rid;
+       oid rid;
        sql_schema *s;
        sql_table *dep;
        sql_column *dep_id, *dep_dep_id, *dep_dep_type;
@@ -142,7 +142,7 @@
        dep_dep_type = find_sql_column(dep, "depend_type");
 
        rid = table_funcs.column_find_row(tr, dep_id, &id, dep_dep_type, 
&depend_type, NULL);
-       if (rid != -1)  
+       if (rid != oid_nil)     
                return *(int *) table_funcs.column_find_value(tr, dep_dep_id, 
rid);
        else return -1;
 }
@@ -151,7 +151,7 @@
 int
 sql_trans_check_dependency(sql_trans *tr, int id, int depend_id, short 
depend_type)
 {
-       ssize_t rid;
+       oid rid;
        sql_schema *s;
        sql_table *dep;
        sql_column *dep_id, *dep_dep_id, *dep_dep_type;
@@ -165,7 +165,7 @@
        dep_dep_type = find_sql_column(dep, "depend_type");
 
        rid = table_funcs.column_find_row(tr, dep_id, &id, dep_dep_id, 
&depend_id, dep_dep_type, &depend_type, NULL);
-       if (rid != -1)  
+       if (rid != oid_nil)     
                return 1;
        else return 0;
 }
@@ -184,9 +184,9 @@
        short type = USER_DEPENDENCY;
        list *l = list_create((fdestroy) GDKfree);
        rids *users = backend_schema_user_dependencies(tr, schema_id);
-       ssize_t rid;
+       oid rid;
        
-       for(rid = table_funcs.rids_next(users); rid>=0; rid = 
table_funcs.rids_next(users)) {
+       for(rid = table_funcs.rids_next(users); rid != oid_nil; rid = 
table_funcs.rids_next(users)) {
                v = table_funcs.column_find_value(tr, auth_id, rid);
                list_append(l,v);
                v = NEW(sht);
@@ -209,9 +209,9 @@
        short type = SCHEMA_DEPENDENCY;
        list *l = list_create((fdestroy) GDKfree);
        rids *rs = table_funcs.rids_select(tr, schema_owner, &owner_id, 
&owner_id, NULL);
-       ssize_t rid;
+       oid rid;
        
-       for(rid = table_funcs.rids_next(rs); rid>=0; rid = 
table_funcs.rids_next(rs)) {
+       for(rid = table_funcs.rids_next(rs); rid != oid_nil; rid = 
table_funcs.rids_next(rs)) {
                v = table_funcs.column_find_value(tr, schema_id, rid);
                list_append(l, v);
                v = NEW(sht);


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Monetdb-sql-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-sql-checkins

Reply via email to