[prev in list] [next in list] [prev in thread] [next in thread] 

List:       monetdb-sql-checkins
Subject:    [Monetdb-sql-checkins] sql/src/storage store_dependency.mx, , 1.5,
From:       Stefan Manegold <stmane () users ! sourceforge ! net>
Date:       2009-08-12 17:41:07
Message-ID: E1MbHox-0003NB-Go () 23jxhf1 ! ch3 ! sourceforge ! com
[Download RAW message or body]

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
Monetdb-sql-checkins@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/monetdb-sql-checkins


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic