Changeset: 14bfcf63e1cc for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=14bfcf63e1cc
Modified Files:
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql_assert.c
        sql/backends/monet5/sql_bat2time.c
        sql/backends/monet5/sql_cast.c
        sql/backends/monet5/sql_cast_impl_down_from_flt.h
        sql/backends/monet5/sql_cast_impl_up_to_flt.h
        sql/backends/monet5/sql_cat.c
        sql/backends/monet5/sql_execute.c
        sql/backends/monet5/sql_orderidx.c
        sql/backends/monet5/sql_rank.c
        sql/backends/monet5/sql_scenario.c
        sql/backends/monet5/sql_statistics.c
        sql/backends/monet5/sql_transaction.c
        sql/backends/monet5/sql_upgrades.c
        sql/backends/monet5/sql_user.c
        sql/common/sql_string.c
        sql/server/rel_dump.c
        sql/server/rel_psm.c
        sql/server/rel_rel.c
        sql/server/rel_schema.c
        sql/server/rel_select.c
        sql/server/rel_semantic.c
        sql/server/rel_sequence.c
        sql/server/rel_trans.c
        sql/server/rel_updates.c
        sql/server/rel_xml.c
        sql/server/sql_env.c
        sql/server/sql_mvc.c
        sql/server/sql_parser.y
        sql/server/sql_privileges.c
        sql/server/sql_scan.c
        sql/test/BugConstraints/Tests/add_constraint_1643522.stable.err
        sql/test/BugConstraints/Tests/drop_column_1643542.stable.err
        sql/test/BugDay_2005-10-06_2.8/Tests/double_commit.SF-916584.stable.err
        
sql/test/BugDay_2005-10-06_2.9.3/Tests/index_management.SF-927326.stable.err
        
sql/test/BugDay_2005-10-06_2.9.3/Tests/limit_in_create_view.SF-924448.stable.err
        
sql/test/BugDay_2005-10-06_2.9.3/Tests/rollback_and_autocommit.SF-926453.stable.err
        
sql/test/BugDay_2005-10-06_2.9.3/Tests/timestamp_parsing.SF-927300.stable.err
        
sql/test/BugDay_2005-10-06_2.9.3/Tests/view_on_deleted_table.SF-938583.stable.err
        
sql/test/BugDay_2005-11-09_2.8/Tests/crash_with_wrong_nesting.SF-1097883.stable.err
        
sql/test/BugDay_2005-11-09_2.8/Tests/insert_from_no-existing_tables.SF-1037020.stable.err
        
sql/test/BugDay_2005-11-09_2.9.3/Tests/drop_column_alter_table.SF-1114557.stable.err
        
sql/test/BugDay_2005-11-09_2.9.3/Tests/history_table_escape.SF-1072089.stable.err
        
sql/test/BugDay_2005-11-09_2.9.3/Tests/schema_change_grant_crash.SF-963620.stable.err
        
sql/test/BugDay_2005-12-19_2.9.3/Tests/crash_on_incorrect_SQL.SF-1314904.stable.err
        
sql/test/BugDay_2005-12-19_2.9.3/Tests/default_next_value_for_non_ex_seq.SF.1246631.stable.err
        
sql/test/BugTracker-2008/Tests/alter_add_constraint_should_check_existing_data.SF-2075241.stable.err
        
sql/test/BugTracker-2008/Tests/alter_view_not_allowed.SF-2075195.stable.err
        
sql/test/BugTracker-2008/Tests/invalid_qualified_column_name.SF-2183288.stable.err
        sql/test/BugTracker-2009/Tests/ambiguous_view.stable.err
        
sql/test/BugTracker-2009/Tests/create_on_ro_db_crash.SF-2830238.stable.err
        
sql/test/BugTracker-2009/Tests/create_table_dup_name.SF-2879005.stable.err
        sql/test/BugTracker-2009/Tests/drop-sequence-crash.SF-2854195.stable.err
        sql/test/BugTracker-2009/Tests/explain_gives_crash.SF-2741829.stable.err
        sql/test/BugTracker-2009/Tests/incomplete.SF.2536893.stable.err
        
sql/test/BugTracker-2009/Tests/not_invalidtable_crash.SF-2927174.stable.err
        sql/test/BugTracker-2009/Tests/primekeyconstraint.SF-2783425.stable.err
        sql/test/BugTracker-2009/Tests/rollback_mistake.SF-2814622.stable.err
        sql/test/BugTracker-2009/Tests/select_from_history.SF-2556566.stable.err
        
