Changeset: 96d41d1f87f6 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=96d41d1f87f6
Modified Files:
        sql/backends/monet5/sql_scenario.c
        sql/server/sql_mvc.c
        sql/server/sql_qc.h
Branch: Oct2012
Log Message:

use sql cache variable to set maximum query cache size.
Default is now reduced from 20000 to only 100 per client.
(transplanted from 14b654bc168ec19a4a840d822b6606abe9acb91f)


diffs (72 lines):

diff --git a/sql/backends/monet5/sql_scenario.c 
b/sql/backends/monet5/sql_scenario.c
--- a/sql/backends/monet5/sql_scenario.c
+++ b/sql/backends/monet5/sql_scenario.c
@@ -268,7 +268,6 @@ global_variables(mvc *sql, char *user, c
        sql_subtype ctype;
        char *typename;
        lng sec = 0;
-       bit T = TRUE;
        bit F = FALSE;
        ValRecord src;
        str opt;
@@ -276,6 +275,7 @@ global_variables(mvc *sql, char *user, c
        typename = "int";
        sql_find_subtype(&ctype, typename, 0, 0);
        SQLglobal("debug", &sql->debug);
+       SQLglobal("cache", &sql->cache);
 
        typename = "varchar";
        sql_find_subtype(&ctype, typename, 1024, 0);
@@ -294,7 +294,6 @@ global_variables(mvc *sql, char *user, c
 
        typename = "boolean";
        sql_find_subtype(&ctype, typename, 0, 0);
-       SQLglobal("cache", &T);
        SQLglobal("history", &F);
 
        return 0;
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
@@ -186,7 +186,7 @@ mvc_trans(mvc *m)
 
        store_lock();
        schema_changed = sql_trans_begin(m->session);
-       if (m->qc && (schema_changed || m->qc->nr > 20000 || err)){
+       if (m->qc && (schema_changed || m->qc->nr > m->cache || err)){
                if (schema_changed || err) {
                        int seqnr = m->qc->id;
                        if (m->qc)
@@ -427,7 +427,7 @@ mvc_create(int clientid, backend_stack s
        m->emod = mod_none;
        m->reply_size = 100;
        m->debug = debug;
-       m->cache = 1;
+       m->cache = DEFAULT_CACHESIZE;
        m->caching = m->cache;
        m->history = 0;
 
@@ -495,9 +495,9 @@ mvc_reset(mvc *m, bstream *rs, stream *w
        if (m->debug != debug)
                stack_set_number(m, "debug", debug);
        m->debug = debug;
-       if (m->cache != 1)
-               stack_set_number(m, "cache", 1);
-       m->cache = 1;
+       if (m->cache != DEFAULT_CACHESIZE)
+               stack_set_number(m, "cache", DEFAULT_CACHESIZE);
+       m->cache = DEFAULT_CACHESIZE;
        m->caching = m->cache;
        if (m->history != 0)
                stack_set_number(m, "history", 0);
diff --git a/sql/server/sql_qc.h b/sql/server/sql_qc.h
--- a/sql/server/sql_qc.h
+++ b/sql/server/sql_qc.h
@@ -25,6 +25,7 @@
 #include <sql_symbol.h>
 #include <sql_backend.h>
 
+#define DEFAULT_CACHESIZE 100
 typedef struct cq {
        struct cq *next;        /* link them into a queue */
        int type;               /* sql_query_t: Q_PARSE,Q_SCHEMA,.. */
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to