Changeset: 7c23583721e8 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7c23583721e8
Modified Files:
sql/src/backends/monet5/sql_gencode.mx
sql/src/sql/createdb.mx
sql/src/sql/url.sql
Branch: default
Log Message:
fixed monet5_resolve_function. Found some incorrect functions definitions with
it.
diffs (65 lines):
diff -r 4ef6216b1f2f -r 7c23583721e8 sql/src/backends/monet5/sql_gencode.mx
--- a/sql/src/backends/monet5/sql_gencode.mx Sat Dec 18 13:03:26 2010 +0100
+++ b/sql/src/backends/monet5/sql_gencode.mx Sat Dec 18 13:59:49 2010 +0100
@@ -2303,12 +2303,29 @@
int
monet5_resolve_function(ptr M, sql_func *f)
{
- mvc *m = (mvc*)M;
- Client c = MCgetClient(m->clientid);
+ mvc *sql = (mvc*)M;
+ Client c = MCgetClient(sql->clientid);
+ Module m;
- if (!findSymbol(c->nspace, f->mod, f->imp))
- return 0;
- return 1;
+// fails to search outer modules!
+// if (!findSymbol(c->nspace, f->mod, f->imp))
+// return 0;
+
+ for (m = findModule(c->nspace, f->mod); m; m= m->outer)
+ if (strcmp(m->name, f->mod) == 0) {
+ Symbol s = m->subscope[(int)(getSubScope(f->imp))];
+ for(; s; s = s->peer) {
+ InstrPtr sig = getSignature(s);
+ int argc = sig->argc - sig->retc;
+
+ if (strcmp(s->name, f->imp) == 0 &&
+ ((!f->ops && argc == 0) ||
+ list_length(f->ops) == argc)){
+ return 1;
+ }
+ }
+ }
+ return 0;
/*
node *n;
newFcnCall(f->mod, f->imp);
diff -r 4ef6216b1f2f -r 7c23583721e8 sql/src/sql/createdb.mx
--- a/sql/src/sql/createdb.mx Sat Dec 18 13:03:26 2010 +0100
+++ b/sql/src/sql/createdb.mx Sat Dec 18 13:59:49 2010 +0100
@@ -72,8 +72,8 @@
-- The environment table
create function environment()
- returns table (nme string, val string)
- external name sql.environment;
+ returns table ("name" string, value string)
+ external name sql.sql_environment;
-- The BAT buffer pool overview
create function bbp ()
diff -r 4ef6216b1f2f -r 7c23583721e8 sql/src/sql/url.sql
--- a/sql/src/sql/url.sql Sat Dec 18 13:03:26 2010 +0100
+++ b/sql/src/sql/url.sql Sat Dec 18 13:59:49 2010 +0100
@@ -46,7 +46,7 @@
EXTERNAL NAME url."isaURL";
CREATE function newurl(protocol STRING, hostname STRING, "port" INT, file
STRING)
RETURNS url
- EXTERNAL NAME url."newUrl";
+ EXTERNAL NAME url."new";
CREATE function newurl(protocol STRING, hostname STRING, file STRING)
RETURNS url
- EXTERNAL NAME url."newurl";
+ EXTERNAL NAME url."new";
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list