Update of /cvsroot/monetdb/sql/src/include
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv23009/src/include

Modified Files:
        sql_list.h sql_relation.h 
Log Message:
Many fixes

changed how we handle selections over multiple columns of a single table
(should solve the preformance problem reported by Venks)

added a way to bulk request sequence numbers. When loading (copying) data
into tables which have a auto_increment (or alike) column lots of time
was spend in the many calls to get all the sequence numbers (observed a
performance in crease of about 10x when loading pieces of 100K rows)

added support for TINYINT (we map this too 'bte')

improved mapping functions onto the same signature too improve cached 
function reuse



Index: sql_list.h
===================================================================
RCS file: /cvsroot/monetdb/sql/src/include/sql_list.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- sql_list.h  3 Jan 2007 12:39:45 -0000       1.11
+++ sql_list.h  29 Jun 2007 11:28:55 -0000      1.12
@@ -35,7 +35,7 @@
        int cnt;
 } list;
 
-typedef int (*traverse_func) (char *clientdata, int seqnr, void *data);
+typedef int (*traverse_func) (void *clientdata, int seqnr, void *data);
 
 extern list *list_create(fdestroy destroy);
 
@@ -51,7 +51,7 @@
 extern void list_move_data(list *l, list *d, void *data);
 
 
-extern int list_traverse(list *l, traverse_func f, char *clientdata);
+extern int list_traverse(list *l, traverse_func f, void *clientdata);
 
 /* the compare function gets one element from the list and a key from the
  * as input from the find function 

Index: sql_relation.h
===================================================================
RCS file: /cvsroot/monetdb/sql/src/include/sql_relation.h,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -d -r1.13 -r1.14
--- sql_relation.h      3 Jan 2007 12:39:45 -0000       1.13
+++ sql_relation.h      29 Jun 2007 11:28:55 -0000      1.14
@@ -59,8 +59,10 @@
 #define DISTINCT       1
 #define NO_NIL         2
  
+#define MAXOPS 16
+
 typedef enum operator_type {
-       op_basetable,
+       op_basetable = 0,
        op_table,
        op_project,
        op_select,
@@ -92,6 +94,8 @@
        (rel->op == op_project && rel->r != NULL)
 
 typedef struct relation {
+       sql_ref ref;
+
        operator_type op;       
        char *name;   
        void *l;


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Monetdb-sql-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-sql-checkins

Reply via email to