prepared statements in embedded library
include/mysql.h:
Another 'virtual' method
libmysql/client_settings.h:
client implementation declared
libmysql/libmysql.c:
mysql_execute edited to work with embedded implementation
libmysqld/lib_sql.cc:
one error fixed (we do need parameter's buffer in embedded library)
embedded recordset transfer methods implementations added
sql-common/client.c:
method added to the table
sql/client_settings.h:
no prepared statements in mimiclient
sql/mysql_priv.h:
these functions became global
sql/protocol.cc:
the stub added
sql/protocol.h:
had to change Protocol's interface for embedded library
sql/sql_class.h:
i changed this only for embedded case, but i think it's better to do the
same for remote server also
sql/sql_prepare.cc:
parts of code #ifndef-ed
prepared statements in embedded library
include/mysql.h:
stmt_execute 'virtual' method added
include/sql_common.h:
two functions became global
libmysql/client_settings.h:
declaration for cli_stmt_execute
libmysql/libmysql.c:
some functions changed to be usable from embedded library
libmysqld/lib_sql.cc:
code for embedded stmt_execute added
sql-common/client.c:
cli_stmt_execute added to the methods table
sql/client_settings.h:
no need for prepared statements in miniclient
MySQL error codes as well.
(No UNDO HANDLERs yet, and no SIGNAL or RESIGNAL.)
WL#850
Docs/sp-imp-spec.txt:
Spec of CONDITIONs and HANDLERs (and updated some old stuff too).
Docs/sp-implemented.txt:
Updated info about caching, CONDITIONs and HANDLERs.
include/mysqld_error.h:
New error for undeclared CONDITION.
libmysqld/Makefile.am:
New file: sp_rcontext.cc.
mysql-test/r/sp-error.result:
New tests for CONDITIONs and HANDLERs.
mysql-test/r/sp.result:
New tests for CONDITIONs and HANDLERs.
mysql-test/t/sp-error.test:
New tests for CONDITIONs and HANDLERs.
mysql-test/t/sp.test:
New tests for CONDITIONs and HANDLERs.
sql/Makefile.am:
New file: sp_rcontext.cc.
sql/lex.h:
New symbols for CONDITIONs, HANDLERs and CURSORs.
sql/mysqld.cc:
Catch error if we have a handler for it.
sql/protocol.cc:
Catch error if we have a handler for it.
sql/share/czech/errmsg.txt:
New error for undeclared CONDITION.
sql/share/danish/errmsg.txt:
New error for undeclared CONDITION.
sql/share/dutch/errmsg.txt:
New error for undeclared CONDITION.
sql/share/english/errmsg.txt:
New error for undeclared CONDITION.
sql/share/estonian/errmsg.txt:
New error for undeclared CONDITION.
sql/share/french/errmsg.txt:
New error for undeclared CONDITION.
sql/share/german/errmsg.txt:
New error for undeclared CONDITION.
sql/share/greek/errmsg.txt:
New error for undeclared CONDITION.
sql/share/hungarian/errmsg.txt:
New error for undeclared CONDITION.
sql/share/italian/errmsg.txt:
New error for undeclared CONDITION.
sql/share/japanese/errmsg.txt:
New error for undeclared CONDITION.
sql/share/korean/errmsg.txt:
New error for undeclared CONDITION.
sql/share/norwegian-ny/errmsg.txt:
New error for undeclared CONDITION.
sql/share/norwegian/errmsg.txt:
New error for undeclared CONDITION.
sql/share/polish/errmsg.txt:
New error for undeclared CONDITION.
sql/share/portuguese/errmsg.txt:
New error for undeclared CONDITION.
sql/share/romanian/errmsg.txt:
New error for undeclared CONDITION.
sql/share/russian/errmsg.txt:
New error for undeclared CONDITION.
sql/share/serbian/errmsg.txt:
New error for undeclared CONDITION.
sql/share/slovak/errmsg.txt:
New error for undeclared CONDITION.
sql/share/spanish/errmsg.txt:
New error for undeclared CONDITION.
sql/share/swedish/errmsg.txt:
New error for undeclared CONDITION.
sql/share/ukrainian/errmsg.txt:
New error for undeclared CONDITION.
sql/sp_head.cc:
New HANDLER code.
sql/sp_head.h:
New HANDLER code.
sql/sp_pcontext.cc:
New CONDITION and HANDLER code.
sql/sp_pcontext.h:
New CONDITION and HANDLER code.
sql/sp_rcontext.h:
New CONDITION and HANDLER code.
sql/sql_yacc.yy:
New CONDITION and HANDLER code.
Prepared statements in embedded server
Several changes in library code with two goals:
to make mysql_prepare_stmt working in embedded server
to get rid of #define mysql_interface_func mysql->methods->interface_func
in user's interface
include/mysql.h:
modifications of interface
two goals: to implement prepared statements and to get rid
of #define mysql_proc (mysql->smth) in interface
include/sql_common.h:
read_rows function got 'virtual'
libmysql/client_settings.h:
interface of some functions declared in client.c moved here
libmysql/libmysql.c:
several functions changed with declared goals
libmysqld/embedded_priv.h:
libmysqld.c <--> lib_sql.cc interface moved here
libmysqld/lib_sql.cc:
all embedded 'virtual' functions moved here so they can be static
libmysqld/libmysqld.c:
embedded 'virtual' function was moved out of here
sql-common/client.c:
several changes with the declared goal
sql/sql_class.h:
place to store statement data added to THD
sql/sql_prepare.cc:
storing of prepare_statement result for embedded server added
CREATE TABLE t1(a NVARCHAR(10))
This is for compatibility with MSSQL, DB2, Informix and some other DBMSs.
Note, standard SQL doesn't have "NVARCHAR" syntax.
There are only these syntaxes in SQL2003:
NATIONAL VARCHAR
NCHAR VARCHAR
NATIONAL CHARACTER VARYING
NCHAR VARYING
- Tests were added for all the above syntaxes.
sql/lex.h:
New syntax:
CREATE TABLE t1(a NVARCHAR(10))
This is for compatibility with MSSQL, DB2, Informix and some other DBMSs.
Note, standard SQL doesn't have "NVARCHAR" syntax.
There are only these syntaxes in SQL2003:
NATIONAL VARCHAR
NCHAR VARCHAR
NATIONAL CHARACTER VARYING
NCHAR VARYING
sql/sql_yacc.yy:
New syntax:
CREATE TABLE t1(a NVARCHAR(10))
This is for compatibility with MSSQL, DB2, Informix and some other DBMSs.
Note, standard SQL doesn't have "NVARCHAR" syntax.
There are only these syntaxes in SQL2003:
NATIONAL VARCHAR
NCHAR VARCHAR
NATIONAL CHARACTER VARYING
NCHAR VARYING
mysql-test/r/subselect.result:
correct results
mysql-test/r/union.result:
correct results
mysql-test/t/subselect.test:
to be sure that results are correct
sql/sql_parse.cc:
comment + TODO
to SHOW SLAVE STATUS.
mysql-test/r/rpl000015.result:
Fixed test after adding UNTIL conditions to SHOW SLAVE STATUS
mysql-test/r/rpl_empty_master_crash.result:
Fixed test after adding UNTIL conditions to SHOW SLAVE STATUS
mysql-test/r/rpl_error_ignored_table.result:
Fixed test after adding UNTIL conditions to SHOW SLAVE STATUS
mysql-test/r/rpl_flush_log_loop.result:
Fixed test after adding UNTIL conditions to SHOW SLAVE STATUS
mysql-test/r/rpl_loaddata.result:
Fixed test after adding UNTIL conditions to SHOW SLAVE STATUS
mysql-test/r/rpl_log.result:
Fixed test after adding UNTIL conditions to SHOW SLAVE STATUS
mysql-test/r/rpl_log_pos.result:
Fixed test after adding UNTIL conditions to SHOW SLAVE STATUS
mysql-test/r/rpl_max_relay_size.result:
Fixed test after adding UNTIL conditions to SHOW SLAVE STATUS
mysql-test/r/rpl_openssl.result:
Fixed test after adding UNTIL conditions to SHOW SLAVE STATUS
mysql-test/r/rpl_redirect.result:
Fixed test after adding UNTIL conditions to SHOW SLAVE STATUS
mysql-test/r/rpl_replicate_do.result:
Fixed test after adding UNTIL conditions to SHOW SLAVE STATUS
mysql-test/r/rpl_reset_slave.result:
Fixed test after adding UNTIL conditions to SHOW SLAVE STATUS
mysql-test/r/rpl_rotate_logs.result:
Fixed test after adding UNTIL conditions to SHOW SLAVE STATUS
mysql-test/r/rpl_until.result:
Post merge fix
mysql-test/t/rpl_until.test:
Post merge fix
include/mysqld_error.h:
Added error codes for warnings and error messages for START SLAVE UNTIL
mysql-test/r/rpl000015.result:
Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
mysql-test/r/rpl_empty_master_crash.result:
Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
mysql-test/r/rpl_flush_log_loop.result:
Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
mysql-test/r/rpl_log.result:
Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
mysql-test/r/rpl_log_pos.result:
Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
mysql-test/r/rpl_redirect.result:
Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
mysql-test/r/rpl_replicate_do.result:
Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
mysql-test/r/rpl_rotate_logs.result:
Fixed test because 3 new columns to SHOW SLAVE STATUS output were added
sql/lex.h:
Added UNTIL symbol
sql/log.cc:
Invalidating until_log_name comparison result if group_relay_log_name is changed
sql/log_event.cc:
Invalidating until_log_name comparison result if group_master_log_name is changed
sql/repl_failsafe.cc:
Cancel until condition if LOAD MASTER DATA is executed
sql/share/czech/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/danish/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/dutch/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/english/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/estonian/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/french/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/german/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/greek/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/hungarian/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/italian/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/japanese/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/korean/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/norwegian-ny/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/norwegian/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/polish/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/portuguese/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/romanian/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/russian/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/serbian/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/slovak/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/spanish/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/swedish/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/share/ukrainian/errmsg.txt:
Added error and warning message for START SLAVE UNTIL
sql/slave.cc:
Fixed wrong locking order in init_relay_log_pos()
Added until condition fields to SHOW SLAVE STATUS
Added checking if UNTIL condition is reached
(added proper method, added its invocation, reorganized locking
in exec_relay_log_event() and next_event())
sql/slave.h:
Members in RELAY_LOG_INFO for storing UNTIL condition. Also
methods for for invalidation of cached UNTIL condition comparison
results
sql/sql_repl.cc:
Now honoring UNTIL clause then starting slave thread. Proper
errors and warnings.
sql/sql_yacc.yy:
Added support for UNTIL clause in START SLAVE. This involved
extraction of some of master_defs to separate master_file_def
non-terminal.
mysql-test/r/subselect.result:
A warning added to subselect test due to the recent changes.
UNION in sub-select returns the empty set, which is why this warning is
a mistery to me.
mysql-test/r/union.result:
two changes.
First one is due to the proper handling of LIMIT offset, limit in
UNION without all.
Second is a change in behaviour due to the fact that ORDER by in a
UNION without braces is not now applicable to the last SELECT node.
It can not be applied until one bug is fixed (after my vacation).
Should be documented.
include/mysql_com.h:
new UDF arguments interface
sql/item.cc:
added lenghth name foe item (to avoid strlen() call)
sql/item.h:
added lenghth name foe item (to avoid strlen() call)
sql/item_func.cc:
new UDF arguments
sql/sql_parse.cc:
fixed problem with UDF in 5.0
sql/sql_yacc.yy:
new syntax of UDF arguments
sql/udf_example.cc:
new UDF example (stupid function to test parameters)
tests/udf_test.res:
new UDF example (stupid function to test parameters)
tests/udf_test:
new UDF example (stupid function to test parameters)
bad merge fixed
mysql-test/t/isam.test:
bad merge fixed
mysql-test/t/lock_tables_lost_commit.test:
"normal" warning in test suite disabled
mysql-test/t/subselect.test:
"normal" warning in test suite disabled
bug#1269
sql/share/czech/errmsg.txt:
error messages from english/errmsg.txt added to other languages.
bug##1269
sql/share/danish/errmsg.txt:
error messages from english/errmsg.txt added to other languages.
bug##1269
sql/share/dutch/errmsg.txt:
error messages from english/errmsg.txt added to other languages.
bug##1269
sql/share/estonian/errmsg.txt:
error messages from english/errmsg.txt added to other languages.
bug##1269
sql/share/french/errmsg.txt:
error messages from english/errmsg.txt added to other languages.
bug##1269
sql/share/german/errmsg.txt:
error messages from english/errmsg.txt added to other languages.
bug##1269
sql/share/greek/errmsg.txt:
error messages from english/errmsg.txt added to other languages.
bug##1269
sql/share/hungarian/errmsg.txt:
error messages from english/errmsg.txt added to other languages.
bug##1269
sql/share/italian/errmsg.txt:
error messages from english/errmsg.txt added to other languages.
bug##1269
sql/share/japanese/errmsg.txt:
error messages from english/errmsg.txt added to other languages.
bug##1269
sql/share/korean/errmsg.txt:
error messages from english/errmsg.txt added to other languages.
bug##1269
sql/share/norwegian-ny/errmsg.txt:
error messages from english/errmsg.txt added to other languages.
bug##1269
sql/share/norwegian/errmsg.txt:
error messages from english/errmsg.txt added to other languages.
bug##1269
sql/share/polish/errmsg.txt:
error messages from english/errmsg.txt added to other languages.
bug##1269
sql/share/portuguese/errmsg.txt:
error messages from english/errmsg.txt added to other languages.
bug##1269
sql/share/romanian/errmsg.txt:
error messages from english/errmsg.txt added to other languages.
bug##1269
sql/share/russian/errmsg.txt:
error messages from english/errmsg.txt added to other languages.
bug##1269
sql/share/serbian/errmsg.txt:
error messages from english/errmsg.txt added to other languages.
bug##1269
sql/share/slovak/errmsg.txt:
error messages from english/errmsg.txt added to other languages.
bug##1269
sql/share/spanish/errmsg.txt:
error messages from english/errmsg.txt added to other languages.
bug##1269
sql/share/swedish/errmsg.txt:
error messages from english/errmsg.txt added to other languages.
bug##1269
sql/share/ukrainian/errmsg.txt:
error messages from english/errmsg.txt added to other languages.
bug##1269