[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