with the same names present in multiple schemas
The "TABNAME" option now supports qualified table names,
to connect to tables residing in a particular schema and catalog.
Qualified table names have the following format:
[[CatalogName.]SchemaName.]TableName
Qualified table names can be used:
1. In "normal" tables:
CREATE TABLE t1 ENGINE=CONNECT TABLE_TYPE=ODBC
CONNECTION='DSN=ConnectEng;UID=mtr;PWD=mtr'
TABNAME='schema1.t1';
2. In catalog tables (CATFUNC=Tables and CATFUNC=Columns)
CREATE TABLE t1 ENGINE=CONNECT TABLE_TYPE=ODBC
CONNECTION='DSN=postgresql;UID=user;PWD=password'
TABNAME='schema1.t1';
Note, the % and _ wildcards are supported in
the schema name and the table name parts:
CREATE TABLE t1 ENGINE=CONNECT TABLE_TYPE=ODBC
CONNECTION='DSN=postgresql;UID=user;PWD=password'
TABNAME='%.t1';
CREATE TABLE t1 ENGINE=CONNECT TABLE_TYPE=ODBC
CONNECTION='DSN=postgresql;UID=user;PWD=password'
TABNAME='schema1.%';
modified:
storage/connect/tabutil.cpp
- Fix test results to reflect the fact that in discovery, column defaults
are now retrieved for the MYSQL table type.
modified:
storage/connect/mysql-test/connect/r/mysql_discovery.result
storage/connect/mysql-test/connect/r/mysql_new.result
- Restore Unix line endings
modified:
storage/connect/value.cpp
Applied a patch from Philip Hazel implementing the non-standard
syntax for word boundaries in PCRE, for compatibility with the
old Henry Spencer's regex library.
modified:
storage/connect/ha_connect.cc
storage/connect/value.cpp
- Fix the way GetPlug works (was not updating xp)
modified:
storage/connect/ha_connect.cc
Analysis: In earlier MySQL 5.6 versions this table innodb_index_stats used to have a foreign key referencing to innodb_table_stats. However, in newer MySQL 5.6 versions this foreign key is removed and if you upgrade, your innodb_table_stats is created by the earlier mariadb version, thus a newer version will complain that the table is incorrectly defined.
Added drop foreign key on mysql_system_tables_fix.sql to be executed on mysql_upgrade.
Fixed the following compilation errors and test failures:
- maria SE: "stage_waiting_for_a_resource" wasn't declared w/o PFS
- sql_repl.h: PSI_mutex_key is not available in non-PFS builds
- mysqld.cc: pfs_param is not available in non-PFS builds
- mysqld.cc: init_show_explain_psi_keys() is not available in non-PFS builds
- mysqld.cc: call net_before_header_psi, net_after_header_psi even if PFS
is not available so that thread enters stage_init at proper time. Fixes
sp-threads and a few tests in funcs_1.
- myisam_file_io.opt: added missing loose prefix
restore old innodb get_innobase_type_from_mysql_type() function,
record all mysql_type->innodb_type mapping
(as generated by mysql-5.6).
add safety code to disable online alter when internal types don't match
storage/innobase/dict/dict0stats.cc:
revert to 5.6 state
Apply fix suggested by Igor:
- When eliminate_item_equal() generates pair-wise equalities from a
multi-equality, do generate a "bridge" equality between the first
field inside SJM nest and the field that's first in the overall multi-equality.
and MYSQL CONNECT tables to take care of kewords such as IGNORE.
modified:
storage/connect/myconn.cpp
storage/connect/odbconn.cpp
storage/connect/tabmysql.cpp
storage/connect/tabmysql.h
storage/connect/tabodbc.cpp
storage/connect/tabodbc.h
When setting Item_func_not_all::test_sum_item or Item_func_not_all::test_sub_item,
reset the other one to NULL - they can never be set both. When a PS is reexecuted,
different executions might be optimized differently and a wrong test_su*_item
might stay set from the previous execution.
- MIN/MAX optimizer does a check whether a "field CMP const" comparison uses a constant
that's longer than the field it is compared to. Make this check only for string columns,
also compare character lengths, not byte lengths.