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