sql/test/BugTracker-2009/Tests/temp_table_fail_leaves_data.SF-2793286.stable.err
        
sql/test/BugTracker-2009/Tests/temporary_table_leftover.SF-2734713.stable.err
        
sql/test/BugTracker-2009/Tests/unique_constraint_on_char.SF-2873564.stable.err
        
sql/test/BugTracker-2010/Tests/crash_default_unlocked.Bug-2744.stable.err
        sql/test/BugTracker-2010/Tests/crash_on_in_2.Bug-2604.stable.err
        sql/test/BugTracker-2010/Tests/crashonschema.Bug-2547.stable.err
        sql/test/BugTracker-2010/Tests/duplicate-key.Bug-2667.stable.err
        sql/test/BugTracker-2010/Tests/prepare_stmt.Bug-2533.Bug-2534.stable.err
        sql/test/BugTracker-2010/Tests/select_from_seq.Bug-2730.stable.err
        
sql/test/BugTracker-2010/Tests/sequence-restart-with-null.Bug-2648.stable.err
        sql/test/BugTracker-2010/Tests/unicode-bom.Bug-2641.stable.err
        
sql/test/BugTracker-2010/Tests/wrong_error_message_dropping_view.Bug-2713.stable.err
        
sql/test/BugTracker-2011/Tests/alter_incorrect_syntax_crash.Bug-2795.stable.err
        
sql/test/BugTracker-2011/Tests/user_create_temp_table.Bug-2916.stable.err
        sql/test/BugTracker-2013/Tests/env_errors.Bug-3370.stable.err
        sql/test/BugTracker-2013/Tests/pivot.Bug-3339.stable.err
        sql/test/BugTracker-2013/Tests/syntaxerror.Bug-3399.stable.err
        
sql/test/BugTracker-2013/Tests/unique_constraint_on_declared_table.Bug-3319.stable.err
        
sql/test/BugTracker-2013/Tests/update_on_declared_table.Bug-3318.stable.err
        sql/test/BugTracker-2014/Tests/current_timestamp.Bug-3427.stable.err
        
sql/test/BugTracker-2014/Tests/hexadecimal_literals.Bug-3621.stable.err.int128
        sql/test/BugTracker-2014/Tests/queueError.Bug-3604.stable.err
        sql/test/BugTracker-2014/Tests/temporary.Bug-3430.stable.err
        sql/test/BugTracker-2014/Tests/too_general_errmsg.Bug-3605.stable.err
        sql/test/BugTracker-2015/Tests/adddrop_unknown_table.Bug-3718.stable.err
        sql/test/BugTracker-2015/Tests/crash.Bug-3736.stable.err
        sql/test/BugTracker-2015/Tests/duplicate-constraint.Bug-3820.stable.err
        sql/test/BugTracker-2015/Tests/limit_too_large_value.Bug-3857.stable.err
        sql/test/BugTracker-2015/Tests/schema_view2.Bug-3766.stable.err
        sql/test/BugTracker-2015/Tests/with-columns-mismatch.Bug-3697.stable.err
        
sql/test/BugTracker-2016/Tests/RELEASE_SAVEPOINT_after_UPDATE_crash.Bug-4010.stable.err
        
sql/test/BugTracker-2016/Tests/catalog_name_qualifier.Bug-3948.stable.err
        sql/test/BugTracker-2016/Tests/column_name_conflict.Bug-3912.stable.err
        
sql/test/BugTracker-2016/Tests/convert-function-test-hge.Bug-3460.stable.err
        
sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.err.int128
        
sql/test/BugTracker-2016/Tests/create_merge_table_withdata.Bug-4041.stable.err
        sql/test/BugTracker-2016/Tests/fk-smaller-pk.Bug-3983.stable.err
        
sql/test/BugTracker-2016/Tests/incorrect_column_name_in_OR_condition_of_LEFT-JOIN_crashes_mserver.Bug-3909.stable.err
        sql/test/BugTracker-2016/Tests/merge-table-edit.Bug-6084.stable.err
        sql/test/BugTracker-2016/Tests/trigger_bulk.Bug-4045.stable.err
        sql/test/BugTracker-2017/Tests/drop_not_null_on_pkey.Bug-6189.stable.err
        sql/test/BugTracker-2017/Tests/lateral02.Bug-6314.stable.err
        sql/test/BugTracker-2017/Tests/oidx-on-strings.Bug-6202.stable.err
        
