mariadb/sql
Guilhem Bichot 81d3d3ac42 - lifting a limit: INSERT|REPLACE SELECT and LOAD DATA always prevented versioning, now what do so is if
the table is empty.
- lifting another limit: versioning was disabled if table had more than one unique index
- correcting test of statement-based binlogging, when converting read locks to TL_READ_NO_INSERT

KNOWN_BUGS.txt:
  removing mostly fixed limitation (see ha_maria.cc)
mysql-test/r/maria-mvcc.result:
  result update
mysql-test/t/maria-mvcc.test:
  now when table is empty it does not do versioning, so test hung; inserting one row at start of the test,
  to enable versioning.
sql/sql_parse.cc:
  Maria team wrongly removed this "break", thanks Davi for noticing
storage/maria/ha_maria.cc:
  - We used to prevent versioning in INSERT/REPLACE SELECT and LOAD DATA, because the index rebuild done by
  bulk insert sometimes, is unsafe when versioning is on. Here we change that: in store_lock(), if the table is empty
  (which is required for index rebuild to be used), we disable versioning; in start_bulk_insert(), we don't do
  index rebuild if versioning is enabled.
  - Test for statement-based binlogging was incomplete: statement-based binlogging is on for this statement
  if binlog is open and statement has binlogging enabled and statement is not doing row-based binlogging
storage/maria/ma_open.c:
  Monty and I agreed that it's ok to have versioning on a table with more than one unique index: if an INSERT
  hits a duplicate key when inserting the second index' key, no other thread should be able to touch the 
  first index' just-inserted key, because that key has an uncommitted transaction id, so the first thread
  should have time to remove the first index' key.
