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
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list