Changeset: 895515c4cf65 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=895515c4cf65
Modified Files:
sql/backends/monet5/sql_gencode.mx
sql/server/sql_psm.c
Branch: Mar2011
Log Message:
fixed bug 2786
we need to instantiate functions in the proper schema context.
diffs (33 lines):
diff --git a/sql/backends/monet5/sql_gencode.mx
b/sql/backends/monet5/sql_gencode.mx
--- a/sql/backends/monet5/sql_gencode.mx
+++ b/sql/backends/monet5/sql_gencode.mx
@@ -2350,6 +2350,7 @@
backend_create_func(backend *be, sql_func *f)
{
mvc *m = be->mvc;
+ sql_schema *schema = m->session->schema;
MalBlkPtr curBlk = 0;
InstrPtr curInstr = 0;
Client c = be->client;
@@ -2363,7 +2364,9 @@
return;
f->sql++;
sa = sa_create();
+ m->session->schema = f->s;
s = sql_parse(m, sa, f->query, m_instantiate);
+ m->session->schema = schema;
if (s && !f->sql) /* native function */
return;
diff --git a/sql/server/sql_psm.c b/sql/server/sql_psm.c
--- a/sql/server/sql_psm.c
+++ b/sql/server/sql_psm.c
@@ -616,6 +616,8 @@
sql_func *f = mvc_create_func(sql,
sql->session->schema, fname, l, restype, is_aggr, fmod, fnme, q, is_func);
if (!backend_resolve_function(sql, f))
return sql_error(sql, 01,
"CREATE %s: external name %s.%s not bound", F, fmod, fnme);
+ } else if (!sf) {
+ return sql_error(sql, 01, "CREATE %s:
external name %s.%s not bound (%s,%s)", F, fmod, fnme, s->base.name, fname );
} else {
sql_func *f = sf->func;
f->mod = _strdup(fmod);
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list