Changeset: 938c7b5a8ba3 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=938c7b5a8ba3
Modified Files:
        sql/include/sql_catalog.h
        sql/storage/bat/bat_storage.c
Branch: Jan2014
Log Message:

Startup speed improvement: don't load all columns to find sortedness.


diffs (40 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
@@ -93,6 +93,7 @@
 #define RDONLY 0
 #define RD_INS 1
 #define RD_UPD 2
+#define QUICK  3
 
 #define FRAME_ROWS  0 
 #define FRAME_RANGE 1
diff --git a/sql/storage/bat/bat_storage.c b/sql/storage/bat/bat_storage.c
--- a/sql/storage/bat/bat_storage.c
+++ b/sql/storage/bat/bat_storage.c
@@ -139,8 +139,10 @@ delta_bind_bat( sql_delta *bat, int acce
 {
        BAT *b;
 
-       assert(access == RDONLY || access == RD_INS);
+       assert(access == RDONLY || access == RD_INS || access == QUICK);
        assert(bat != NULL);
+       if (access == QUICK)
+               return quick_descriptor(bat->bid);
        if (temp || access == RD_INS) {
                assert(bat->ibid);
                b = temp_descriptor(bat->ibid);
@@ -761,10 +763,10 @@ sorted_col(sql_trans *tr, sql_column *co
        }
 
        if (col && col->data) {
-               BAT *b = bind_col(tr, col, RDONLY);
+               BAT *b = bind_col(tr, col, QUICK);
 
-               sorted = BATtordered(b);
-               bat_destroy(b);
+               if (b)
+                       sorted = BATtordered(b);
        }
        return sorted;
 }
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to