sql/test/BugTracker-2017/Tests/type-resolution-error.Bugs-6313.stable.err
        sql/test/BugTracker-2017/Tests/with-alias-bug.6246.stable.err
        
sql/test/BugTracker/Tests/alter_col_to_set_same_constraint.SF-1850781.stable.err
        sql/test/BugTracker/Tests/alter_table_set_not_null.SF-1997030.stable.err
        sql/test/BugTracker/Tests/ambiguous_join.SF-1580565.stable.err
        sql/test/BugTracker/Tests/bind_with_cast.SF-1720934.stable.err
        sql/test/BugTracker/Tests/bug_in_selection.SF-1892413.stable.err
        sql/test/BugTracker/Tests/create_column.SF-1643542.stable.err
        
sql/test/BugTracker/Tests/create_same_temp_tab_after_its_drop.SF-1850809.stable.err
        
sql/test/BugTracker/Tests/creation_of_exeception_for_select.SF-1841749.stable.err
        sql/test/BugTracker/Tests/drop_system_tables.SF-1550768.stable.err
        
sql/test/BugTracker/Tests/inserting_invalid_timestamp.SF-1363557.stable.err
        sql/test/BugTracker/Tests/limits_of_decimal.SF-1685357.stable.err.int128
        sql/test/BugTracker/Tests/reset_session_vars.SF-1505987.stable.err
        sql/test/BugTracker/Tests/revoke_role.SF-1691646.stable.err
        sql/test/BugTracker/Tests/set_a_new_user_password.SF-1844050.stable.err
        
sql/test/BugTracker/Tests/table_dependency_inside_union.SF-1884382.stable.err
        sql/test/BugTracker/Tests/temporary_tables.SF-1715669.stable.err
        sql/test/BugTracker/Tests/view_creation_using_func.SF-1714814.stable.err
        sql/test/Dependencies/Tests/Dependencies.stable.err
        sql/test/Dependencies/Tests/Dependencies.stable.out
        sql/test/Dependencies/Tests/Dependencies.stable.out.int128
        sql/test/Tests/50ways.stable.err
        sql/test/Tests/bincopycollist.stable.err
        sql/test/Tests/create_in_schema.stable.err
        sql/test/Tests/function_syntax.stable.err
        sql/test/Tests/ifexists.stable.err
        sql/test/Tests/order_by_complex_exp.stable.err
        sql/test/Tests/procedure_syntax.stable.err
        sql/test/Triggers/Tests/trigger_owner.stable.err
        sql/test/Triggers/Tests/triggers_schema_operations.stable.err
        sql/test/Users/Tests/changePasswordUser.stable.err
        sql/test/Users/Tests/changePasswordUser.stable.out
        sql/test/Users/Tests/changeSchemaUser.stable.err
        sql/test/Users/Tests/grantMonetdb.stable.err
        sql/test/Users/Tests/grantPrivilegesNonDefaultRole.Bug-3365.stable.err
        sql/test/Users/Tests/role2.stable.err
        sql/test/Users/Tests/schema.stable.err
        sql/test/Users/Tests/test_privs2_p2.stable.err
        sql/test/Views/Tests/Views.stable.err
        sql/test/bugs/Tests/alter_add_column-bug.stable.err
        sql/test/bugs/Tests/alter_view.stable.err
        
sql/test/bugs/Tests/autocommit_illegal_statements-bug-sf-953545.stable.err
        sql/test/bugs/Tests/create_insert_select_aggr-bug-00001.stable.err
        sql/test/bugs/Tests/groupby_having-bug-sf-947600.stable.err
        sql/test/bugs/Tests/groupby_having-bug-sf-947600.stable.out
        sql/test/bugs/Tests/savepoint_rollback-bug-sf-953553.stable.err
        
