Changeset: 438d8ca5c7cb for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=438d8ca5c7cb
Modified Files:
clients/Tests/exports.stable.out
clients/mapilib/mapi.c
clients/mapilib/mapi.h
clients/odbc/driver/ODBCStmt.h
clients/odbc/driver/SQLExecDirect.c
clients/odbc/driver/SQLExecute.c
clients/odbc/driver/SQLPrepare.c
geom/BugTracker/Tests/X_crash.SF-1971632.stable.err
geom/BugTracker/Tests/copy_into_crash.SF-1975402.stable.err
geom/sql/functions/Tests/ST_GeomFromText.stable.err
geom/sql/functions/Tests/ST_LineFromText.stable.err
geom/sql/functions/Tests/ST_MLineFromText.stable.err
geom/sql/functions/Tests/ST_MPointFromText.stable.err
geom/sql/functions/Tests/ST_MPolygonFromText.stable.err
geom/sql/functions/Tests/ST_MakeBox2D.stable.err
geom/sql/functions/Tests/ST_MakePoint.stable.err
geom/sql/functions/Tests/ST_NumPoints.stable.err
geom/sql/functions/Tests/ST_PointFromText.stable.err
geom/sql/functions/Tests/ST_PolygonFromText.stable.err
geom/sql/functions/Tests/XYZ.stable.err
monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.err
monetdb5/mal/mal_exception.c
monetdb5/mal/mal_exception.h
monetdb5/modules/mal/mal_mapi.c
sql/backends/monet5/Tests/createorreplace.stable.err
sql/backends/monet5/Tests/optimizers.stable.err
sql/backends/monet5/Tests/optimizers.stable.out
sql/backends/monet5/generator/Tests/crash.Bug-3609.stable.err
sql/backends/monet5/generator/Tests/generator01.stable.err
sql/backends/monet5/generator/Tests/generator04.stable.err
sql/backends/monet5/vaults/bam/Tests/bam_lib.stable.err
sql/backends/monet5/vaults/bam/Tests/mergetable.stable.err
sql/backends/monet5/vaults/bam/Tests/verify_load.stable.err
sql/benchmarks/nobench/Tests/nobench.stable.err
sql/test/ADT2006/Tests/sander.stable.err
sql/test/BugConstraints/Tests/add_constraint_1643522.stable.err
sql/test/BugConstraints/Tests/delete_primarykey_1643845.stable.err
sql/test/BugConstraints/Tests/drop_column_1643542.stable.err
sql/test/BugConstraints/Tests/update_primarykey_1643375.stable.err
sql/test/BugDay_2005-10-06_2.8/Tests/double_commit.SF-916584.stable.err
sql/test/BugDay_2005-10-06_2.8/Tests/mixed_type.SF-917372.stable.err
sql/test/BugDay_2005-10-06_2.8/Tests/string_truncate.SF-919542.stable.err
sql/test/BugDay_2005-10-06_2.9.3/Tests/case.SF-929151.stable.err
sql/test/BugDay_2005-10-06_2.9.3/Tests/div_by_zero.SF-987304.stable.err
sql/test/BugDay_2005-10-06_2.9.3/Tests/having.SF-922614.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/inserts_with_defaults.SF-921977.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/parser_crashes_server.SF-921996.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.8/Tests/overflow_checking.SF-1089334.stable.err
sql/test/BugDay_2005-11-09_2.8/Tests/updating_views.SF-1023645.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/grant_public.SF-1114580.stable.err
sql/test/BugDay_2005-11-09_2.9.3/Tests/hang_on_copy_into.SF-1100504.stable.err
sql/test/BugDay_2005-11-09_2.9.3/Tests/having_clause_quirks.SF-947601.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/integer_overflow.SF-1048671.stable.err
sql/test/BugDay_2005-11-09_2.9.3/Tests/interval_on_time_stamp.SF-1080488.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/bogus_prepare.SF-1377079.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/BugDay_2005-12-19_2.9.3/Tests/prepare-where.SF-1238867.1238959.1238965.1240124.stable.err
sql/test/BugDay_2005-12-19_2.9.3/Tests/subselect_cardinality.SF-1240701.1242164.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/copy-format.SF-2468513.stable.err
sql/test/BugTracker-2008/Tests/count_with_order_by_and_limit_crashes.SF-2229936.stable.err
sql/test/BugTracker-2008/Tests/insert-null-byte.SF-2233581.stable.err
sql/test/BugTracker-2008/Tests/insert_into_unique_column.SF-2075180.stable.err
sql/test/BugTracker-2008/Tests/invalid_qualified_column_name.SF-2183288.stable.err
sql/test/BugTracker-2008/Tests/sql_command_kills_db.SF-2233677.stable.err
sql/test/BugTracker-2008/Tests/string_length_not_checked.SF-2075078.stable.err
sql/test/BugTracker-2008/Tests/too_many_nested_operators.SF-2102167.stable.err
sql/test/BugTracker-2008/Tests/varchar.SF-2471371.stable.err
sql/test/BugTracker-2009/Tests/ambiguous_order_by.SF-2827916.stable.err
sql/test/BugTracker-2009/Tests/ambiguous_view.stable.err
sql/test/BugTracker-2009/Tests/assert_in_update.SF-2807336.stable.err
sql/test/BugTracker-2009/Tests/copy_into_error_off_by_one.SF-2833696.stable.err
sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.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/except_error_wrong.SF-2808409.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/insert_into_values_bug.SF-2807609.stable.err
sql/test/BugTracker-2009/Tests/limit_in_subquery.SF-2620437.stable.err
sql/test/BugTracker-2009/Tests/not_invalidtable_crash.SF-2927174.stable.err
sql/test/BugTracker-2009/Tests/overflow.SF-2853458.stable.err
sql/test/BugTracker-2009/Tests/primekeyconstraint.SF-2783425.stable.err
sql/test/BugTracker-2009/Tests/rollback_bug.stable.err
sql/test/BugTracker-2009/Tests/rollback_mistake.SF-2814622.stable.err
sql/test/BugTracker-2009/Tests/segv_for_unknown_identifier_in_subquery.SF-2874045.stable.err
sql/test/BugTracker-2009/Tests/select_X_where_bla_EQ_whatever.SF-282597.stable.err
sql/test/BugTracker-2009/Tests/select_from_history.SF-2556566.stable.err
sql/test/BugTracker-2009/Tests/subquery_returns_table_crash.SF-2513620.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-2009/Tests/wrong_error_message.SF-2637051.stable.err
sql/test/BugTracker-2010/Tests/TypeException_with_missing_function.Bug-2674.stable.err
sql/test/BugTracker-2010/Tests/call_function_without_warning.Bug-2752.stable.err
sql/test/BugTracker-2010/Tests/constants-optimizer.Bug-2317.stable.err
sql/test/BugTracker-2010/Tests/copy-into-too-long-string.Bug-2358.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/error-truncated.Bug-2615.stable.err
sql/test/BugTracker-2010/Tests/incomplete-utf8-sequence.Bug-2575.stable.err
sql/test/BugTracker-2010/Tests/prepare_stmt.Bug-2533.Bug-2534.stable.err
sql/test/BugTracker-2010/Tests/second_function_existing_signature.Bug-2611.stable.err
sql/test/BugTracker-2010/Tests/select_from_seq.Bug-2730.stable.err
sql/test/BugTracker-2010/Tests/select_star.Bug-2563.stable.err
sql/test/BugTracker-2010/Tests/sequence-restart-with-null.Bug-2648.stable.err
sql/test/BugTracker-2010/Tests/subselect.Bug-2537.stable.err
sql/test/BugTracker-2010/Tests/sum_on_date_crash.Bug-2643.stable.err
sql/test/BugTracker-2010/Tests/times-crash.Bug-2586.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/UNIQUE_Constraint_reference.Bug-2835.stable.err
sql/test/BugTracker-2011/Tests/alter-table-set-read-only.bug-2906.stable.err
sql/test/BugTracker-2011/Tests/alter_incorrect_syntax_crash.Bug-2795.stable.err
sql/test/BugTracker-2011/Tests/multicolumn_constraints.Bug-2849.stable.err
sql/test/BugTracker-2011/Tests/user_create_temp_table.Bug-2916.stable.err
sql/test/BugTracker-2012/Tests/create_function.Bug-3172.stable.err
sql/test/BugTracker-2012/Tests/foreign_key.Bug-3114.stable.err
sql/test/BugTracker-2012/Tests/interval_timestamp.Bug-3002.stable.err
sql/test/BugTracker-2012/Tests/large-number-operation-strange-results.Bug-2929.stable.err.int128
sql/test/BugTracker-2012/Tests/name_resolution_in_proc.Bug-3074.stable.err
sql/test/BugTracker-2012/Tests/nested-select-crash.Bug-3009.stable.err
sql/test/BugTracker-2012/Tests/predicate_select.Bug-3090.stable.err
sql/test/BugTracker-2012/Tests/simple_select.Bug-2988.stable.err
sql/test/BugTracker-2012/Tests/table_function_with_column_subselects.Bug-3172.stable.err
sql/test/BugTracker-2012/Tests/table_returning_func_returns_too_many_columns.Bug-3077.stable.err
sql/test/BugTracker-2012/Tests/timestamp_minus_date.Bug-2977.stable.err
sql/test/BugTracker-2013/Tests/aggregates-typing-issues.Bug-3277.stable.err
sql/test/BugTracker-2013/Tests/avg_needs_abort_on_error.Bug-3329.stable.err
sql/test/BugTracker-2013/Tests/binary_copy_into.Bug-3345.stable.err
sql/test/BugTracker-2013/Tests/cannot_use_columns_after_groupby.Bug-3340.stable.err
sql/test/BugTracker-2013/Tests/duplicate_column_name.Bug-3349.stable.err
sql/test/BugTracker-2013/Tests/env_errors.Bug-3370.stable.err
sql/test/BugTracker-2013/Tests/incorrect_subquery_delete.Bug-3315.stable.err
sql/test/BugTracker-2013/Tests/pivot.Bug-3339.stable.err
sql/test/BugTracker-2013/Tests/psm_functions_and_accessrights.Bug-3300.stable.err
sql/test/BugTracker-2013/Tests/syntaxerror.Bug-3399.stable.err
sql/test/BugTracker-2013/Tests/timestamp.Bug-3401.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/duplicate_primary_keys.Bug-3474.stable.err
sql/test/BugTracker-2014/Tests/hexadecimal_literals.Bug-3621.stable.err.int128
sql/test/BugTracker-2014/Tests/in_incorrect_multi.Bug-3462.stable.err
sql/test/BugTracker-2014/Tests/integer-cast.Bug-3424.stable.err
sql/test/BugTracker-2014/Tests/nested_common_table_exp.Bug-3417.stable.err
sql/test/BugTracker-2014/Tests/non_groupby_column.Bug-3524.stable.err
sql/test/BugTracker-2014/Tests/number_4_4.Bug-3543.stable.err
sql/test/BugTracker-2014/Tests/order_by_incorrect_error.Bug-3630.stable.err
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/backslash_predecing_separator.Bug-3775.stable.err
sql/test/BugTracker-2015/Tests/crash.Bug-3736.stable.err
sql/test/BugTracker-2015/Tests/create-temp-table-using-like.Bug-3767.stable.err
sql/test/BugTracker-2015/Tests/duplicate-constraint.Bug-3820.stable.err
sql/test/BugTracker-2015/Tests/float-space-parse.Bug-3691.stable.err
sql/test/BugTracker-2015/Tests/inf-nan-handling.Bug-3696.stable.err
sql/test/BugTracker-2015/Tests/insert_into_merge_table_crash.Bug-3703.stable.err
sql/test/BugTracker-2015/Tests/limit_too_large_value.Bug-3857.stable.err
sql/test/BugTracker-2015/Tests/name_conflict.Bug-3650.stable.err
sql/test/BugTracker-2015/Tests/negative_oid_crash.Bug-3667.stable.err
sql/test/BugTracker-2015/Tests/readonly.Bug-3709.stable.err
sql/test/BugTracker-2015/Tests/schema_view2.Bug-3766.stable.err
sql/test/BugTracker-2015/Tests/ukey_check_unaligned.Bug-3669.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_alias_in_where_clause.Bug-3947.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/foreign_key.Bug-3938.stable.err
sql/test/BugTracker-2016/Tests/groupby_on_column_expression.Bug-3832.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/invalidcolumns.Bug-3968.stable.err
sql/test/BugTracker-2016/Tests/isaUUID_function.Bug-3997.stable.err
sql/test/BugTracker-2016/Tests/merge-table-edit.Bug-6084.stable.err
sql/test/BugTracker-2016/Tests/stream_table_crash.Bug-3952.stable.err
sql/test/BugTracker-2016/Tests/timestamp_with_tz_fromstr.Bug-4019.stable.err
sql/test/BugTracker-2017/Tests/cast_boolean_to_string.Bug-6110.stable.err
sql/test/BugTracker-2017/Tests/crash_in_in_handling.Bug-6260.stable.err
sql/test/BugTracker-2017/Tests/default-insert-update.Bug-6249.stable.err
sql/test/BugTracker-2017/Tests/delete_from_merge_table.Bug-3743.stable.err
sql/test/BugTracker-2017/Tests/drop_not_null_on_pkey.Bug-6189.stable.err
sql/test/BugTracker-2017/Tests/incorrect_error.Bug-6141.stable.err
sql/test/BugTracker-2017/Tests/lateral.Bug-6310.stable.err
sql/test/BugTracker-2017/Tests/lateral02.Bug-6314.stable.err
sql/test/BugTracker-2017/Tests/name-interference.Bug-6348.stable.err
sql/test/BugTracker-2017/Tests/oidx-on-strings.Bug-6202.stable.err
sql/test/BugTracker-2017/Tests/prepare.Bug-6133.stable.err
sql/test/BugTracker-2017/Tests/push_subslice.Bug-6322.stable.err
sql/test/BugTracker-2017/Tests/sqlsmith.Bug-6219.stable.err
sql/test/BugTracker-2017/Tests/too-large-decimals.Bug-6192.stable.err
sql/test/BugTracker-2017/Tests/type-resolution-error.Bugs-6313.stable.err
sql/test/BugTracker-2017/Tests/union_func_crash.Bug-6196.stable.err
sql/test/BugTracker-2017/Tests/unknown_col_in_order_by.Bug-3535.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_add_fkey.SF-1737668.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/auto_increment.SF-1834820.stable.err
sql/test/BugTracker/Tests/between_having_problem.SF-1959391.stable.err
sql/test/BugTracker/Tests/between_with_column.SF-1959410.stable.err
sql/test/BugTracker/Tests/bind_with_cast.SF-1720934.stable.err
sql/test/BugTracker/Tests/broken_join.SF-1373391.stable.err
sql/test/BugTracker/Tests/bug_in_selection.SF-1892413.stable.err
sql/test/BugTracker/Tests/coalesce_equal_coalesce.SF-1907905.stable.err
sql/test/BugTracker/Tests/copy_decimal.SF-1582957.stable.err
sql/test/BugTracker/Tests/copy_overflow_null_bug.SF-1842550.stable.err
sql/test/BugTracker/Tests/crash_on_fkey_update.SF-1703497.stable.err
sql/test/BugTracker/Tests/crash_on_fkey_update2.SF-1703497.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/explain.SF-1739353.stable.out
sql/test/BugTracker/Tests/groupby_orderby_nonselected.SF-1723863.stable.err
sql/test/BugTracker/Tests/insert_date.SF-1838785.stable.err
sql/test/BugTracker/Tests/insert_values.SF-1578838.stable.err
sql/test/BugTracker/Tests/inserting_invalid_timestamp.SF-1363557.stable.err
sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out
sql/test/BugTracker/Tests/limits_of_decimal.SF-1685357.stable.err.int128
sql/test/BugTracker/Tests/multivalue_insert.SF-1509864.stable.err
sql/test/BugTracker/Tests/number_null_first_row.SF-1833286.stable.err
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/set_operation_coersions.SF-1543216.stable.err
sql/test/BugTracker/Tests/string2int_conversion.SF-1356068.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/update_fkey_with_value_not_in_the_pkey.SF-1734143.stable.err
sql/test/BugTracker/Tests/update_pkey_bug.SF-1733712.stable.err
sql/test/BugTracker/Tests/variables.SF-1508160.stable.err
sql/test/BugTracker/Tests/view_creation_using_func.SF-1714814.stable.err
sql/test/Dependencies/Tests/Dependencies.stable.err
sql/test/LSST/Tests/dbQuery036.stable.err
sql/test/Tests/50ways.stable.err
sql/test/Tests/bincopycollist.stable.err
sql/test/Tests/create_in_schema.stable.err
sql/test/Tests/decimal.stable.err
sql/test/Tests/default.stable.err
sql/test/Tests/function_syntax.stable.err
sql/test/Tests/ifexists-views.stable.err
sql/test/Tests/ifexists.stable.err
sql/test/Tests/marcin2.stable.err
sql/test/Tests/marcin3.stable.err
sql/test/Tests/null.stable.err
sql/test/Tests/procedure_syntax.stable.err
sql/test/Tests/session_vars.stable.err
sql/test/Tests/setoptimizer.stable.err
sql/test/Triggers/Tests/trigger_owner.stable.err
sql/test/Triggers/Tests/triggers_schema_operations.stable.err
sql/test/Update_Delete_action/Tests/delete_restrict.stable.err
sql/test/Update_Delete_action/Tests/delete_set_default.stable.err
sql/test/Update_Delete_action/Tests/delete_set_null.stable.err
sql/test/Update_Delete_action/Tests/update_delete_set_null.stable.err
sql/test/Update_Delete_action/Tests/update_delete_set_null_crash.stable.err
sql/test/Update_Delete_action/Tests/update_restrict.stable.err
sql/test/Update_Delete_action/Tests/update_set_default.stable.err
sql/test/Update_Delete_action/Tests/update_set_default_crash.stable.err
sql/test/Update_Delete_action/Tests/update_set_null.stable.err
sql/test/Users/Tests/changePasswordUser.stable.err
sql/test/Users/Tests/changeSchemaUser.stable.err
sql/test/Users/Tests/columnRights.stable.err
sql/test/Users/Tests/copyinto.stable.err
sql/test/Users/Tests/grantMonetdb.stable.err
sql/test/Users/Tests/grantMonetdbToSchemaOwner.Bug-3771.stable.err
sql/test/Users/Tests/grantPrivilegesNonDefaultRole.Bug-3365.stable.err
sql/test/Users/Tests/grantRevokeAndGrantAgain.Bug-3765.stable.err
sql/test/Users/Tests/grantRole.Bug-3772.stable.err
sql/test/Users/Tests/renameUser.stable.err
sql/test/Users/Tests/role.stable.err
sql/test/Users/Tests/schema.stable.err
sql/test/Via-m/Tests/event_s07.stable.err
sql/test/Via-m/Tests/event_s11.stable.err
sql/test/Via-m/Tests/file_s10.stable.err
sql/test/Via-m/Tests/file_s12.stable.err
sql/test/Via-m/Tests/media_s12.stable.err
sql/test/Via-m/Tests/media_s14.stable.err
sql/test/Via-m/Tests/media_s16.stable.err
sql/test/Via-m/Tests/media_s18.stable.err
sql/test/Via-m/Tests/media_s19.stable.err
sql/test/Views/Tests/Views.stable.err
sql/test/bugs/Tests/alter_add_column-bug.stable.err
sql/test/bugs/Tests/alter_table_add_column.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/crash_order_by.stable.err
sql/test/bugs/Tests/create_insert_select_aggr-bug-00001.stable.err
sql/test/bugs/Tests/drop_foreignkey_selfreferencing.stable.err
sql/test/bugs/Tests/filter_error.stable.err
sql/test/bugs/Tests/foreignkey_leftjoin-bug-sf-854312.stable.err
sql/test/bugs/Tests/groupby_having-bug-sf-947600.stable.err
sql/test/bugs/Tests/interval_convert_bugs-sf-1274077-1274085.stable.err
sql/test/bugs/Tests/primary_key-bug-sf-975308.stable.err
sql/test/bugs/Tests/procedure_resolution_bug.stable.err
sql/test/bugs/Tests/profile_bug-SF.1314649.stable.err
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/bugs/Tests/select_from_values.stable.err
sql/test/bugs/Tests/unique-bug-sf-1043512.stable.err
sql/test/copy/Tests/columns.stable.err
sql/test/copy/Tests/int_parse.stable.err
sql/test/copy/Tests/key_copy.stable.err
sql/test/copy/Tests/load_stdin_incorrect_line_nr.stable.err
sql/test/copy/Tests/nonutf8.stable.err
sql/test/copy/Tests/null_as_string_errors.stable.err
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/emptymergequery.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/alter_table.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/char.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/inet.stable.err
sql/test/pg_regress/Tests/insert.stable.err
sql/test/pg_regress/Tests/int2.stable.err
sql/test/pg_regress/Tests/int4.stable.err
sql/test/pg_regress/Tests/int8.stable.err.int128
sql/test/pg_regress/Tests/interval.stable.err.int128
sql/test/pg_regress/Tests/limit.stable.err
sql/test/pg_regress/Tests/numeric.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/oid.stable.err.int128
sql/test/pg_regress/Tests/path.stable.err
sql/test/pg_regress/Tests/point.stable.err
sql/test/pg_regress/Tests/polygon.stable.err
sql/test/pg_regress/Tests/reltime.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/strings_concat.stable.err
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/pg_regress/Tests/varchar.stable.err
sql/test/pg_regress/Tests/without_oid.stable.err
sql/test/snodgrass/Tests/cast_select.stable.err
sql/test/snodgrass/Tests/cast_table.stable.err
sql/test/snodgrass/Tests/interval_select.stable.err
sql/test/ssqq/Tests/insert_query.stable.err
sql/test/ssqq/Tests/insert_queue.stable.err
sql/test/ssqq/Tests/insert_quser.stable.err
tools/merovingian/daemon/multiplex-funnel.c
Branch: default
Log Message:
The MAPI library now deals with the SQLSTATE code.
Use the new function mapi_result_errorcode() to get the code.
The function mapi_explain_result new prints the SQLSTATE if one was
available.
Some MAPI functions now return const char * instead of plain char *.
diffs (truncated from 21730 to 300 lines):
diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -507,7 +507,7 @@ Mapi mapi_connect(const char *host, int
MapiMsg mapi_destroy(Mapi mid);
MapiMsg mapi_disconnect(Mapi mid);
MapiMsg mapi_error(Mapi mid);
-char *mapi_error_str(Mapi mid);
+const char *mapi_error_str(Mapi mid);
MapiMsg mapi_execute(MapiHdl hdl);
MapiMsg mapi_explain(Mapi mid, FILE *fd);
MapiMsg mapi_explain_query(MapiHdl hdl, FILE *fd);
@@ -570,7 +570,8 @@ MapiMsg mapi_read_response(MapiHdl hdl);
MapiMsg mapi_reconnect(Mapi mid);
MapiMsg mapi_release_id(Mapi mid, int id);
char **mapi_resolve(const char *host, int port, const char *pattern);
-char *mapi_result_error(MapiHdl hdl);
+const char *mapi_result_error(MapiHdl hdl);
+const char *mapi_result_errorcode(MapiHdl hdl);
mapi_int64 mapi_rows_affected(MapiHdl hdl);
MapiMsg mapi_seek_row(MapiHdl hdl, mapi_int64 rowne, int whence);
MapiHdl mapi_send(Mapi mid, const char *cmd);
@@ -2129,9 +2130,9 @@ int getDblConstant(MalBlkPtr mb, dbl val
lng getDiskReads(void);
lng getDiskSpace(void);
lng getDiskWrites(void);
-str getExceptionMessage(str);
-str getExceptionPlace(str);
-enum malexception getExceptionType(str);
+str getExceptionMessage(const char *);
+str getExceptionPlace(const char *);
+enum malexception getExceptionType(const char *);
int getFltConstant(MalBlkPtr mb, flt val);
Scenario getFreeScenario(void);
Symbol getFunctionSymbol(Module scope, InstrPtr p);
diff --git a/clients/mapilib/mapi.c b/clients/mapilib/mapi.c
--- a/clients/mapilib/mapi.c
+++ b/clients/mapilib/mapi.c
@@ -890,6 +890,7 @@ struct MapiResultSet {
int fieldcnt;
int maxfields;
char *errorstr; /* error from server */
+ char sqlstate[6]; /* the SQL state code */
struct MapiColumn *fields;
struct MapiRowBuf cache;
int commentonly; /* only comments seen so far */
@@ -1038,7 +1039,7 @@ mapi_error(Mapi mid)
return mid->error;
}
-char *
+const char *
mapi_error_str(Mapi mid)
{
assert(mid);
@@ -1174,17 +1175,6 @@ clean_print(char *msg, const char *prefi
if (strncmp(msg, prefix, len) == 0)
msg += len;
- /* skip SQLSTATE if provided */
- if (strlen(msg) > 6 && msg[5] == '!' &&
- ((msg[0] >= '0' && msg[0] <= '9') || (msg[0] >=
'A' && msg[0] <= 'Z')) &&
- ((msg[1] >= '0' && msg[1] <= '9') || (msg[1] >=
'A' && msg[1] <= 'Z')) &&
- ((msg[2] >= '0' && msg[2] <= '9') || (msg[2] >=
'A' && msg[2] <= 'Z')) &&
- ((msg[3] >= '0' && msg[3] <= '9') || (msg[3] >=
'A' && msg[3] <= 'Z')) &&
- ((msg[4] >= '0' && msg[4] <= '9') || (msg[4] >=
'A' && msg[4] <= 'Z')))
- {
- msg += 6;
- }
-
/* output line */
fputs(msg, fd);
fputc('\n', fd);
@@ -1202,19 +1192,8 @@ indented_print(const char *msg, const ch
const char t = s[len - 1];
while (p && *p) {
- fprintf(fd, "%.*s%c", len - 1, s, t);
- s = " ";
-
- /* skip SQLSTATE if provided */
- if (strlen(p) > 6 && p[5] == '!' &&
- ((p[0] >= '0' && p[0] <= '9') || (p[0] >= 'A'
&& p[0] <= 'Z')) &&
- ((p[1] >= '0' && p[1] <= '9') || (p[1] >= 'A'
&& p[1] <= 'Z')) &&
- ((p[2] >= '0' && p[2] <= '9') || (p[2] >= 'A'
&& p[2] <= 'Z')) &&
- ((p[3] >= '0' && p[3] <= '9') || (p[3] >= 'A'
&& p[3] <= 'Z')) &&
- ((p[4] >= '0' && p[4] <= '9') || (p[4] >= 'A'
&& p[4] <= 'Z')))
- {
- p += 6;
- }
+ fprintf(fd, "%*.*s%c", len - 1, len - 1, s, t);
+ s = "";
q = strchr(p, '\n');
if (q) {
@@ -1312,6 +1291,8 @@ mapi_explain_result(MapiHdl hdl, FILE *f
if (hdl->query)
indented_print(hdl->query, "QUERY = ", fd);
indented_print(hdl->result->errorstr, "ERROR = !", fd);
+ if (mid->languageId == LANG_SQL && hdl->result->sqlstate[0])
+ indented_print(hdl->result->sqlstate, "CODE = ", fd);
} else {
clean_print(hdl->result->errorstr, mid->noexplain, fd);
}
@@ -1456,6 +1437,7 @@ new_result(MapiHdl hdl)
result->tableid = -1;
result->querytype = -1;
result->errorstr = NULL;
+ memset(result->sqlstate, 0, sizeof(result->sqlstate));
result->tuple_count = 0;
result->row_count = 0;
@@ -1595,6 +1577,7 @@ close_result(MapiHdl hdl)
if (result->errorstr)
free(result->errorstr);
result->errorstr = NULL;
+ memset(result->sqlstate, 0, sizeof(result->sqlstate));
result->hdl = NULL;
hdl->result = result->next;
if (hdl->result == NULL)
@@ -1610,17 +1593,42 @@ add_error(struct MapiResultSet *result,
/* concatenate the error messages */
size_t size = result->errorstr ? strlen(result->errorstr) : 0;
+ if (strlen(error) > 6 && error[5] == '!' &&
+ ((error[0] >= '0' && error[0] <= '9') ||
+ (error[0] >= 'A' && error[0] <= 'Z')) &&
+ ((error[1] >= '0' && error[1] <= '9') ||
+ (error[1] >= 'A' && error[1] <= 'Z')) &&
+ ((error[2] >= '0' && error[2] <= '9') ||
+ (error[2] >= 'A' && error[2] <= 'Z')) &&
+ ((error[3] >= '0' && error[3] <= '9') ||
+ (error[3] >= 'A' && error[3] <= 'Z')) &&
+ ((error[4] >= '0' && error[4] <= '9') ||
+ (error[4] >= 'A' && error[4] <= 'Z'))) {
+ if (result->errorstr == NULL) {
+ /* remeber SQLSTATE for first error */
+ strncpy(result->sqlstate, error, 5);
+ result->sqlstate[5] = 0;
+ }
+ /* skip SQLSTATE */
+ error += 6;
+ }
REALLOC(result->errorstr, size + strlen(error) + 2);
strcpy(result->errorstr + size, error);
strcat(result->errorstr + size, "\n");
}
-char *
+const char *
mapi_result_error(MapiHdl hdl)
{
return hdl && hdl->result ? hdl->result->errorstr : NULL;
}
+const char *
+mapi_result_errorcode(MapiHdl hdl)
+{
+ return hdl && hdl->result && hdl->result->sqlstate[0] ?
hdl->result->sqlstate : NULL;
+}
+
/* Go to the next result set, if any, and close the current result
set. This function returns 1 if there are more result sets after
the one that was closed, otherwise, if more input is needed, return
diff --git a/clients/mapilib/mapi.h b/clients/mapilib/mapi.h
--- a/clients/mapilib/mapi.h
+++ b/clients/mapilib/mapi.h
@@ -141,7 +141,7 @@ mapi_export MapiMsg mapi_reconnect(Mapi
mapi_export MapiMsg mapi_ping(Mapi mid);
mapi_export MapiMsg mapi_error(Mapi mid);
-mapi_export char *mapi_error_str(Mapi mid);
+mapi_export const char *mapi_error_str(Mapi mid);
mapi_export void mapi_noexplain(Mapi mid, char *errorprefix);
mapi_export MapiMsg mapi_explain(Mapi mid, FILE *fd);
mapi_export MapiMsg mapi_explain_query(MapiHdl hdl, FILE *fd);
@@ -157,7 +157,8 @@ mapi_export MapiMsg mapi_log(Mapi mid, c
mapi_export MapiMsg mapi_setAutocommit(Mapi mid, int autocommit);
mapi_export MapiMsg mapi_set_size_header(Mapi mid, int value);
mapi_export MapiMsg mapi_release_id(Mapi mid, int id);
-mapi_export char *mapi_result_error(MapiHdl hdl);
+mapi_export const char *mapi_result_error(MapiHdl hdl);
+mapi_export const char *mapi_result_errorcode(MapiHdl hdl);
mapi_export MapiMsg mapi_next_result(MapiHdl hdl);
mapi_export MapiMsg mapi_needmore(MapiHdl hdl);
mapi_export int mapi_more_results(MapiHdl hdl);
diff --git a/clients/odbc/driver/ODBCStmt.h b/clients/odbc/driver/ODBCStmt.h
--- a/clients/odbc/driver/ODBCStmt.h
+++ b/clients/odbc/driver/ODBCStmt.h
@@ -210,6 +210,5 @@ SQLRETURN MNDBPrepare(ODBCStmt *stmt, SQ
SQLINTEGER nSqlStrLength);
SQLRETURN MNDBSetStmtAttr(ODBCStmt *stmt, SQLINTEGER Attribute,
SQLPOINTER Value, SQLINTEGER StringLength);
-const char *ODBCErrorType(const char *msg, const char **emsg);
#endif
diff --git a/clients/odbc/driver/SQLExecDirect.c
b/clients/odbc/driver/SQLExecDirect.c
--- a/clients/odbc/driver/SQLExecDirect.c
+++ b/clients/odbc/driver/SQLExecDirect.c
@@ -29,47 +29,11 @@
#include "ODBCStmt.h"
#include "ODBCUtil.h"
-static struct errors {
- const char *error;
- const char *msg;
-} errors[] = {
- {"syntax error", "42000"},
- {NULL, NULL}, /* sentinel */
-};
-
-const char *
-ODBCErrorType(const char *msg, const char **emsg)
-{
- struct errors *e;
-
- if (strlen(msg) > 6 && msg[5] == '!' &&
- ((msg[0] >= '0' && msg[0] <= '9') ||
- (msg[0] >= 'A' && msg[0] <= 'Z')) &&
- ((msg[1] >= '0' && msg[1] <= '9') ||
- (msg[1] >= 'A' && msg[1] <= 'Z')) &&
- ((msg[2] >= '0' && msg[2] <= '9') ||
- (msg[2] >= 'A' && msg[2] <= 'Z')) &&
- ((msg[3] >= '0' && msg[3] <= '9') ||
- (msg[3] >= 'A' && msg[3] <= 'Z')) &&
- ((msg[4] >= '0' && msg[4] <= '9') ||
- (msg[4] >= 'A' && msg[4] <= 'Z'))) {
- *emsg = msg + 6;
- while (**emsg == ' ')
- (*emsg)++;
- return msg;
- }
-
- *emsg = msg;
- for (e = errors; e->error != NULL; e++)
- if (strncmp(msg, e->error, strlen(e->error)) == 0)
- return e->msg;
- return NULL;
-}
-
static SQLRETURN
ODBCExecDirect(ODBCStmt *stmt, SQLCHAR *StatementText, SQLINTEGER TextLength)
{
char *query;
+ const char *err;
MapiMsg ret;
MapiHdl hdl;
@@ -118,21 +82,19 @@ ODBCExecDirect(ODBCStmt *stmt, SQLCHAR *
addStmtError(stmt, stmt->Dbc->sql_attr_connection_timeout ?
"HYT00" : "08S01", mapi_error_str(stmt->Dbc->mid), 0);
return SQL_ERROR;
default:
- /* reuse variable for error string */
- query = mapi_result_error(hdl);
- if (query == NULL)
- query = mapi_error_str(stmt->Dbc->mid);
- if (query != NULL) {
- const char *m;
- const char *e = ODBCErrorType(query, &m);
+ err = mapi_result_error(hdl);
+ if (err == NULL)
+ err = mapi_error_str(stmt->Dbc->mid);
+ if (err != NULL) {
+ const char *e = mapi_result_errorcode(hdl);
if (e) {
- addStmtError(stmt, e, m, 0);
+ addStmtError(stmt, e, err, 0);
return SQL_ERROR;
}
}
/* General error */
- addStmtError(stmt, "HY000", query, 0);
+ addStmtError(stmt, "HY000", err, 0);
return SQL_ERROR;
}
diff --git a/clients/odbc/driver/SQLExecute.c b/clients/odbc/driver/SQLExecute.c
--- a/clients/odbc/driver/SQLExecute.c
+++ b/clients/odbc/driver/SQLExecute.c
@@ -102,7 +102,7 @@ ODBCInitResult(ODBCStmt *stmt)
int nrCols;
ODBCDescRec *rec;
MapiHdl hdl;
- char *errstr;
+ const char *errstr;
hdl = stmt->hdl;
@@ -116,10 +116,10 @@ ODBCInitResult(ODBCStmt *stmt)
repeat:
errstr = mapi_result_error(hdl);
if (errstr) {
- const char *emsg, *sqlstate;
+ const char *sqlstate;
- if ((sqlstate = ODBCErrorType(errstr, &emsg)) != NULL)
- addStmtError(stmt, sqlstate, emsg, 0);
+ if ((sqlstate = mapi_result_errorcode(hdl)) != NULL)
+ addStmtError(stmt, sqlstate, errstr, 0);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list