sql/ha_ndbcluster.h:
fixed layout
prohibit using query cache with ndb tables
sql/handler.h:
new caching type
sql/sql_cache.cc:
support of new caching type (caching prohibited)
statements.
mysql-test/r/sp.result:
Added row_count() test for non-insert/update/delete statement.
mysql-test/t/sp.test:
Added row_count() test for non-insert/update/delete statement.
sql/sql_class.h:
thd->row_count_func must be signed for JDBC/ODBC (can be -1).
sql/sql_parse.cc:
Reset thd->row_count_func to -1 for non-insert/update/delete statements.
"mysql_send_long_data() API call is completely broken".
Now we are resetting some members (long_data_supplied/null_value...) of Item_param to its
initial state after each execution of prepared statement. We also manipulating
Item_param::maybe_null/null_value only via Item_param::set_* setters which makes code a bit
more robust.
sql/item.cc:
Now we are assuming that Item_param may be NULL until we know this fact exactly.
Added non-empty implementation of Item_param::reset() method which should be used
for restoring Item_param state after each statment execution. (We need to clear
long_data_supplied flag, we also clear some other Item_param members here since it
makes code simpler.)
sql/item.h:
Now Item_param::reset() method really does something.
sql/sql_prepare.cc:
Now we are calling Item_param::reset() for each parameter after execution for resetting Item_param
to initial state. So we no longer don't need Prepared_statement::long_data_flag. We also
set Item_param::null_value/maybe_null value in Item_param::set_* and reset() methods
instead of doing it explicitly in insert_params_* functions (this by the way lowers
probability that we will forget to update one of such functions).
tests/client_test.c:
Added test for Bug#1664 "mysql_send_long_data() API call is broken".
just for beauty of truth.
sql/mysqld.cc:
correcting sentence (even if option is not really usable,
as it depends on report-user and report-password which are undocumented
(and will stay like this)).
sql/slave.cc:
report password when you must report password.
in hard-coded replication messages, always put small-length info (error codes, explanation of the error) at the beginning,
so that it is not cut by truncation if the query is very long (which happens if the query goes first).
sql/log_event.cc:
in hard-coded replication messages, always put small-length info (error codes, explanation of the error) at the beginning,
so that it is not cut by truncation if the query is very long (which happens if the query goes first).
Fixed security problem that password was temporarly reset when someone changed GRANT for a user. (Bug #3404)
Fixed problem with PROCEDURE analyse() and impossible WHERE (Bug #2238)
Don't auto-repair tables in mysqlcheck if table type doesn't support 'check' command.
Docs/mysqld_error.txt:
Updated error values
client/mysqlcheck.c:
Don't cause auto-repair on 'note' (Tables that doesn't support 'check')
libmysql/libmysql.c:
Fix to handle unsigned data in prepared statements (Bug #3447)
mysql-test/r/analyse.result:
Test of analyze + impossible where (Bug #2238)
mysql-test/r/bdb.result:
Update results
mysql-test/r/ctype_ujis.result:
Update results
mysql-test/r/isam.result:
Update results
mysql-test/r/repair.result:
Update results
mysql-test/t/analyse.test:
Test of analyze + impossible where (Bug #2238)
mysql-test/t/ctype_ujis.test:
Added test for LIKE (Bug #3438)
sql/sql_acl.cc:
Fixed security problem that password was temporarly reset when someone changed GRANT for a user. (Bug #3404)
sql/sql_select.cc:
Fixed problem with PROCEDURE analyse() and impossible WHERE (Bug #2238)
sql/sql_table.cc:
Changed 'error' to 'note' when table doesn't support admin command.
sql/sql_update.cc:
Indentaion cleanup
tests/client_test.c:
Added test for handling unsigned/signed strings with prepared statements
mysql-test/r/sp.result:
New test cases for function ROW_COUNT().
mysql-test/t/sp.test:
New test cases for function ROW_COUNT().
sql/item_func.cc:
New Item_func_row_count.
sql/item_func.h:
New Item_func_row_count.
sql/lex.h:
New symbol for function ROW_COUNT().
sql/sql_class.h:
New slot in THD for storing the row_count after insert, delete and update.
sql/sql_delete.cc:
Set thd->row_count_func when deleting.
sql/sql_insert.cc:
Set thd->row_count_func when inserting.
sql/sql_parse.cc:
Stored procedure CALLs send the row count from the last insert, delete or update.
sql/sql_update.cc:
Set thd->row_count_func when updating.
sql/sql_yacc.yy:
New function ROW_COUNT().
mysql-test/r/union.result:
Results for a test case for bug involving UNION's and
SET SQL_SELECT_LIMIT
mysql-test/t/union.test:
Test case for bug involving UNION's and
SET SQL_SELECT_LIMIT
sql/sql_union.cc:
Patch for a bug involving UNION's and SET SQL_SELECT_LIMIT
Introduced a new free blocks list. Free blocks are now re-used before
new blocks are allocated from the pool. There is a new status variable
which can be queried by "show status like key_blocks_unused".
include/keycache.h:
WL#1700 - Properly count key_blocks_used and key_blocks_current.
free_block_list is the new free blocks list. It is implemented like a stack (LIFO).
blocks_unused holds the number of never used blocks plus the number of blocks in the free list.
Removed the variable global_blocks_used, as it was always the same as blocks_used.
mysql-test/r/key_cache.result:
WL#1700 - Properly count key_blocks_used and key_blocks_current.
Inserted some commands which show how key_blocks_used and key_blocks_unused work.
mysql-test/t/key_cache.test:
WL#1700 - Properly count key_blocks_used and key_blocks_current.
Inserted some commands which show how key_blocks_used and key_blocks_unused work.
mysys/mf_keycache.c:
WL#1700 - Properly count key_blocks_used and key_blocks_current.
Introduced a new free blocks list. The introductory comment says it all (I hope).
Removed the variable global_blocks_used, as it was always the same as blocks_used.
sql/mysqld.cc:
WL#1700 - Properly count key_blocks_used and key_blocks_current.
The blocks_unused count can be queried by "show status like key_blocks_unused".
Removed the variable global_blocks_used, as it was always the same as blocks_used.
Introduced SHOW_KEY_CACHE_CONST_LONG for status variables that
must not be modified (i.e. flushed to zero).
sql/sql_show.cc:
WL#1700 - Properly count key_blocks_used and key_blocks_current.
Introduced SHOW_KEY_CACHE_CONST_LONG for status variables that
must not be modified (i.e. flushed to zero).
sql/sql_test.cc:
WL#1700 - Properly count key_blocks_used and key_blocks_current.
Removed the variable global_blocks_used, as it was always the same as blocks_used.
sql/structs.h:
WL#1700 - Properly count key_blocks_used and key_blocks_current.
Introduced SHOW_KEY_CACHE_CONST_LONG for status variables that
must not be modified (i.e. flushed to zero).
sql/sql_union.cc:
return table list of fake_select in empty state to prevent using TABLE_LIST allocated on stack in next execution of PS
tests/client_test.c:
test of UNIONS with PS
fixed LIMIT 0 for zero rows optimisation
mysql-test/r/subselect.result:
test case for bugreport
mysql-test/t/subselect.test:
test case for bugreport
sql/sql_select.cc:
cleanup sum function on reinit
take in account LIMIT if zero result optimisation case
do not forgot sum function in zero result case for subqueries
mysql-test/r/ps.result:
Added check if multiple SQL statements inside a PS are disabled
mysql-test/t/ps.test:
Added check if multiple SQL statements inside a PS are disabled
sql/ha_ndbcluster.cc:
Added new function set_bounds, used to set bounds in NDB from a key_range
Updated ordered_index_scan to take start_key and end_key as parameters
Override of functions read_range_first and read_range_next, to call appropriate access function in NDB
sql/ha_ndbcluster.h:
Added functions set_bounds, read_range_first and read_range_next
Changed declaration of ordered_index_scan
Added checking of cut read lines in bootstrap thread (Bug #2874)
include/mysql.h:
Added length to MYSQL_ROWS to enable sanity checking of packets
Update 'MYSQL_FIELD->max_length' on mysql_stmt_store_result()
libmysql/libmysql.c:
Update 'MYSQL_FIELD->max_length' on mysql_stmt_store_result() (Bug #1647)
scripts/fill_help_tables.sh:
Added checking of maximum length of line in output (Bug #2874)
scripts/mysql_install_db.sh:
Added error message if help tables couldn't be done (Bug #2874)
sql/sql_parse.cc:
Added checking of cut read lines in bootstrap thread (Bug #2874)
tests/client_test.c:
Added --debug
Changed some strange define names
Less output
Added testing of max_length for prepared statements
Extra ordered indexes are created primarily
to support partial key scan/read and range scans of hash indexes.
I.e. the ordered index are used instead of the hash indexes for
these queries.
sql/ha_ndbcluster.cc:
Add creation and use of extra ordered indexes on pk and unique indexes.
sql/ha_ndbcluster.h:
Added new functions for creating extra ordered indexes
into mysql.com:/home/kostja/mysql/mysql-4.1-u2
include/mysql.h:
Auto merged
libmysql/libmysql.c:
Auto merged
sql/sql_prepare.cc:
Auto merged
tests/client_test.c:
Auto merged
flag is sent to server with placeholder types.
There were no need to extend the protocol as one additional byte
was reserved for placeholder code, when placeholder code is in range 0-255.
So this byte is now used for flags. Post-review fixes added.
include/config-win.h:
added floaststore implementation
include/my_global.h:
added floatstore implementation
include/mysql.h:
Bug#3035:
added 'is_unsigned' member
binary_data wasn't used, removed
null_field wasn't necessary, removed
include/mysql_com.h:
Unused defines were removed.
libmysql/libmysql.c:
Function store_param_type was removed - too much for a function, especially
with bug in it.
New implementation is inline and takes into account signedness of
placeholder.
Fixed store functions to not perform double network-host order conversion
on high-byte-first systems (should also fix Bug#3578 "Prepared statement
integer conversions work wrong in 64-bit Power Mac G5 CPUs").
null_field removed.
sql/sql_prepare.cc:
Placeholder sign is taken into account when reading data from network.
tests/client_test.c:
Test for BUG#3035 added: insert and retrieve minimum and maximum of all
integer types.
sql/ha_ndbcluster.cc:
Added 3 new variables for keeping track of insert batching
sql/ha_ndbcluster.h:
Send more inserts per roundtrip to NDB
Regulate how many inserts are sent by calculating number of bytes in each row.
mysql_stmt_reset() now resets param->long_data_used
Abort if --defaults-file=path-name uses a non-existing file (Bug #3413)
Fixed problem with symlink test (bug in 4.1.2)
libmysql/libmysql.c:
Allow one to send empty strings with mysql_stmt_send_long_data()
mysql_stmt_reset() now resets param->long_data_used
mysys/default.c:
Abort if --defaults-file=path-name uses a non-existing file (Bug #3413)
sql/unireg.cc:
Fixed problem with symlink test: .frm table was not properly deleted if handler create failed