Changeset: c5edcb197f97 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c5edcb197f97
Modified Files:
        sql/include/sql_catalog.h
        sql/server/sql_mvc.c
        sql/storage/store.c
Branch: sciql
Log Message:

a very small second step (after parser) towards sciql implementation: extended 
the sql catalog with two new tables to store additional information for arrays.

increated the catelog version nr.


diffs (84 lines):

diff --git a/sql/include/sql_catalog.h b/sql/include/sql_catalog.h
--- a/sql/include/sql_catalog.h
+++ b/sql/include/sql_catalog.h
@@ -356,7 +356,8 @@
        tt_view = 1,            /* view */
        tt_generated = 2,       /* generated (functions can be sql or c-code) */
        tt_merge_table = 3,     /* multiple tables form one table */
-       tt_stream = 4           /* stream */
+       tt_stream = 4,          /* stream */
+       tt_array = 5            /* arrays */
 } table_types;
 
 #define isTable(x)     (x->type==tt_table)
@@ -364,6 +365,7 @@
 #define isGenerated(x)  (x->type==tt_generated)
 #define isMergeTable(x) (x->type==tt_merge_table)
 #define isStream(x)    (x->type==tt_stream)
+#define isArray(x)     (x->type==tt_array)
 
 typedef struct sql_table {
        sql_base base;
diff --git a/sql/server/sql_mvc.c b/sql/server/sql_mvc.c
--- a/sql/server/sql_mvc.c
+++ b/sql/server/sql_mvc.c
@@ -95,6 +95,22 @@
                mvc_create_column_(m, t, "number", "int", 32);
                mvc_create_column_(m, t, "storage_type", "int", 32);
 
+               t = mvc_create_view(m, s, "arrays", SQL_PERSIST, "SELECT * FROM 
(SELECT p.*, 0 AS \"temporary\" FROM \"sys\".\"_arrays\" AS p UNION ALL SELECT 
t.*, 1 AS \"temporary\" FROM \"tmp\".\"_arrays\" AS t) AS arrays;", 1);
+               mvc_create_column_(m, t, "table_id", "int", 32);
+               mvc_create_column_(m, t, "ndims", "int", 32);
+               mvc_create_column_(m, t, "fixed", "boolean", 1);
+
+               t = mvc_create_view(m, s, "dimensions", SQL_PERSIST, "SELECT * 
FROM (SELECT p.* FROM \"sys\".\"_dimensions\" AS p UNION ALL SELECT t.* FROM 
\"tmp\".\"_dimensions\" AS t) AS dimensions;", 1);
+               mvc_create_column_(m, t, "column_id", "int", 32);
+               mvc_create_column_(m, t, "dim_nr", "int", 32);
+               mvc_create_column_(m, t, "start", "varchar", 2048);
+               mvc_create_column_(m, t, "step", "varchar", 2048);
+               mvc_create_column_(m, t, "stop", "varchar", 2048);
+               mvc_create_column_(m, t, "curr_start", "varchar", 2048);
+               mvc_create_column_(m, t, "curr_step", "varchar", 2048);
+               mvc_create_column_(m, t, "curr_stop", "varchar", 2048);
+               mvc_create_column_(m, t, "fixed", "boolean", 1);
+
                if (!catalog_version) {
                        sql_create_env(m, s);
                        sql_create_privileges(m, s);
diff --git a/sql/storage/store.c b/sql/storage/store.c
--- a/sql/storage/store.c
+++ b/sql/storage/store.c
@@ -33,8 +33,8 @@
 #include <restrict/restrict_table.h>
 #include <restrict/restrict_logger.h>
 
-/* version 05.11.00 of catalog */
-#define CATALOG_VERSION 51100
+/* version 05.12.00 of catalog */
+#define CATALOG_VERSION 51200
 int catalog_version = 0;
 
 static MT_Lock bs_lock;
@@ -1425,6 +1425,22 @@
                bootstrap_create_column(tr, t, "number", "int", 32);
                bootstrap_create_column(tr, t, "storage", "varchar", 2048);
 
+               t = bootstrap_create_table(tr, s, "_arrays");
+               bootstrap_create_column(tr, t, "table_id", "int", 32);
+               bootstrap_create_column(tr, t, "ndims", "int", 32);
+               bootstrap_create_column(tr, t, "fixed", "boolean", 1);
+
+               t = bootstrap_create_table(tr, s, "_dimensions");
+               bootstrap_create_column(tr, t, "column_id", "int", 32);
+               bootstrap_create_column(tr, t, "start", "varchar", 2048);
+               bootstrap_create_column(tr, t, "step", "varchar", 2048);
+               bootstrap_create_column(tr, t, "stop", "varchar", 2048);
+               /* mbb: minimal bounding box */
+               bootstrap_create_column(tr, t, "mbb_start", "varchar", 2048);
+               bootstrap_create_column(tr, t, "mbb_step", "varchar", 2048);
+               bootstrap_create_column(tr, t, "mbb_stop", "varchar", 2048);
+               bootstrap_create_column(tr, t, "fixed", "boolean", 1);
+
                t = bootstrap_create_table(tr, s, "keys");
                bootstrap_create_column(tr, t, "id", "int", 32);
                bootstrap_create_column(tr, t, "table_id", "int", 32);
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to