2008-07-09 14:07:38 +02:00
..
examples
share
.cvsignore
add_errmsg
authors.h
client_settings.h
CMakeLists.txt Merge mysql.com:/home/my/mysql-5.1 2008-04-28 19:24:05 +03:00
contributors.h
custom_conf.h
derror.cc
des_key_file.cc
discover.cc
event_data_objects.cc
event_data_objects.h
event_db_repository.cc
event_db_repository.h
event_queue.cc
event_queue.h
event_scheduler.cc
event_scheduler.h
events.cc Merge mysql.com:/home/my/mysql-5.1 2008-04-28 19:24:05 +03:00
events.h
field.cc Merge bk-internal.mysql.com:/home/bk/mysql-maria 2008-05-29 21:39:25 +03:00
field.h Merge mysql.com:/home/my/mysql-5.1 2008-04-28 19:24:05 +03:00
field_conv.cc
filesort.cc Merge mysql.com:/home/my/mysql-5.1 2008-04-28 19:24:05 +03:00
frm_crypt.cc
gen_lex_hash.cc
gstream.cc
gstream.h
ha_ndbcluster.cc Merge bk-internal.mysql.com:/home/bk/mysql-maria 2008-05-29 21:39:25 +03:00
ha_ndbcluster.h Merge bk-internal.mysql.com:/home/bk/mysql-maria 2008-05-29 21:39:25 +03:00
ha_ndbcluster_binlog.cc
ha_ndbcluster_binlog.h
ha_ndbcluster_cond.cc
ha_ndbcluster_cond.h
ha_ndbcluster_tables.h
ha_partition.cc Fix for Bug #37007 Maria: different checksum for MyISAM table depending on CHECKSUM=0|1 2008-06-28 15:45:15 +03:00
ha_partition.h WL#3138: Maria - fast "SELECT COUNT(*) FROM t;" and "CHECKSUM TABLE t" 2008-05-29 18:33:33 +03:00
handler.cc Fix for Bug #37007 Maria: different checksum for MyISAM table depending on CHECKSUM=0|1 2008-06-28 15:45:15 +03:00
handler.h Fix for Bug #37007 Maria: different checksum for MyISAM table depending on CHECKSUM=0|1 2008-06-28 15:45:15 +03:00
hash_filo.cc
hash_filo.h
hostname.cc
init.cc
item.cc Merge bk-internal.mysql.com:/home/bk/mysql-maria 2008-05-29 21:39:25 +03:00
item.h Manual merge and some fixes. 2008-05-14 09:50:16 +03:00
item_buff.cc
item_cmpfunc.cc Merge mysql.com:/home/my/mysql-5.1 2008-04-28 19:24:05 +03:00
item_cmpfunc.h
item_create.cc
item_create.h
item_func.cc Merge mysql.com:/home/my/mysql-5.1 2008-04-28 19:24:05 +03:00
item_func.h Merge mysql.com:/home/my/mysql-5.1 2008-04-28 19:24:05 +03:00
item_geofunc.cc
item_geofunc.h
item_row.cc
item_row.h
item_strfunc.cc Merge mysql.com:/home/my/mysql-5.1 2008-04-28 19:24:05 +03:00
item_strfunc.h Merge mysql.com:/home/my/mysql-5.1 2008-04-28 19:24:05 +03:00
item_subselect.cc Merge mysql.com:/home/my/mysql-5.1 2008-04-28 19:24:05 +03:00
item_subselect.h
item_sum.cc
item_sum.h
item_timefunc.cc
item_timefunc.h
item_xmlfunc.cc
item_xmlfunc.h
key.cc
lex.h
lex_symbol.h
lock.cc
log.cc Manual merge and some fixes. 2008-05-14 09:50:16 +03:00
log.h
log_event.cc Merge bk-internal.mysql.com:/home/bk/mysql-maria 2008-05-29 21:39:25 +03:00
log_event.h
log_event_old.cc Merge bk-internal.mysql.com:/home/bk/mysql-maria 2008-05-29 21:39:25 +03:00
log_event_old.h
Makefile.am
message.mc
mf_iocache.cc
my_decimal.cc
my_decimal.h
my_lock.c
mysql_priv.h Merge mysql.com:/home/my/mysql-5.1 2008-04-28 19:24:05 +03:00
mysqld.cc Fix for BUG#36104 "INFORMATION_SCHEMA.TABLES shows TRANSACTIONAL=1 twice in CREATE_OPTIONS" 2008-06-03 21:35:39 +02:00
mysqld_suffix.h
net_serv.cc
nt_servc.cc
nt_servc.h
opt_range.cc
opt_range.h
opt_sum.cc
parse_file.cc
parse_file.h
partition_element.h
partition_info.cc Merge mysql.com:/home/my/mysql-5.1 2008-04-28 19:24:05 +03:00
partition_info.h
password.c
procedure.cc
procedure.h
protocol.cc Merge bk-internal.mysql.com:/home/bk/mysql-maria 2008-05-29 21:39:25 +03:00
protocol.h
records.cc
repl_failsafe.cc
repl_failsafe.h
rpl_constants.h
rpl_filter.cc
rpl_filter.h
rpl_injector.cc Merge mysql.com:/home/my/mysql-5.1 2008-04-28 19:24:05 +03:00
rpl_injector.h
rpl_mi.cc
rpl_mi.h
rpl_record.cc
rpl_record.h
rpl_record_old.cc
rpl_record_old.h
rpl_reporting.cc
rpl_reporting.h
rpl_rli.cc Added versioning of Maria index 2008-06-26 08:18:28 +03:00
rpl_rli.h
rpl_tblmap.cc
rpl_tblmap.h
rpl_utility.cc
rpl_utility.h
scheduler.cc
scheduler.h
set_var.cc Merge mysql.com:/home/my/mysql-5.1 2008-04-28 19:24:05 +03:00
set_var.h
slave.cc
slave.h
sp.cc
sp.h
sp_cache.cc
sp_cache.h
sp_head.cc
sp_head.h
sp_pcontext.cc
sp_pcontext.h
sp_rcontext.cc
sp_rcontext.h
spatial.cc
spatial.h
sql_acl.cc Merge mysql.com:/home/my/mysql-5.1 2008-04-28 19:24:05 +03:00
sql_acl.h
sql_analyse.cc
sql_analyse.h
sql_array.h
sql_base.cc Merge mysql.com:/home/my/mysql-5.1 2008-04-28 19:24:05 +03:00
sql_binlog.cc
sql_bitmap.h
sql_builtin.cc.in
sql_cache.cc Merge mysql.com:/home/my/mysql-5.1 2008-04-28 19:24:05 +03:00
sql_cache.h
sql_class.cc Merge bk-internal.mysql.com:/home/bk/mysql-maria 2008-05-29 21:39:25 +03:00
sql_class.h Merge mysql.com:/home/my/mysql-5.1 2008-04-28 19:24:05 +03:00
sql_client.cc
sql_connect.cc
sql_crypt.cc
sql_crypt.h
sql_cursor.cc
sql_cursor.h
sql_db.cc
sql_delete.cc Merge mysql.com:/home/my/mysql-5.1 2008-04-28 19:24:05 +03:00
sql_derived.cc
sql_do.cc
sql_error.cc
sql_error.h
sql_handler.cc
sql_help.cc
sql_insert.cc Fix for BUG#36104 "INFORMATION_SCHEMA.TABLES shows TRANSACTIONAL=1 twice in CREATE_OPTIONS" 2008-06-03 21:35:39 +02:00
sql_lex.cc
sql_lex.h
sql_list.cc
sql_list.h
sql_load.cc Merge bk-internal.mysql.com:/home/bk/mysql-maria 2008-05-29 21:39:25 +03:00
sql_locale.cc
sql_manager.cc
sql_map.cc
sql_map.h
sql_olap.cc
sql_parse.cc - lifting a limit: INSERT|REPLACE SELECT and LOAD DATA always prevented versioning, now what do so is if 2008-07-09 14:07:38 +02:00
sql_partition.cc
sql_partition.h
sql_plugin.cc Merge mysql.com:/home/my/mysql-5.1 2008-04-28 19:24:05 +03:00
sql_plugin.h
sql_prepare.cc Merge mysql.com:/home/my/mysql-5.1 2008-04-28 19:24:05 +03:00
sql_profile.cc
sql_profile.h
sql_rename.cc
sql_repl.cc Merge mysql.com:/home/my/mysql-5.1 2008-04-28 19:24:05 +03:00
sql_repl.h
sql_select.cc Merge bk-internal.mysql.com:/home/bk/mysql-maria 2008-05-29 21:39:25 +03:00
sql_select.h WL#3138: Maria - fast "SELECT COUNT(*) FROM t;" and "CHECKSUM TABLE t" 2008-05-29 18:33:33 +03:00
sql_servers.cc
sql_servers.h
sql_show.cc Fix for Bug #37007 Maria: different checksum for MyISAM table depending on CHECKSUM=0|1 2008-06-28 15:45:15 +03:00
sql_show.h
sql_sort.h
sql_state.c
sql_string.cc
sql_string.h
sql_table.cc Fix for Bug #37007 Maria: different checksum for MyISAM table depending on CHECKSUM=0|1 2008-06-28 15:45:15 +03:00
sql_tablespace.cc
sql_test.cc
sql_trigger.cc
sql_trigger.h
sql_udf.cc
sql_udf.h
sql_union.cc
sql_update.cc Merge mysql.com:/home/my/mysql-5.1 2008-04-28 19:24:05 +03:00
sql_view.cc
sql_view.h
sql_yacc.yy Merge bk-internal.mysql.com:/home/bk/mysql-maria 2008-05-29 21:39:25 +03:00
stacktrace.c
stacktrace.h
strfunc.cc
structs.h
table.cc Merge mysql.com:/home/my/mysql-5.1 2008-04-28 19:24:05 +03:00
table.h
thr_malloc.cc
time.cc
tzfile.h
tztime.cc
tztime.h
udf_example.c
udf_example.def
uniques.cc
unireg.cc Merge mysql.com:/home/my/mysql-5.1 2008-04-28 19:24:05 +03:00
unireg.h