Changeset: 14b654bc168e for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=14b654bc168e Modified Files: sql/backends/monet5/sql_scenario.c sql/server/sql_mvc.c sql/server/sql_qc.h Branch: default Log Message:
use sql cache variable to set maximum query cache size. Default is now reduced from 20000 to only 100 per client. 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 @@ -267,7 +267,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; @@ -275,6 +274,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); @@ -293,7 +293,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 @@ -184,7 +184,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) @@ -425,7 +425,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; @@ -493,9 +493,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