#977 Prepared statements in embedded library
include/mysql.h:
read_prepare_result function moved to 'virtual'
libmysql/client_settings.h:
declare proper function for libmysql
libmysql/libmysql.c:
some code moved from implementation of read_prepare_result to
mysql_prepare_result to make creating separate (remote and embedded-server)
versions easier
libmysqld/libmysqld.c:
emb_read_prepare_result prototype
sql-common/client.c:
cli_read_prepare_result added to the client_methods
sql/client_settings.h:
we don't need prepared statements in mini_client
sql/sql_prepare.cc:
embedded send_prep_stmt added
Optimize calls to current_thd
mysql-test/r/mix_innodb_myisam_binlog.result:
updated results
mysql-test/t/mix_innodb_myisam_binlog.test:
Fix for 4.1
sql/ha_innodb.cc:
Don't call current_thd in an assert that is not deleted in release version
(Because current_thd is slow)
Remove sel000xxxx tests
After merge fixes
BitKeeper/deleted/.del-sel000033.test~3971fbe746eec069:
Delete: mysql-test/t/sel000033.test
BitKeeper/deleted/.del-sel000033.result~56d1d02d72b94602:
Delete: mysql-test/r/sel000033.result
BitKeeper/deleted/.del-sel000100.result~84ed46856cb3a69f:
Delete: mysql-test/r/sel000100.result
BitKeeper/deleted/.del-sel000100.test~548501cad19a1a59:
Delete: mysql-test/t/sel000100.test
mysql-test/r/distinct.result:
Merge test with sel000100
mysql-test/r/grant.result:
Update result after merge
mysql-test/r/range.result:
After merge fix
Merge test with sel000033
mysql-test/t/distinct.test:
Merge test with sel000100
mysql-test/t/range.test:
Merge test with sel000033
sql/log_event.cc:
Remove duplicate allocation
sql/sql_select.cc:
After merge fixes
strings/ctype-tis620.c:
Remove usage of strnlen
Optimize code and make it \0 safe
client/mysqltest.c:
Auto merged
include/mysql.h:
Auto merged
libmysql/errmsg.c:
Auto merged
libmysql/libmysql.c:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
sql/field.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/share/portuguese/errmsg.txt:
Auto merged
sql/share/spanish/errmsg.txt:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
tests/client_test.c:
Auto merged
BitKeeper/etc/logging_ok:
auto-union
BitKeeper/deleted/.del-mysql_fix_privilege_tables.sql:
Delete: scripts/mysql_fix_privilege_tables.sql
include/mysql.h:
Auto merged
myisam/mi_open.c:
Auto merged
myisam/mi_update.c:
Auto merged
myisam/myisampack.c:
Auto merged
mysql-test/r/bdb.result:
Auto merged
mysql-test/r/grant.result:
Auto merged
mysql-test/t/bdb.test:
Auto merged
mysql-test/t/grant.test:
Auto merged
mysql-test/t/range.test:
Auto merged
scripts/make_win_src_distribution.sh:
Auto merged
sql/ha_berkeley.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/opt_range.cc:
Auto merged
support-files/mysql.spec.sh:
Auto merged
Note that mix_innodb_myisam_binlog and union fails after this patch (Will be fixed shortly by maintaners of this code)
client/mysql.cc:
After merge fix
include/mysql.h:
Some additions to MYSQL_BIND for cleaner prepared statement code
libmysql/libmysql.c:
mysql_prepare_result -> mysql_get_metadata()
Added test for offset overflow when using mysql_fetch_column()
Cleaned up mysql_fetch_column()
Optimized fetch_result() usage
mysql-test/r/func_group.result:
Updated results after merge
mysql-test/r/func_test.result:
Updated results after merge
mysql-test/r/grant.result:
Updated results after merge
mysql-test/r/loaddata.result:
Updated results after merge
mysql-test/r/lowercase_table.result:
Updated results after merge
mysql-test/r/mix_innodb_myisam_binlog.result:
Updated results after merge (note that this is still not correct; Need patch to mysqld to fix this properly)
mysql-test/r/myisam.result:
Updated results after merge
mysql-test/r/range.result:
Updated results after merge
mysql-test/r/rpl_loaddata.result:
Updated results after merge
mysql-test/r/rpl_loaddata_rule_m.result:
Updated results after merge
mysql-test/r/rpl_loaddata_rule_s.result:
Updated results after merge
mysql-test/r/rpl_log.result:
Updated results after merge
mysql-test/r/union.result:
Updated results after merge
mysql-test/t/lowercase_table.test:
Update after merge
mysql-test/t/myisam.test:
Update after merge
mysql-test/t/union.test:
Update after merge
sql-bench/compare-results.sh:
Fix for now output format
sql/field.h:
Added is_null_in_record() to make ha_innodb.cc code more general
sql/ha_innodb.cc:
Removed some functions that uses inernal (private) MySQL information
sql/item_cmpfunc.cc:
After merge fix
sql/log_event.cc:
After merge fix; (Some code should be checked by Guilhem)
sql/opt_range.cc:
Simple optimzation and after merge fixes
sql/slave.cc:
After merge fix
sql/sql_acl.cc:
After merge fix + code cleanup
sql/sql_select.cc:
After merge fix
sql/sql_show.cc:
After merge fix
sql/sql_table.cc:
After merge fix
Cleanup of mysql_checksum_table()
sql/sql_union.cc:
After merge fixes.
Note that after this the union test still fails; Will be fixed shortly...
tests/client_test.c:
mysql_prepare_result() -> mysql_get_metadata()
embedded&client library
some fixes: zero at the end of the data added
mysql_list_fields became 'virtual'
include/mysql.h:
mysql_list_fields became 'virtual'
libmysql/client_settings.h:
in client library we need proper implementation for list_fields
libmysql/libmysql.c:
implementation for remote server
libmysqld/lib_sql.cc:
we still need zero at the end of the data in client (see mysql.cc).
I feel it should be changed
libmysqld/libmysqld.c:
implementation for embedded server
sql-common/client.c:
cli_list_fields member set for client library
sql/client_settings.h:
we don't need mysql_list_fields in mini_client code
use the local machine's IP address instead of the host name when
building the initial grant tables if "skip-name-resolve" has been
specified in my.cnf. This can be helpful on FreeBSD to avoid
thread-safety problems with the FreeBSD resolver libraries.
(Thanks to Jeremy Zawodny for the patch)
scripts/mysql_install_db.sh:
- Added option "--skip-name-resolve" to use the local machine's IP address
instead of the host name when building the initial grant tables if
"skip-name-resolve" has been specified in my.cnf (Thanks to Jeremy
Zawodny for the patch)
mysql_fetch_length fixed for embedded library. Now data length is stored
before the data. Pointers in row still points to the data so you have to
get *(uint*)(data_ptr - sizeof(uint)) to get data length
libmysqld/lib_sql.cc:
bug fixed - user didn't get error description
Protocol::net_store_data changed to store data length before the data
libmysqld/libmysqld.c:
emb_fetch_length changed to retrive data length stored before the data
Fix bug in SHOW GRANTS when there is a column privilege but no table privilege
include/mysql.h:
Make server_inited external
libmysqld/libmysqld.c:
Remove reference to (wrong) external variable
mysql-test/r/grant.result:
Fixed up grant test to not user 'user1' or 'user2'
Check for bug in SHOW GRANTS when there is a column privilege but no table privilege
mysql-test/r/mix_innodb_myisam_binlog.result:
Change to use tables t1 and t2
mysql-test/t/grant.test:
Fixed up grant test to not user 'user1' or 'user2'
Check for bug in SHOW GRANTS when there is a column privilege but no table privilege
mysql-test/t/mix_innodb_myisam_binlog.test:
Change to use tables t1 and t2
sql/sql_acl.cc:
Fix bug in SHOW GRANTS when there is a column privilege but no table privilege
sql/sql_parse.cc:
Use HAVE_REPLICATION instead of EMBEDDED_LIBRARY
into sanja.is.com.ua:/home/bell/mysql/bk/work-optimized_prepared-4.1
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/sql_lex.h:
Auto merged
fixed IN optimisation bug
mysql-test/r/subselect.result:
test of IN optimisation bug
mysql-test/t/subselect.test:
test of IN optimisation bug
sql/item_subselect.cc:
fixed IN optimisation bug
sql/mysql_priv.h:
constant for additional IN subquery condition detecting
sql/mysqld.cc:
constant for additional IN subquery condition detecting
sql/sql_select.cc:
removing additional IN subquery condition