sql/test/bugs/Tests/select_constant_from_where_1=1-bug-sf-1019529.stable.err
        sql/test/copy/Tests/columns.stable.err
        sql/test/copy/Tests/int_parse.stable.err
        sql/test/mapi/Tests/python2_dbapi.stable.out
        sql/test/mapi/Tests/python3_dbapi.stable.out
        sql/test/mergetables/Tests/addtable.stable.err
        sql/test/mergetables/Tests/alter.stable.err
        sql/test/mergetables/Tests/crash0.stable.err
        sql/test/mergetables/Tests/doubletable.stable.err
        sql/test/mergetables/Tests/mergedrop.stable.err
        sql/test/mergetables/Tests/mergedrop1.stable.err
        sql/test/mergetables/Tests/mergedropcrash.stable.err
        sql/test/mergetables/Tests/mergemergeload.stable.err
        sql/test/mergetables/Tests/types.stable.err
        
sql/test/mserver5-sql-readonly/Tests/mserver5-sql-readonly-table.stable.err
        
sql/test/mserver5-sql-readonly/Tests/mserver5-sql-readonly-view.stable.err
        sql/test/orderidx/Tests/oidx_all_types.stable.err
        sql/test/osm/Tests/drop_constraint_bug.stable.err
        sql/test/pg_regress/Tests/arrays.stable.err
        sql/test/pg_regress/Tests/boolean.stable.err
        sql/test/pg_regress/Tests/box.stable.err
        sql/test/pg_regress/Tests/create_aggregate.stable.err
        sql/test/pg_regress/Tests/create_misc.stable.err
        sql/test/pg_regress/Tests/create_view.stable.err
        sql/test/pg_regress/Tests/date.stable.err
        sql/test/pg_regress/Tests/drop.stable.err
        sql/test/pg_regress/Tests/float4.stable.err
        sql/test/pg_regress/Tests/float8.stable.err.int128
        sql/test/pg_regress/Tests/horology.stable.err
        sql/test/pg_regress/Tests/insert.stable.err
        sql/test/pg_regress/Tests/int4.stable.err
        sql/test/pg_regress/Tests/limit.stable.err
        sql/test/pg_regress/Tests/numeric_big.stable.err.int128
        sql/test/pg_regress/Tests/numerology.stable.err
        sql/test/pg_regress/Tests/point.stable.err
        sql/test/pg_regress/Tests/select_into.stable.err
        sql/test/pg_regress/Tests/strings.stable.err.int128
        sql/test/pg_regress/Tests/time.stable.err
        sql/test/pg_regress/Tests/timestamp.stable.err
        sql/test/pg_regress/Tests/timestamptz.stable.err
        sql/test/pg_regress/Tests/timetz.stable.err
        sql/test/snodgrass/Tests/cast_table.stable.err
Branch: malerrors
Log Message:

Another big SQLSTATE update on the SQL layer.


diffs (truncated from 20086 to 300 lines):

diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c
--- a/sql/backends/monet5/rel_bin.c
+++ b/sql/backends/monet5/rel_bin.c
@@ -790,7 +790,7 @@ check_table_types(backend *be, list *typ
        if (s->type != st_table) {
                return sql_error(
                        sql, 03,
-                       "single value and complex type are not equal");
+                       "SQLSTATE 4200 !""single value and complex type are not 
equal");
        }
        tab = s->op1;
        temp = s->flag;
@@ -837,7 +837,7 @@ check_table_types(backend *be, list *typ
                if (list_length(types) != 1) {
                        stmt *res = sql_error(
                                sql, 03,
-                               "single value of type %s and complex type are 
not equal",
+                               "SQLSTATE 4200 !""single value of type %s and 
complex type are not equal",
                                st->type->sqlname
                        );
                        return res;
@@ -922,7 +922,7 @@ check_types(backend *be, sql_subtype *ct
        if ((!st || !st->type) && stmt_set_type_param(sql, ct, s) == 0) {
                return s;
        } else if (!st) {
-               return sql_error(sql, 02, "statement has no type information");
+               return sql_error(sql, 02, "SQLSTATE 42000 !""statement has no 
type information");
        }
 
        /* first try cheap internal (inplace) convertions ! */
@@ -946,7 +946,7 @@ check_types(backend *be, sql_subtype *ct
        if (!s) {
                stmt *res = sql_error(
                        sql, 03,
-                       "types %s(%d,%d) (%s) and %s(%d,%d) (%s) are not equal",
+                       "SQLSTATE 42000 !""types %s(%d,%d) (%s) and %s(%d,%d) 
(%s) are not equal",
                        st->type->sqlname,
                        st->digits,
                        st->scale,
@@ -993,7 +993,7 @@ sql_unop_(backend *be, sql_schema *s, co
        } else if (rs) {
                char *type = tail_type(rs)->type->sqlname;
 
-               return sql_error(sql, 02, "SELECT: no such unary operator 
'%s(%s)'", fname, type);
+               return sql_error(sql, 02, "SQLSTATE 42000 !""SELECT: no such 
unary operator '%s(%s)'", fname, type);
        }
        return NULL;
 }
@@ -1020,7 +1020,7 @@ sql_Nop_(backend *be, const char *fname,
        f = sql_bind_func_(sql->sa, sql->session->schema, fname, tl, F_FUNC);
        if (f)
                return stmt_Nop(be, stmt_list(be, sl), f);
-       return sql_error(sql, 02, "SELECT: no such operator '%s'", fname);
+       return sql_error(sql, 02, "SQLSTATE 42000 !""SELECT: no such operator 
'%s'", fname);
 }
 
 static stmt *
@@ -1042,10 +1042,10 @@ rel_parse_value(backend *be, char *query
        // FIXME unchecked_malloc GDKmalloc can return NULL
        b = (buffer*)GDKmalloc(sizeof(buffer));
        if (b == 0)
-               return sql_error(m, 02, MAL_MALLOC_FAIL);
+               return sql_error(m, 02, "SQLSTATE HY001 !"MAL_MALLOC_FAIL);
        n = GDKmalloc(len + 1 + 1);
        if (n == 0)
-               return sql_error(m, 02, MAL_MALLOC_FAIL);
+               return sql_error(m, 02, "SQLSTATE HY001 !"MAL_MALLOC_FAIL);
        strncpy(n, query, len);
        query = n;
        query[len] = '\n';
@@ -2828,7 +2828,7 @@ sql_parse(backend *be, sql_allocator *sa
        stream *buf;
 
        if (THRhighwater())
-               return sql_error(m, 10, "SELECT: too many nested operators");
+               return sql_error(m, 10, "SQLSTATE 42000 !""SELECT: too many 
nested operators");
 
        o = MNEW(mvc);
        if (!o)
@@ -2842,10 +2842,10 @@ sql_parse(backend *be, sql_allocator *sa
 
        b = (buffer*)GDKmalloc(sizeof(buffer));
        if (b == 0)
-               return sql_error(m, 02, MAL_MALLOC_FAIL);
+               return sql_error(m, 02, "SQLSTATE HY0001 !"MAL_MALLOC_FAIL);
        n = GDKmalloc(len + 1 + 1);
        if (n == 0)
-               return sql_error(m, 02, MAL_MALLOC_FAIL);
+               return sql_error(m, 02, "SQLSTATE HY0001 !"MAL_MALLOC_FAIL);
        strncpy(n, query, len);
        query = n;
        query[len] = '\n';
@@ -3292,7 +3292,7 @@ rel2bin_insert(backend *be, sql_rel *rel
 
 /* before */
        if (!sql_insert_triggers(be, t, updates, 0)) 
-               return sql_error(sql, 02, "INSERT INTO: triggers failed for 
table '%s'", t->base.name);
+               return sql_error(sql, 02, "SQLSTATE 42000 !""INSERT INTO: 
triggers failed for table '%s'", t->base.name);
 
        if (t->idxs.set)
        for (n = t->idxs.set->h; n && m; n = n->next, m = m->next) {
@@ -3326,7 +3326,7 @@ rel2bin_insert(backend *be, sql_rel *rel
                return NULL;
 
        if (!sql_insert_triggers(be, t, updates, 1)) 
-               return sql_error(sql, 02, "INSERT INTO: triggers failed for 
table '%s'", t->base.name);
+               return sql_error(sql, 02, "SQLSTATE 42000 !""INSERT INTO: 
triggers failed for table '%s'", t->base.name);
        if (ddl) {
                list_prepend(l, ddl);
        } else {
@@ -4168,12 +4168,12 @@ sql_update(backend *be, sql_table *t, st
        idx_updates = update_idxs_and_check_keys(be, t, rows, updates, l, NULL);
        if (!idx_updates) {
                assert(0);
-               return sql_error(sql, 02, "UPDATE: failed to update indexes for 
table '%s'", t->base.name);
+               return sql_error(sql, 02, "SQLSTATE 42000 !""UPDATE: failed to 
update indexes for table '%s'", t->base.name);
        }
 
 /* before */
        if (!sql_update_triggers(be, t, rows, updates, 0)) 
-               return sql_error(sql, 02, "UPDATE: triggers failed for table 
'%s'", t->base.name);
+               return sql_error(sql, 02, "SQLSTATE 42000 !""UPDATE: triggers 
failed for table '%s'", t->base.name);
 
 /* apply updates */
        for (i = 0, n = t->columns.set->h; i < nr_cols && n; i++, n = n->next) 
{ 
@@ -4183,11 +4183,11 @@ sql_update(backend *be, sql_table *t, st
                        append(l, stmt_update_col(be, c, rows, updates[i]));
        }
        if (cascade_updates(be, t, rows, updates))
-               return sql_error(sql, 02, "UPDATE: cascade failed for table 
'%s'", t->base.name);
+               return sql_error(sql, 02, "SQLSTATE 42000 !""UPDATE: cascade 
failed for table '%s'", t->base.name);
 
 /* after */
        if (!sql_update_triggers(be, t, rows, updates, 1)) 
-               return sql_error(sql, 02, "UPDATE: triggers failed for table 
'%s'", t->base.name);
+               return sql_error(sql, 02, "SQLSTATE 42000 !""UPDATE: triggers 
failed for table '%s'", t->base.name);
 
 /* cascade ?? */
        return l;
@@ -4270,7 +4270,7 @@ rel2bin_update(backend *be, sql_rel *rel
 
 /* before */
        if (!sql_update_triggers(be, t, tids, updates, 0)) 
-               return sql_error(sql, 02, "UPDATE: triggers failed for table 
'%s'", t->base.name);
+               return sql_error(sql, 02, "SQLSTATE 42000 !""UPDATE: triggers 
failed for table '%s'", t->base.name);
 
 /* apply the update */
        for (m = rel->exps->h; m; m = m->next) {
@@ -4282,11 +4282,11 @@ rel2bin_update(backend *be, sql_rel *rel
        }
 
        if (cascade_updates(be, t, tids, updates))
-               return sql_error(sql, 02, "UPDATE: cascade failed for table 
'%s'", t->base.name);
+               return sql_error(sql, 02, "SQLSTATE 42000 !""UPDATE: cascade 
failed for table '%s'", t->base.name);
 
 /* after */
        if (!sql_update_triggers(be, t, tids, updates, 1)) 
-               return sql_error(sql, 02, "UPDATE: triggers failed for table 
'%s'", t->base.name);
+               return sql_error(sql, 02, "SQLSTATE 42000 !""UPDATE: triggers 
failed for table '%s'", t->base.name);
 
        if (ddl) {
                list_prepend(l, ddl);
@@ -4457,10 +4457,10 @@ sql_delete(backend *be, sql_table *t, st
 
 /* before */
        if (!sql_delete_triggers(be, t, v, 0)) 
-               return sql_error(sql, 02, "DELETE: triggers failed for table 
'%s'", t->base.name);
+               return sql_error(sql, 02, "SQLSTATE 42000 !""DELETE: triggers 
failed for table '%s'", t->base.name);
 
        if (!sql_delete_keys(be, t, v, l)) 
-               return sql_error(sql, 02, "DELETE: failed to delete indexes for 
table '%s'", t->base.name);
+               return sql_error(sql, 02, "SQLSTATE 42000 !""DELETE: failed to 
delete indexes for table '%s'", t->base.name);
 
        if (rows) { 
                sql_subtype to;
@@ -4475,7 +4475,7 @@ sql_delete(backend *be, sql_table *t, st
 
 /* after */
        if (!sql_delete_triggers(be, t, v, 1)) 
-               return sql_error(sql, 02, "DELETE: triggers failed for table 
'%s'", t->base.name);
+               return sql_error(sql, 02, "SQLSTATE 42000 !""DELETE: triggers 
failed for table '%s'", t->base.name);
        if (rows) 
                s = stmt_aggr(be, rows, NULL, NULL, sql_bind_aggr(sql->sa, 
sql->session->schema, "count", NULL), 1, 0);
        return s;
diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c
--- a/sql/backends/monet5/sql.c
+++ b/sql/backends/monet5/sql.c
@@ -292,7 +292,7 @@ create_table_or_view(mvc *sql, char *sna
 
        if (mvc_bind_table(sql, s, t->base.name)) {
                char *cd = (temp == SQL_DECLARED_TABLE) ? "DECLARE" : "CREATE";
-               return sql_message("SQLSTATE 42S0 1""!%s TABLE: name '%s' 
already in use", cd, t->base.name);
+               return sql_message("SQLSTATE 42S01""!%s TABLE: name '%s' 
already in use", cd, t->base.name);
        } else if (temp != SQL_DECLARED_TABLE && (!mvc_schema_privs(sql, s) && 
!(isTempSchema(s) && temp == SQL_LOCAL_TEMP))) {
                return sql_message("SQLSTATE 42000 !""CREATE TABLE: 
insufficient privileges for user '%s' in schema '%s'", stack_get_string(sql, 
"current_user"), s->base.name);
        } else if (temp == SQL_DECLARED_TABLE && !list_empty(t->keys.set)) {
diff --git a/sql/backends/monet5/sql_assert.c b/sql/backends/monet5/sql_assert.c
--- a/sql/backends/monet5/sql_assert.c
+++ b/sql/backends/monet5/sql_assert.c
@@ -37,16 +37,17 @@ SQLassert(Client cntxt, MalBlkPtr mb, Ma
 {
        bit *flg = getArgReference_bit(stk, pci, 1);
        str *msg = getArgReference_str(stk, pci, 2);
+       const char *sqlstate = "SQLSTATE M0M29 !";
+       (void) sqlstate;
        (void) cntxt;
        (void) mb;
        if (*flg) {
-               const char *sqlstate = "SQLSTATE M0M29 !";
                /* mdbDump(mb,stk,pci); */
                if (strlen(*msg) > 6 && (*msg)[5] == '!' && (('0' <= (*msg)[0] 
&& (*msg)[0] <= '9') || ('A' <= (*msg)[0] && (*msg)[0] <= 'Z')) && (('0' <= 
(*msg)[1] && (*msg)[1] <= '9') || ('A' <= (*msg)[1] && (*msg)[1] <= 'Z')) &&
                    (('0' <= (*msg)[2] && (*msg)[2] <= '9') || ('A' <= 
(*msg)[2] && (*msg)[2] <= 'Z')) && (('0' <= (*msg)[3] && (*msg)[3] <= '9') || 
('A' <= (*msg)[3] && (*msg)[3] <= 'Z')) && (('0' <= (*msg)[4] && (*msg)[4] <= 
'9') ||
                                                                                
                                                                                
                                 ('A' <= (*msg)[4] && (*msg)[4] <= 'Z')))
                        sqlstate = "";
-               throw(SQL, "assert", "%s%s", sqlstate, *msg);
+               throw(SQL, "assert", "SQLSTATE M0M29 !""%s", *msg);
        }
        return MAL_SUCCEED;
 }
@@ -56,16 +57,17 @@ SQLassertInt(Client cntxt, MalBlkPtr mb,
 {
        int *flg = getArgReference_int(stk, pci, 1);
        str *msg = getArgReference_str(stk, pci, 2);
+       const char *sqlstate = "SQLSTATE M0M29 !";
+       (void) sqlstate;
        (void) cntxt;
        (void) mb;
        if (*flg) {
-               const char *sqlstate = "SQLSTATE M0M29 !";
                /* mdbDump(mb,stk,pci); */
                if (strlen(*msg) > 6 && (*msg)[5] == '!' && (('0' <= (*msg)[0] 
&& (*msg)[0] <= '9') || ('A' <= (*msg)[0] && (*msg)[0] <= 'Z')) && (('0' <= 
(*msg)[1] && (*msg)[1] <= '9') || ('A' <= (*msg)[1] && (*msg)[1] <= 'Z')) &&
                    (('0' <= (*msg)[2] && (*msg)[2] <= '9') || ('A' <= 
(*msg)[2] && (*msg)[2] <= 'Z')) && (('0' <= (*msg)[3] && (*msg)[3] <= '9') || 
('A' <= (*msg)[3] && (*msg)[3] <= 'Z')) && (('0' <= (*msg)[4] && (*msg)[4] <= 
'9') ||
                                                                                
                                                                                
                                 ('A' <= (*msg)[4] && (*msg)[4] <= 'Z')))
                        sqlstate = "";
-               throw(SQL, "assert", "%s%s", sqlstate, *msg);
+               throw(SQL, "assert", "SQLSTATE M0M29 !""%s", *msg);
        }
        return MAL_SUCCEED;
 }
@@ -75,16 +77,17 @@ SQLassertLng(Client cntxt, MalBlkPtr mb,
 {
        lng *flg = getArgReference_lng(stk, pci, 1);
        str *msg = getArgReference_str(stk, pci, 2);
+       const char *sqlstate = "SQLSTATE M0M29 !";
+       (void) sqlstate;
        (void) cntxt;
        (void) mb;
        if (*flg) {
-               const char *sqlstate = "SQLSTATE M0M29 !";
                /* mdbDump(mb,stk,pci); */
                if (strlen(*msg) > 6 && (*msg)[5] == '!' && (('0' <= (*msg)[0] 
&& (*msg)[0] <= '9') || ('A' <= (*msg)[0] && (*msg)[0] <= 'Z')) && (('0' <= 
(*msg)[1] && (*msg)[1] <= '9') || ('A' <= (*msg)[1] && (*msg)[1] <= 'Z')) &&
                    (('0' <= (*msg)[2] && (*msg)[2] <= '9') || ('A' <= 
(*msg)[2] && (*msg)[2] <= 'Z')) && (('0' <= (*msg)[3] && (*msg)[3] <= '9') || 
('A' <= (*msg)[3] && (*msg)[3] <= 'Z')) && (('0' <= (*msg)[4] && (*msg)[4] <= 
'9') ||
                                                                                
                                                                                
                                 ('A' <= (*msg)[4] && (*msg)[4] <= 'Z')))
                        sqlstate = "";
-               throw(SQL, "assert", "%s%s", sqlstate, *msg);
+               throw(SQL, "assert", "SQLSTATE M0M29 !""%s", *msg);
        }
        return MAL_SUCCEED;
 }
@@ -98,6 +101,7 @@ SQLassertHge(Client cntxt, MalBlkPtr mb,
        (void)mb;
        if (*flg){
                const char *sqlstate = "SQLSTATE M0M29 !";
+               (void) sqlstate;
                /* mdbDump(mb,stk,pci);*/
                if (strlen(*msg) > 6 && (*msg)[5] == '!' &&
                    (('0' <= (*msg)[0] && (*msg)[0] <= '9') ||
@@ -111,7 +115,7 @@ SQLassertHge(Client cntxt, MalBlkPtr mb,
                    (('0' <= (*msg)[4] && (*msg)[4] <= '9') ||
                     ('A' <= (*msg)[4] && (*msg)[4] <= 'Z')))
                        sqlstate = "";
-               throw(SQL, "assert", "%s%s", sqlstate, *msg);
+               throw(SQL, "assert", "SQLSTATE M0M29 !""%s", *msg);
        }
        return MAL_SUCCEED;
 }
diff --git a/sql/backends/monet5/sql_bat2time.c 
b/sql/backends/monet5/sql_bat2time.c
--- a/sql/backends/monet5/sql_bat2time.c
+++ b/sql/backends/monet5/sql_bat2time.c
@@ -38,7 +38,7 @@ batstr_2time_timestamptz(bat *res, const
        dst = COLnew(b->hseqbase, TYPE_timestamp, BATcount(b), TRANSIENT);
        if (dst == NULL) {
                BBPunfix(b->batCacheid);
-               throw(SQL, "sql.timestamp", MAL_MALLOC_FAIL);
+               throw(SQL, "sql.timestamp", "SQLSTATE HY001 !"MAL_MALLOC_FAIL);
        }
        BATloop(b, p, q) {
                char *v = (char *) BUNtail(bi, p);
@@ -55,7 +55,7 @@ batstr_2time_timestamptz(bat *res, const
                if (BUNappend(dst, &u.r, FALSE) != GDK_SUCCEED) {
                        BBPunfix(b->batCacheid);
                        BBPreclaim(dst);
-                       throw(SQL, "sql.timestamp", MAL_MALLOC_FAIL);
+                       throw(SQL, "sql.timestamp", "SQLSTATE HY001 
!"MAL_MALLOC_FAIL);
                }
        }
        BBPkeepref(*res = dst->batCacheid);
@@ -85,7 +85,7 @@ battimestamp_2time_timestamp(bat *res, c
        dst = COLnew(b->hseqbase, TYPE_timestamp, BATcount(b), TRANSIENT);
        if (dst == NULL) {
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to