Now we use virtual calls instead and redirect VMT pointer of the
geometry object with 'new' operation
sql/field.cc:
Usage of the Geometry class changed
sql/item_geofunc.cc:
Usage of the Geometry class changed
sql/spatial.cc:
Now we rewrite the real VMT of the object with new operation
sql/spatial.h:
No need for the VMT-like structure and pointers to it
sql/sql_yacc.yy:
enum items was renamed accordingly to coding standards
mysql-test/r/func_math.result:
Updated tests after merge with 3.23
mysql-test/r/multi_update.result:
Fixed not portable test
mysql-test/r/mysqlbinlog.result:
Fixed test after push without doing 'make test'
mysql-test/t/multi_update.test:
Fixed not portable test
sql/sql_parse.cc:
Don't use static inline, as this is not portable
BitKeeper/etc/logging_ok:
auto-union
myisam/mi_check.c:
Auto merged
mysql-test/r/func_math.result:
Auto merged
mysql-test/t/func_math.test:
Auto merged
sql/item_func.cc:
Auto merged
Abort if we can't allocate memory for table cache
Fix bug with multi-update-tables and BDB tables.
extra/replace.c:
Fix comments
mysql-test/install_test_db.sh:
Change internal option from -bin to --bin
Ensure that script works with both 'make install' and 'make_binary_distribution' layouts (Bug #3031)
mysql-test/mysql-test-run.sh:
Change internal option from -bin to --bin
sql/ha_berkeley.cc:
More debug
sql/mysql_priv.h:
Change table_cache_init to return error
sql/mysqld.cc:
Abort if we can't allocate memory for table cache. (Bug #3085)
Enable warnings by default
sql/sql_base.cc:
Change table_cache_init to return error
sql/sql_update.cc:
Fix bug with multi-update-tables and BDB tables. Bug #3098
Problem was that we didn't initialize BDB for calls to rnd_pos()
Test case for a #2996 bug fix
multi_update.test:
test case for a #2996 bug fix
sql_select.cc:
Fix for a bug #2996 involving multi-table updates over the const tables
sql/sql_select.cc:
Fix for a bug #2996 involving multi-table updates over the const tables
mysql-test/t/multi_update.test:
test case for a #2996 bug fix
mysql-test/r/multi_update.result:
Test case for a #2996 bug fix
We introduce a new function mysql_test_parse_for_slave().
If the slave sees that the query got a really bad error on master
(killed e.g.), then it calls this function to know if this query
can be ignored because of replicate-*-table rules (do not worry
about replicate-*-db rules: they are checked so early that they have
no bug). If the answer is yes, it skips the query and continues. If
it's no, then it stops and say "fix your slave data manually" (like it
did before this change).
mysql-test/r/rpl_error_ignored_table.result:
result update
mysql-test/t/rpl_error_ignored_table-slave.opt:
ignore more tables
mysql-test/t/rpl_error_ignored_table.test:
we test if a killed query on the master, is ignored on the slave
if the tables it involves should be excluded because of replicate-*-table
rules.
sql/log_event.cc:
If the query got a really bad error on the master (thread killed etc),
parse it to test the table names: if the replicate-*-do|ignore-table
rules say "this query must be ignored" then we exit gracefully;
otherwise we warn about the bad error and tell DBA to check/fix it.
Before this change, we always warned and stopped.
sql/mysql_priv.h:
new function
sql/slave.cc:
don't print error immediately as we need to do one more test to
be sure.
sql/sql_parse.cc:
we add a function mysql_test_parse_for_slave(), to be used only
by the slave if it wants to know if the query should be ignored or not;
so this function only parses the query, does not execute it.
Phase 2: Make SPs belong to a DB, and use qualified names.
As a side effect, using USE in an SP is no longer allowed.
(It just doesn't work otherwise.)
include/mysqld_error.h:
New error code (USE is no longer allowed in a stored procedure).
include/sql_state.h:
New error state (USE is no longer allowed in a stored procedure).
mysql-test/r/sp-error.result:
Updated result for test of USE in SP (not allowed now).
mysql-test/r/sp-security.result:
Updated test results for new db column and qualified procedured names.
mysql-test/r/sp.result:
Updated results for USE in SP (as it's no longer allowed), and
for new db column in status result.
mysql-test/t/sp-error.test:
Moved test of USE in SP from sp.test (as it's no longer allowed).
mysql-test/t/sp-security.test:
Ajusted tests for new db column and qualified procedured names.
mysql-test/t/sp.test:
Moved test of USE in SP to sp-error.test (as it's no longer allowed).
Adjusted tests for new db column in status result.
sql/mysql_priv.h:
mysql_change_db() now has optional arguments for use by SP with qualified names.
sql/share/czech/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/danish/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/dutch/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/english/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/estonian/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/french/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/german/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/greek/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/hungarian/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/italian/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/japanese/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/korean/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/norwegian-ny/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/norwegian/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/polish/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/portuguese/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/romanian/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/russian/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/serbian/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/slovak/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/spanish/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/swedish/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/share/ukrainian/errmsg.txt:
New error message: USE is not allowed in a stored procedure.
sql/sp.cc:
SPs are now "belong" to a DB and may have qualified names.
New functions for changing DB ("use") when parsing and invoking SPs.
sql/sp.h:
New functions for changing DB ("use") when parsing and invoking SPs.
sql/sp_cache.cc:
Use the qualified name in the SP cache.
sql/sp_head.cc:
New function for allocating a qualified SP name (used in sql_yacc.yy).
Change DB when executing an SP (if needed).
Moved thd_mem_root swap functions from sp_head.h.
sql/sp_head.h:
New function for allocating a qualified SP name (used in sql_yacc.yy).
Moved thd_mem_root swap functions to sp_head.cc.
sql/sql_db.cc:
mysql_change_db() now has optional arguments for use by SP with qualified names
(for use when reading an SP from database and executing it); also allow "unusing"
a database, i.e. setting thd->thd to "".
sql/sql_yacc.yy:
Initialize qualfied SP names correctly.
USE is no longer allowed in an SP.
re-using unused LOCK_active_mi to serialize all administrative
commands related to replication:
START SLAVE, STOP SLAVE, RESET SLAVE, CHANGE MASTER, init_slave()
(replication autostart at server startup), end_slave() (replication
autostop at server shutdown), LOAD DATA FROM MASTER.
This protects us against a handful of deadlocks (like BUG#2921
when two START SLAVE, but when two STOP SLAVE too).
Removing unused variables.
sql/item_func.cc:
We don't need LOCK_active_mi just to MASTER_POS_WAIT().
sql/repl_failsafe.cc:
no need for macro
sql/set_var.cc:
no need for macro
sql/slave.cc:
Re-using unused LOCK_active_mi to serialize all administrative
commands related to replication:
START SLAVE, STOP SLAVE, RESET SLAVE, CHANGE MASTER, init_slave()
(replication autostart at server startup), end_slave() (replication
autostop at server shutdown), LOAD DATA FROM MASTER.
This protects us against a handful of deadlocks.
Removing unused variables.
sql/slave.h:
Re-using LOCK_active_mi to serialize administrative replication commands.
Macros unneeded. Removing unneeded variables.
sql/sql_parse.cc:
found unused variable.
Replacing macros.
sql/sql_show.cc:
replacing macros
ChangeSet 1.1620.12.1 and ChangeSet 1.1625.2.1
from 4.1. This makes the slave I/O thread flush the relay log
after every event, which provides additional safety in case
of brutal crash (reduces chances to lose a part of the relay log).
sql/repl_failsafe.cc:
update for new prototype
sql/slave.cc:
The slave I/O thread now flushes the relay log after writing
every event to it, like we already do in 4.1.
sql/slave.h:
new prototype
sql/sql_repl.cc:
update for new prototype
- the one about BUG#2921
- the one about relay log flushing
Both will be rewritten in a next changeset
(this one will not be pushed before the next changeset).
sql/log.cc:
undo
sql/log_event.cc:
undo
sql/repl_failsafe.cc:
undo
sql/slave.cc:
undo
sql/slave.h:
undo
sql/sql_repl.cc:
undo
BUILD/compile-pentium-debug-max:
Added --with-raid
configure.in:
Removed -DFN_NO_CASE_SENCE for Mac OS X as this is not always true
mysql-test/install_test_db.sh:
Added --skip-warnings
mysql-test/mysql-test-run.sh:
Fixes to get --gdb and --ddd to work
mysql-test/r/lowercase_table2.result:
Test for lower_case_table_names=2 and temporary tables
mysql-test/r/lowercase_table3.result:
Fixed error message
mysql-test/r/multi_update.result:
Test of behaviour of multi-table-delete and alias
mysql-test/t/lowercase_table2.test:
Test for lower_case_table_names=2 and temporary tables
mysql-test/t/lowercase_table3.test:
Fixed error
mysql-test/t/multi_update.test:
Test of behaviour of multi-table-delete and alias (Bug #2940)
mysys/mf_iocache.c:
Renamed _flush_io_cache to my_b_flush_io_cache
sql/ha_myisam.cc:
Added comment
sql/lock.cc:
Extra debugging
sql/log.cc:
New parameter to flush_relay_log_info
sql/log_event.cc:
New parameter to flush_relay_log_info
sql/mf_iocache.cc:
Removed not used header files
sql/mysqld.cc:
More debugging info
Less warnings when run with --skip-warnings
sql/opt_range.cc:
More debug information
sql/repl_failsafe.cc:
New parameter to flush_relay_log_info
sql/slave.cc:
First start SQL thread, then start IO thread. This fixed a raze condition in SLAVE START (Bug #2921)
Ensure that we have a lock on the IO thread before flushing a relay log file that. The original code could core dump when a relay log rotated.
sql/slave.h:
New parameter to flush_relay_log_info
sql/sql_base.cc:
Added warning
sql/sql_handler.cc:
Indentation fix
sql/sql_repl.cc:
New parameter to flush_relay_log_info
sql/sql_select.cc:
Fixed problem with deleting temporary tables when using lower_case_table_names=2. (Bug #2858)
sql/sql_table.cc:
Fixed comment
sql/sql_yacc.yy:
Removed compiler warning
include/my_sys.h:
Fixed usage of unpack_filename
mysys/mf_pack.c:
Changed unpack_filename() to return length of result string.
mysys/test_fn.c:
Fixed usage of unpack_filename
sql/sql_db.cc:
Fixed memory leak with raid tables
sql/table.cc:
Fixed usage of unpack_filename
mysql-test/r/subselect.result:
Auto merged
mysql-test/t/subselect.test:
Auto merged
sql/item.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.cc:
Auto merged
into teton.kitebird.com:/home/paul/mysql-4.1
sql/share/czech/errmsg.txt:
Auto merged
sql/share/danish/errmsg.txt:
Auto merged
sql/share/dutch/errmsg.txt:
Auto merged
sql/share/english/errmsg.txt:
Auto merged
sql/share/estonian/errmsg.txt:
Auto merged
sql/share/french/errmsg.txt:
Auto merged
sql/share/greek/errmsg.txt:
Auto merged
sql/share/hungarian/errmsg.txt:
Auto merged
sql/share/italian/errmsg.txt:
Auto merged
sql/share/japanese/errmsg.txt:
Auto merged
sql/share/korean/errmsg.txt:
Auto merged
sql/share/norwegian-ny/errmsg.txt:
Auto merged
sql/share/norwegian/errmsg.txt:
Auto merged
sql/share/polish/errmsg.txt:
Auto merged
sql/share/portuguese/errmsg.txt:
Auto merged
sql/share/romanian/errmsg.txt:
Auto merged
sql/share/russian/errmsg.txt:
Auto merged
sql/share/slovak/errmsg.txt:
Auto merged
sql/share/spanish/errmsg.txt:
Auto merged
sql/share/swedish/errmsg.txt:
Auto merged
sql/share/ukrainian/errmsg.txt:
Auto merged
INSERT DELAYED works only for one-row inserts (in latest 4.0 versions
at least). So killing a delayed_insert thread does not spoil replication:
the rows which actually went into the table are exactly those listed
in the binlog. So when the delayed_insert thread is killed, don't log
it as 'killed', because it causes superfluous stops on the slave.
sql/log_event.cc:
INSERT DELAYED works only for one-row inserts (in latest 4.0 versions
at least). So killing a delayed_insert thread does not spoil replication:
the rows which actually went into the table are exactly those listed
in the binlog. So when the delayed_insert thread is killed, don't log
it as 'killed', because it causes superfluous stops on the slave.
Note: the patch removes an extra declaration of
the read_only variable. It also assumes that '_'
sorts before [a-z].
mysql-test/r/fulltext_var.result:
Fix test result to account for SHOW VARIABLES
output reordering.
sql/set_var.cc:
Make SHOW VARIABLES output really alphabetic.
Allow one to force lower_case_table_names to 0, even if the file system is case insensitive. This fixes some issues on Mac OS X (Bug #2994)
Added variables "lower_case_file_system", "version_compile_os" and "license"
mysql-test/t/lowercase_table3-master.opt:
Rename: mysql-test/t/lowercase_table2-master.opt -> mysql-test/t/lowercase_table3-master.opt
mysys/my_getopt.c:
Ensure that one can't from the command line set a variable too small (could happen when sub_size was set)
sql/mysql_priv.h:
Added lower_case_file_system
sql/mysqld.cc:
Allow one to force lower_case_table_names to 0, even if the file system is case insensitive
sql/set_var.cc:
Added variable "lower_case_file_system"
Added variable "version_compile_os"
Added variable "license"
sql/set_var.h:
Added support for read only strings
sql/sql_select.cc:
Make join optimizer killable
- get my_strtod to return inf
- get Field_float::store(double) and Field_double::store(float) to set null for
nan value
(as extra serg's recomendations to fix for patch on
Bug #2082 'mysqldump converts "inf" to null')
client/mysqltest.c:
added commands --query_vertical and --query_horisontal
mysql-test/r/insert.result:
converted testcase so as my_strtod can return inf now
mysql-test/r/mysqldump.result:
converted testcase so as my_strtod can return inf now
mysql-test/t/insert.test:
corrected tests to using --query_vertical instead of
pair (vertical_results,horisontal_results)
sql/field.cc:
corrected Field_float::store(double) and Field_double::store(double)
to set null for nan value
strings/strtod.c:
get my_strtod to return inf
"Table truncated when creating another table name with Spaces"
added to check_db_name, check_table_name and check_column_name
test for end space
mysql-test/r/create.result:
added test for Bug #2985
"Table truncated when creating another table name with Spaces"
mysql-test/t/create.test:
added test for Bug #2985
"Table truncated when creating another table name with Spaces"
sql/sql_db.cc:
cancel strip end spaces for database name
sql/sql_parse.cc:
cancel strip end spaces for database name
sql/table.cc:
added to check_db_name, check_table_name and check_column_name
test for end space
mysql-test/r/show_check.result:
Updated results
mysql-test/t/show_check.test:
Portability fix (for 64 bit platforms)
mysys/hash.c:
Portablity fix
sql/gen_lex_hash.cc:
Don't include mysql_priv.h; Causes build errors on a lot of platforms
sql/lex_symbol.h:
Moved symbols here from mysql_priv.h to avoid including mysql_priv.h in gen_lex_hash.cc
sql/mysql_priv.h:
Move symbols and struct to lex_symbol.h
sql/sql_db.cc:
Don't use sql_alloc/sql_free methods in sql_string.h
sql/sql_help.cc:
Don't use sql_alloc/sql_free methods in sql_string.h
sql/sql_string.h:
Don't use sql_alloc/sql_free methods in sql_string.h
This makes the code faster and more portable
sql/sql_yacc.yy:
Don't use sql_alloc/sql_free methods in sql_string.h
into teton.kitebird.com:/home/paul/mysql-4.1
sql/share/czech/errmsg.txt:
Auto merged
sql/share/danish/errmsg.txt:
Auto merged
sql/share/dutch/errmsg.txt:
Auto merged
sql/share/english/errmsg.txt:
Auto merged
sql/share/estonian/errmsg.txt:
Auto merged
sql/share/french/errmsg.txt:
Auto merged
sql/share/german/errmsg.txt:
Auto merged
sql/share/greek/errmsg.txt:
Auto merged
sql/share/hungarian/errmsg.txt:
Auto merged
sql/share/italian/errmsg.txt:
Auto merged
sql/share/japanese/errmsg.txt:
Auto merged
sql/share/korean/errmsg.txt:
Auto merged
sql/share/norwegian-ny/errmsg.txt:
Auto merged
sql/share/norwegian/errmsg.txt:
Auto merged
sql/share/polish/errmsg.txt:
Auto merged
sql/share/portuguese/errmsg.txt:
Auto merged
sql/share/romanian/errmsg.txt:
Auto merged
sql/share/russian/errmsg.txt:
Auto merged
sql/share/serbian/errmsg.txt:
Auto merged
sql/share/slovak/errmsg.txt:
Auto merged
sql/share/spanish/errmsg.txt:
Auto merged
sql/share/ukrainian/errmsg.txt:
Auto merged