Changeset: 63c54046f8c4 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=63c54046f8c4
Modified Files:
        sql/backends/monet5/sql.mx
        sql/test/BugTracker-2013/Tests/Cannot_Find_Column_Type.Bug-3394.sql
Branch: default
Log Message:

handle added types also in declared tables


diffs (43 lines):

diff --git a/sql/backends/monet5/sql.mx b/sql/backends/monet5/sql.mx
--- a/sql/backends/monet5/sql.mx
+++ b/sql/backends/monet5/sql.mx
@@ -3993,12 +3993,13 @@ mvc_declared_table_column_wrap(Client cn
        str msg = getSQLContext(cntxt,mb, &m, NULL);
        sql_schema *s = NULL;
        sql_table *t = NULL;
+       sql_type *type = NULL;
        sql_subtype tpe;
        int *ret  = (int *) getArgReference(stk, pci, 0);
        int *rs = (int *) getArgReference(stk, pci, 1);
        str *tname = (str *) getArgReference(stk, pci, 2);
        str *name = (str *) getArgReference(stk, pci, 3);
-       str *type = (str *) getArgReference(stk, pci, 4);
+       str *typename = (str *) getArgReference(stk, pci, 4);
        int *digits = (int *) getArgReference(stk, pci, 5);
        int *scale = (int *) getArgReference(stk, pci, 6);
 
@@ -4006,8 +4007,11 @@ mvc_declared_table_column_wrap(Client cn
                return msg;
        if (*rs != 0)
                throw(SQL, "sql.dtColumn", "Cannot access declared table");
-       if (!sql_find_subtype(&tpe, *type, *digits, *scale))
+       if (!sql_find_subtype(&tpe, *typename, *digits, *scale) &&
+           (type = mvc_bind_type(m, *typename)) == NULL)
                throw(SQL, "sql.dtColumn", "Cannot find column type");
+       if (type)
+               sql_init_subtype(&tpe, type, 0, 0);
        s = mvc_bind_schema(m, dt_schema);
        if ( s == NULL)
                throw(SQL,"sql.declared_table_column","3F000!Schema missing");
diff --git 
a/sql/test/BugTracker-2013/Tests/Cannot_Find_Column_Type.Bug-3394.sql 
b/sql/test/BugTracker-2013/Tests/Cannot_Find_Column_Type.Bug-3394.sql
--- a/sql/test/BugTracker-2013/Tests/Cannot_Find_Column_Type.Bug-3394.sql
+++ b/sql/test/BugTracker-2013/Tests/Cannot_Find_Column_Type.Bug-3394.sql
@@ -45,3 +45,8 @@ begin
 end;
 
 select tmp4();
+
+drop function tmp4;
+drop function tmp3;
+drop function tmp2;
+drop function tmp1;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to