In tables_ok(), when there is no table having "updating==TRUE" in the list,
return that we don't replicate this statement (the slave is supposed to
replicate *changes* only).
In practice, the case can only happen for this statement:
DELETE t FROM t,u WHERE ... ;
tables_ok(t,u) will now return 0, which (check all_tables_not_ok())
will give a chance to tables_ok(t) to run.
sql/slave.cc:
In tables_ok(), when there is no table having "updating==TRUE" in the list,
return that we don't replicate this statement (the slave is supposed to
replicate *changes* only).
In practice, the case can only happen for this statement:
DELETE t FROM t,u WHERE ... ;
tables_ok(t,u) will now return 0, which (check all_tables_not_ok())
will give a chance to tables_ok(t) to run.
acconfig.h:
Default undef for example storage engine.
acinclude.m4:
Build macro additions for example engine.
configure.in:
Configure changes for it to be listed in --help
sql/Makefile.am:
Added in paths to build example.
sql/examples/ha_example.cc:
Correction in indention and a few minor other corrections. It now lets you create/open/drop example engine.
sql/handler.cc:
Added definition for the example storage engine. Added case for it to be created.
sql/handler.h:
Added example storage engine type.
sql/mysql_priv.h:
Added flag for optional build of example storage engine.
sql/mysqld.cc:
Pieces to build example storage engine.
were never defined. This potentially caused problems when trying to link
libmysqld with shared libraries.
strings/longlong2str-x86.s:
typo: longlong10_str -> longlong10_to_str
strings/strings-x86.s:
typo: strxmov_end-strxmov -> .strxmov_end-strxmov
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
sql/item_cmpfunc.cc:
merged in one if
sql/mysql_priv.h:
removed unused paremeter of check_one_table_access
declaration of new function for SP share code
sql/set_var.cc:
function descriotion added
unneeded parantses removed
sql/sql_acl.cc:
new parameter to limit number of checked tables for check_grant
sql/sql_acl.h:
new parameter to limit number of checked tables for check_grant
sql/sql_delete.cc:
preparation moved in separate function
sql/sql_insert.cc:
preparation moved in separate function
sql/sql_lex.cc:
comment style fixed
unneeded assignment removed
sql/sql_parse.cc:
new parameter to limit number of checked tables for check_grant
table list manipulation removed (because of above)
new precheck function
sql/sql_prepare.cc:
function rewrited to shere code with sql_prepare.cc
flow control fixed
sql/sql_show.cc:
new parameter to limit number of checked tables for check_grant
sql/sql_update.cc:
preparation moved in separate function
sql/table.h:
flag renamed
Use only noninlined InnoDB functions in ha_innodb.cc
innobase/sync/sync0sync.c:
Use only noninlined InnoDB functions in ha_innodb.cc
innobase/include/sync0sync.h:
Use only noninlined InnoDB functions in ha_innodb.cc
sql/ha_innodb.cc:
Use only noninlined InnoDB functions in ha_innodb.cc
- Changed reading of config file so that one can use a separate config
file for [mysqld_multi] also. In other words --config-file=file will
read group [mysqld_multi] from this file, earlier it wouldn't have.
mysql-test/r/lowercase_table2.result:
Fixed typo
mysql-test/r/repair.result:
Portability fix (For OpenBSD)
mysql-test/t/repair.test:
Portability fix (For OpenBSD)
mysys/my_thr_init.c:
Fixed crasch with some tests on OpenBSD.
sql/field.cc:
Don't truncate big values (Caused a core dump on Linux-Alpha for big values)
sql/log.cc:
More DBUG
as we transform the 3.23 Load_log_event into a 4.0 Create_file_log_event which is one
byte longer, we need to increment event_len. The bug was that we did not increment it,
so later in code the end 0 was not seen so there was for example a segfault in
strlen(fname) because fname was not 0-terminated.
Other problems remain in 3.23->4.0 replication of LOAD DATA INFILE but they are less serious:
Exec_master_log_pos and Relay_log_space are incorrect. I'll document them.
They are not fixable without significant code changes (if you fix those problems in 4.0,
you get assertion failures somewhere else etc), * which are already done in 5.0.0 *.
sql/slave.cc:
In 3.23->4.0 replication of LOAD DATA INFILE:
as we transform the 3.23 Load_log_event into a 4.0 Create_file_log_event which is one
byte longer, we need to increment event_len.
So we need to modify the event_len stored in the event.
And we need to decrement event_len when we compute the offset in the master's binlog.
change 10 to a #define'd constant
myisam/myisamdef.h:
use a constant with a difficult-to-type name instead of two-digit number :)
sql/ha_myisam.cc:
use a constant with a difficult-to-type name instead of two-digit number :)
sql/sql_insert.cc:
always call start_bulk_insert (it performs all checks itself)
removed spurious semicolon at the end of the "if" :)
added a clarifying comment
Revert main parts of patch for online index builds. Should be done differently
Added support for %lx in my_snprintf()
sql/ha_myisam.cc:
Don't enable HA_EXTRA_WRITE_CACHE if too few rows
sql/handler.h:
Indentaion fix
sql/mysql_priv.h:
Removed real_alter_table, mysql_add_column and mysql_drop_column
sql/sql_class.cc:
After merge fix
sql/sql_insert.cc:
Don't user bulk_insert if only one row (common case)
sql/sql_parse.cc:
Added mysql_create_index() and mysql_drop_index() as these are only wrappers for mysql_alter_table()
sql/sql_table.cc:
Revert main parts of patch for online index builds
Changed back to use tabs to make merges possible between trees
sql/unireg.cc:
Added comments and minor cleanup
strings/my_vsnprintf.c:
Added support for %lx.
Proper long support
into mysql.com:/home/my/mysql-4.1
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/handler.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/table.cc:
Auto merged
This gives the handler more optimization possiblities and is needed for NDB cluster
Fixed not-initialized memory error detected by valgrind
mysql-test/mysql-test-run.sh:
Fixed address to manual page
mysql-test/r/gis-rtree.result:
Added test to show fatal error in GIS
mysql-test/r/grant.result:
New tests
mysql-test/t/gis-rtree.test:
New tests
mysql-test/t/grant.test:
New tests
sql/handler.cc:
Moved reading of ranges from opt_range.cc to handler.cc
This gives the handler more optimization possiblities and is needed for NDB cluster
sql/handler.h:
Moved reading of ranges from opt_range.cc to handler.cc
T
sql/opt_range.cc:
Moved reading of ranges from opt_range.cc to handler.cc
Simplified GIS get_next() handling
Indentation cleanups
sql/opt_range.h:
Removed not needed cmp_next()
Added new QUICK_SELECT method for GIS keys to make code for normal keys easier and faster
sql/sql_select.cc:
Fixed wrong handling of usable-keys in test_if_skip_sort_order (not fatal, just a warning from valgrind)
Added DBUG
Cleaned up comments
Fix a glitch reported by Philippe Lewicki on the general mailing list: do not print a warning to the .err log if read_key fails with a lock wait timeout error 146
sql/sql_select.cc:
Fix a glitch reported by Philippe Lewicki on the general mailing list: do not print a warning to the .err log if read_key fails with a lock wait timeout error 146
sql/field.cc:
Use 'HA_KEY_BLOB_LENGTH' instead of '2' for 'packed-length'
Changed 'get_key_image' and 'set_key_image' to take length data part of key (without length-store bytes). This makes the interface easier to use from opt_range.cc
sql/field.h:
Indentation fix
sql/opt_range.cc:
Changed KEY_PART to use KEY_PART_INFO->store_length (which includes null-byte if needed)
This makes some functions easier and allowed us to easier use the new get_key_image/set_key_image interfaces
Simple loop optimization.
sql/opt_range.h:
Changed part_length -> store_length and added length to KEY_PART.
This make this structure more like KEY_PART_INFO
Added 'sorted' to QUICK_SELECT for NDB
sql/sql_class.cc:
Fixed compiler warning
sql/sql_select.cc:
Set 'quick->sorted' if keys should be sorted (for NDB)
sql/table.cc:
GEOMETRY KEYS doesn't have length prefix in keys
sql/item_cmpfunc.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/set_var.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.cc:
Auto merged
fixed IN subselect with basic constant left expression
SQLCOM_CREATE_TABLE, SQLCOM_UPDATE_MULTI, SQLCOM_REPLACE_SELECT, SQLCOM_INSERT_SELECT, QLCOM_DELETE_MULTI fixed to be compatible with PS (BUG#3398, BUG#3406)
fixed multiupdate privelege check (BUG#3408)
fixed multiupdate tables check (BUG#3411)
unchecked commands now is rejected by PS protocol to avoid serever crash
fixed cleunup procedure to be compatible sith DO/SET (BUG#3393)
include/mysqld_error.h:
new error for unsupported command in PS
mysql-test/r/multi_update.result:
test sutes (BUG#3408, BUG#3411)
mysql-test/t/multi_update.test:
test sutes (BUG#3408, BUG#3411)
sql/item_cmpfunc.cc:
fixed IN subselect with basic constant left expression
sql/mysql_priv.h:
some function frop sql_parse.h become public
sql/set_var.cc:
check for SET command via PS
sql/set_var.h:
check for SET command via PS
sql/share/czech/errmsg.txt:
new error for unsupported command in PS
sql/share/danish/errmsg.txt:
new error for unsupported command in PS
sql/share/dutch/errmsg.txt:
new error for unsupported command in PS
sql/share/english/errmsg.txt:
new error for unsupported command in PS
sql/share/estonian/errmsg.txt:
new error for unsupported command in PS
sql/share/french/errmsg.txt:
new error for unsupported command in PS
sql/share/german/errmsg.txt:
new error for unsupported command in PS
sql/share/greek/errmsg.txt:
new error for unsupported command in PS
sql/share/hungarian/errmsg.txt:
new error for unsupported command in PS
sql/share/italian/errmsg.txt:
new error for unsupported command in PS
sql/share/japanese/errmsg.txt:
new error for unsupported command in PS
sql/share/korean/errmsg.txt:
new error for unsupported command in PS
sql/share/norwegian-ny/errmsg.txt:
new error for unsupported command in PS
sql/share/norwegian/errmsg.txt:
new error for unsupported command in PS
sql/share/polish/errmsg.txt:
new error for unsupported command in PS
sql/share/portuguese/errmsg.txt:
new error for unsupported command in PS
sql/share/romanian/errmsg.txt:
new error for unsupported command in PS
sql/share/russian/errmsg.txt:
new error for unsupported command in PS
sql/share/serbian/errmsg.txt:
new error for unsupported command in PS
sql/share/slovak/errmsg.txt:
new error for unsupported command in PS
sql/share/spanish/errmsg.txt:
new error for unsupported command in PS
sql/share/swedish/errmsg.txt:
new error for unsupported command in PS
sql/share/ukrainian/errmsg.txt:
new error for unsupported command in PS
sql/sql_lex.cc:
first table unlincking procedures for CREATE command
sql/sql_lex.h:
first table unlincking procedures for CREATE command
sql/sql_parse.cc:
used function to exclude first table from list
SQLCOM_CREATE_TABLE, SQLCOM_UPDATE_MULTI, SQLCOM_REPLACE_SELECT, SQLCOM_INSERT_SELECT, QLCOM_DELETE_MULTI fixed to be compatible with PS (BUG#3398, BUG#3406)
fixed multiupdate privelege check (BUG#3408)
fixed multiupdate tables check (BUG#3411)
sql/sql_prepare.cc:
fixed a lot of commands to be compatible with PS
unchecked commands now is rejected to avoid serever crash
sql/sql_select.cc:
allow empty result for PS preparing
sql/sql_union.cc:
fixed cleunup procedure to be compatible sith DO/SET (BUG#3393)
sql/sql_update.cc:
fixed update to use correct tables lists (BUG#3408)
sql/table.h:
flag to support multi update tables check (BUG#3408)
tests/client_test.c:
removed unsupported tables
fixed show table test
added new tests
if you are printing LOAD DATA INFILE and its USE as comments, don't update 'last_db' (because you
have not actually changed the db in the server).
sql/log_event.cc:
if you are printing LOAD DATA INFILE and its USE as comments, don't update 'last_db' (because you
have not actually changed the db in the server).
sql/field.cc:
Auto merged
sql/item.cc:
Auto merged
sql/protocol.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/table.cc:
Auto merged
BitKeeper/etc/ignore:
auto-union
sql/handler.h:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/unireg.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_table.cc:
Hand-merged
sql/sql_yacc.yy:
Hand-merged
into sanja.is.com.ua:/home/bell/mysql/bk/work-ps3-4.1
mysql-test/r/union.result:
Auto merged
sql/item.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/log_event.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
Corrected minor problems of the preceding changeset 1.1705.
sql/sql_table.cc:
Worklog#1563 - Support of on-line CREATE/DROP INDEX.
Replaced all tabs by a proper number of spaces. In the diff list this looks unaligned sometimes.
Changed all sprintf to snprintf and checked the return value.
Fixed key_count<= 0. key_count is unsigned.
Removed an obsolete comment.