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

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

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2009/08/12 - stmane: src/storage/bat/bat_storage.mx,1.42.2.2

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: bat_storage.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/storage/bat/bat_storage.mx,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -d -r1.43 -r1.44
--- bat_storage.mx      5 Aug 2009 08:51:59 -0000       1.43
+++ bat_storage.mx      12 Aug 2009 17:41:09 -0000      1.44
@@ -48,11 +48,11 @@
 extern BAT * delta_bind_del(sql_dbat *bat, int access);
 
 extern void delta_update_bat( sql_delta *bat, BAT *upd, int is_new);
-extern void delta_update_val( sql_delta *bat, ssize_t rid, void *upd);
+extern void delta_update_val( sql_delta *bat, oid rid, void *upd);
 extern void delta_append_bat( sql_delta *bat, BAT *i );
 extern void delta_append_val( sql_delta *bat, void *i );
 extern void delta_delete_bat( sql_dbat *bat, BAT *i );
-extern void delta_delete_val( sql_dbat *bat, ssize_t rid );
+extern void delta_delete_val( sql_dbat *bat, oid rid );
 
 extern int load_delta(sql_delta *bat, int bid, int type);
 extern int load_dbat(sql_dbat *bat, int bid);
@@ -230,12 +230,11 @@
 }
 
 void
-delta_update_val( sql_delta *bat, ssize_t rid, void *upd) 
+delta_update_val( sql_delta *bat, oid rid, void *upd) 
 {
        BAT *b;
 
-       assert(rid != (ssize_t)oid_nil);
-       assert(rid != -1);
+       assert(rid != oid_nil);
 
        if (bat->ubid) {
                b = temp_descriptor(bat->ubid);
@@ -252,13 +251,13 @@
                BUNreplace(b, (ptr) &rid, upd, TRUE);
        } else {
                b = temp_descriptor(bat->ibid);
-               void_inplace(b, (oid) rid, upd, TRUE);
+               void_inplace(b, rid, upd, TRUE);
        }
        bat_destroy(b);
 }
 
 static void
-update_col(sql_trans *tr, sql_column *c, void *i, int tpe, ssize_t rid)
+update_col(sql_trans *tr, sql_column *c, void *i, int tpe, oid rid)
 {
        sql_delta *bat = c->data;
 
@@ -370,7 +369,7 @@
 }
 
 void
-delta_delete_val( sql_dbat *bat, ssize_t rid ) 
+delta_delete_val( sql_dbat *bat, oid rid ) 
 {
        BAT *b = temp_descriptor(bat->dbid);
 
@@ -395,7 +394,7 @@
        if (tpe == TYPE_bat)
                delta_delete_bat(bat, ib);
        else
-               delta_delete_val(bat, *(ssize_t*)ib);
+               delta_delete_val(bat, *(oid*)ib);
 }
 
 static size_t


------------------------------------------------------------------------------
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