Added ASSERT() to detect wrongly packed fields
sql/field.h:
Fixed comments to right format
sql/opt_range.cc:
Merged code
sql/sql_base.cc:
Fixed indentation
sql/sql_insert.cc:
Fixed comments to right format
sql/sql_select.cc:
Simplify code
sql/unireg.cc:
Simply code for calculating key_buff_length
Added ASSERT() to detect wrongly packed fields
into dl145c.mysql.com:/home/ndbdev/tomas/mysql-5.1
sql/ha_innodb.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_udf.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
storage/myisam/rt_split.c:
Auto merged
storage/myisam/sp_key.c:
Auto merged
storage/ndb/src/kernel/SimBlockList.cpp:
Auto merged
storage/ndb/src/ndbapi/Ndb.cpp:
Auto merged
Added test cases for optimization request #10561.
opt_range.cc, sql_select.cc:
Fixed bug #10561: an optimization request to allow
range analysis for NOT IN and NOT BETWEEN.
sql/sql_select.cc:
Fixed bug #10561: an optimization request to allow
range analysis for NOT IN and NOT BETWEEN.
sql/opt_range.cc:
Fixed bug #10561: an optimization request to allow
range analysis for NOT IN and NOT BETWEEN.
mysql-test/t/range.test:
Added test cases for optimization request #10561.
mysql-test/r/range.result:
Added test cases for optimization request #10561.
Added test cases for optimization request #10561.
opt_range.cc, sql_select.cc:
Fixed bug #10561: an optimization request to allow
range analysis for NOT IN and NOT BETWEEN.
into mysql.com:/Users/mikron/wl1682
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_bitmap.h:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/sql_update.cc:
Auto merged
sql/table.cc:
Auto merged
sql/unireg.cc:
Auto merged
sql/opt_range.cc:
Fix for bug #9798: Rollup crash with InnoDB in setup_sum_funcs().
Disable mix/max group by optimization for queries with rollup for now.
Note: the actual bug was hidden; if this optimization works with rollup
queries we will have to change some code:
the problem is that we call the join->make_sum_func_list() function against
changed thd->mem_root (see SQL_SELECT::test_quick_select()) which creates some
items for rollup, then we free that mem_root, then we try to reuse (free) those
items.
into mysql.com:/Users/mikron/wl1682
sql/Makefile.am:
Auto merged
sql/field.cc:
Auto merged
sql/field.h:
Auto merged
sql/ha_federated.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
sql/handler.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item.cc:
Auto merged
sql/lock.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/opt_range.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/unireg.cc:
Auto merged
Fixed clear issues of bitvector and memory allocation issues
sql/bitvector.cc:
Made bitvector memroot class
sql/bitvector.h:
Made bitvector memroot class
sql/handler.cc:
Need to add updated fields to read set to ensure that they are
updated since the update code doesn't update if records haven't
changed
Added DBUG printout's
sql/handler.h:
Moved clear of bitvector's to reset function
Introduced ha_reset for this purpose to ensure that it isn't
necessary to perform this clear in all handlers.
sql/lock.cc:
Removed clear that has been moved to ha_reset
sql/opt_range.cc:
Changed reset to ha_reset
Added delete file
sql/sql_base.cc:
Removed clear and changed reset to ha_reset
sql/sql_insert.cc:
Removed clear and changed reset to ha_reset
sql/sql_select.cc:
Made sure delete file is done if needed
sql/sql_table.cc:
Added delete file in another place needed
sql/sql_update.cc:
Bug for multi-update fixed
sql/ha_innodb.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/key.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/sp_head.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_table.cc:
Auto merged
sql/unireg.cc:
Auto merged
Added option --count to mysqlshow (to show number of rows)
Fixed possible core dump in information schema
client/client_priv.h:
--count for mysqlshow
client/mysqlshow.c:
Added option --count to be used when the user want's number of rows per table in the output
(We shouldn't use count(*) as default as this can be a slow operation)
mysys/my_thr_init.c:
Correct comment
sql/ha_berkeley.cc:
Remove not used variable
sql/ha_berkeley.h:
Remove not used variable
sql/ha_innodb.cc:
Remove not used function
sql/ha_ndbcluster.cc:
false -> FALSE
true -> TRUE
sql/handler.cc:
Added and fixed comments
Remove 'strange' code to remove compiler warnings (better to do things like this with attribute)
sql/item.cc:
false -> FALSE
sql/item_cmpfunc.cc:
Fixed indentation
sql/item_cmpfunc.h:
marked BETWEEN as a bool function
sql/item_func.cc:
Simple optimzation
sql/key.cc:
Removed wrong code
sql/log.cc:
Check result from open_index_file()
sql/mysql_priv.h:
Simplyfy some test of netware
sql/mysqld.cc:
Fixed indentation
Check result form open_index_file()
Simplify code with IF_NETWARE()
sql/opt_range.cc:
false -> FALSE
true -> TRUE
Fixed indentation
sql/opt_sum.cc:
Fixed comments
sql/sp_head.cc:
Simple optimzation
Move variable declarations to begining of blocks
sql/sql_acl.cc:
Fix long lines
Rename xx -> column
Move declaration to beginning of block
sql/sql_parse.cc:
Removed comment
sql/sql_select.cc:
Indentation fixes
sql/sql_show.cc:
Fixed reference outside of array (possible core dump)
sql/sql_table.cc:
Simplify code
Combine common code
sql/sql_test.cc:
false -> FALSE
sql/sql_trigger.cc:
false -> false
true -> TRUE
sql/sql_yacc.yy:
Simpler test
sql/unireg.cc:
Added comment
cases + bug fixes
mysys/my_bitmap.c:
Removed debug comments
sql/bitvector.h:
Changed a number of things
Added new methods, new handling of end bits, faster search
for bits using word by word search..
sql/field.h:
Added comment
sql/ha_federated.cc:
Fixes
sql/ha_innodb.cc:
Fixes
sql/ha_innodb.h:
InnoDB still needs the extra calls not needed by anybody else
sql/ha_ndbcluster.cc:
Removed some timestamp set bit stuff
Always write all fields in write_row
sql/handler.cc:
No inline methods in bit interface (caused strange bugs)
initialise method
sql/handler.h:
Changed to bitvector from bitmap
Removed init variable
sql/opt_range.cc:
Removed all extra HA_EXTRA_RETRIEVE_*
sql/sql_acl.cc:
Removed all extra HA_EXTRA_RETRIEVE_*
sql/sql_base.cc:
Set bits previously missed
sql/sql_insert.cc:
Removed all extra HA_EXTRA_RETRIEVE_*
Timestamp handling
sql/sql_load.cc:
Updated comments plus set all bits in bitvector
sql/sql_select.cc:
Removed ifdef since NDB and Federated needs the same calls
Added comment or rather changed comment.
sql/sql_table.cc:
Removed HA_EXTRA_RETRIEVE_* calls
Updated comments
sql/sql_udf.cc:
Removed HA_EXTRA_RETRIEVE_* calls
Updated comments
sql/sql_update.cc:
Removed HA_EXTRA_RETRIEVE_* calls
Timstamp updating
Make get_quick_select_for_ref() accept estimated # records as parameter and
set QUICK_RANGE_SELECT::records, as this value is used to allocate buffers
in Multi-Range Read.
sql/opt_range.cc:
Make get_quick_select_for_ref() accept estimated # records as parameter and
set QUICK_RANGE_SELECT::records, as this value is used to allocate buffers
in Multi-Range Read.
sql/opt_range.h:
Added "records" parameter to get_quick_select_for_ref()
sql/sql_select.cc:
Added "records" parameter to get_quick_select_for_ref()
Make get_quick_select_for_ref() accept estimated # records as parameter and
set QUICK_RANGE_SELECT::records, as this value is used to allocate buffers
in Multi-Range Read.
to read and write
Changed Server code, added new interface to handler and changed the
NDB handler, InnoDB handler and Federated handler that previously used
query_id
Bug#10202 fix (one-liner fix for memory leak)
mysys/my_bitmap.c:
Debug code
sql/field.cc:
Initialise fieldnr to 0 if not set anywhere else
sql/field.h:
Introduce a fieldnr (first field = 1 and last = table->s->fields
in field object to be able to quickly set appropriate bit in
read/write set
sql/ha_federated.cc:
Changed federated handler to use write set instead of query_id
sql/ha_innodb.cc:
Changed InnoDB handler to use write set instead of query_id
sql/ha_ndbcluster.cc:
Changed NDB handler to use write set instead of query_id
sql/ha_ndbcluster.h:
Changed NDB handler to use write set instead of query_id
sql/handler.cc:
Allocate read_set and write_set either in get_new_handler or in
special routine
Routines used at destruction of handler object
plus routine to set all primary key fields in read_set
sql/handler.h:
bool to keep track if read/write set allocated or not in handler
Deallocate read/write set at delete of handler object
New bitmap's for read/write set
sql/item.cc:
Set bits in read or write set (set_query_id = 2 => write_set
set_query_id = 1 => read_set
sql/lock.cc:
Clear bit set when starting a new statement in external lock
sql/mysql_priv.h:
changed set_query_id from bool to ulong
sql/opt_range.cc:
Set primary key read set in all places where HA_EXTRA_RETRIEVE_PRIMARY_KEY
is used
sql/sql_acl.cc:
set all bits in read set all places where HA_EXTRA_RETRIEVE_ALL_COLS
are used
sql/sql_base.cc:
Clear all bits before start new statement when table locked already
Set bit in read/write set dependent on set_query_id and fieldnr
bool -> ulong for set_query_id
set all bits in read set for SELECT * queries where table is not view
sql/sql_class.h:
Added comments + changed type of set_query_id
sql/sql_insert.cc:
Use 2 when setup_fields called for fields to updated in UPDATE
and INSERT statements
set primary key fields when EXTRA param used
sql/sql_load.cc:
Set all bits in write set if no fields specified in LOAD DATA FROM
INFILE
Otherwise use 2 to set specific fields to be updated by LOAD DATA...
sql/sql_select.cc:
Set primary key read set when EXTRA param specified
Set fieldnr for temporary tables
Set number of fields before calling get_new_handler
and only set all bits if there at least one field in table
sql/sql_table.cc:
Set all bits in read set for old table and all bits in write set for
new table for ALTER TABLE copy method
Set all bits in read set when EXTRA param used
sql/sql_udf.cc:
Set all bits in read set when EXTRA param used
sql/sql_update.cc:
Set fields to UPDATE to use 2 for set_query_id
Set all bits in read set when EXTRA param used
sql/table.cc:
Set fieldnr in openfrm
Reallocate read/write set in openfrm since table->s->fields==0
at call to get_new_handler
sql/unireg.cc:
Fix Bug #10202
to read and write
Changed Server code, added new interface to handler and changed the
NDB handler, InnoDB handler and Federated handler that previously used
query_id
Bug#10202 fix (one-liner fix for memory leak)
* Add 0.01 to cost of 'range'+'using index' scan to avoid optimizer choice races with
'index' scan.
mysql-test/r/range.result:
Update the test result after the changed cost
sql/opt_range.cc:
Fix for BUG#10037
* Add 0.01 to cost of 'range'+'using index' scan to avoid optimizer choice races with
'index' scan.
* make QUICK_GROUP_MIN_MAX_SELECT handle the case where the source table is empty.
Don't produce data truncation warnings from within cp_buffer_from_ref(). This function
is only used to make index search tuples and data truncation that occurs here has no
relation with truncated values being saved into tables.
mysql-test/r/update.result:
Testcase for BUG#9103
mysql-test/t/update.test:
Testcase for BUG#9103
sql/opt_range.cc:
cp_buffer_from_ref now has THD* parameter
sql/sql_select.h:
cp_buffer_from_ref now has THD* parameter
Don't produce data truncation warnings from within cp_buffer_from_ref(). This function
is only used to make index search tuples and data truncation that occurs here has no
relation with truncated values being saved into tables.
fix a race condition in TC_LOG_BINLOG::unlog
include/Makefile.am:
remove the rest of isam/merge references
include/config-win.h:
unused and abused macro removed
include/my_pthread.h:
unused and abused macro removed
include/my_sys.h:
MY_IGNORE_BADFD flag
include/mysql_embed.h:
remove the rest of isam/merge references
mysql-test/r/replace.result:
remove the rest of isam/merge references
mysql-test/t/replace.test:
remove the rest of isam/merge references
mysql-test/t/xa.test:
comment
mysys/my_sync.c:
MY_IGNORE_BADFD flag
sql/handler.cc:
remove the rest of isam/merge references
sql/log.cc:
fix a race condition in TC_LOG_BINLOG::unlog
preparation for binlog group commit
sql/mysql_priv.h:
remove duplicates
sql/mysqld.cc:
remove the rest of isam/merge references
sql/opt_range.cc:
remove the rest of isam/merge references
sql/set_var.cc:
hide unused variables. simplify sync_binlog code
sql/sql_base.cc:
remove the rest of isam/merge references
sql/sql_class.h:
cleanup
(where e.g. col='aaa ' was converted to col>='aaa' AND col<='aaa ')
it was incorrect because ucs2 space is not ' ' (0x20)
it was unnecessary because storage engine pads values with spaces for comparison anyway
(where e.g. col='aaa ' was converted to col>='aaa' AND col<='aaa ')
it was incorrect because ucs2 space is not ' ' (0x20)
it was unnecessary because storage engine pads values with spaces for comparison anyway