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()
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
* 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
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
Windows to call CreateFileMapping() with correct arguments, and
propogating the introduction of query_id_t to everywhere query ids are
passed around. (Bug #8826)
libmysql/libmysql.c:
Make implicit cast explicit
myisam/mi_open.c:
Make cast of value to smaller data size explicit
myisam/mi_packrec.c:
Cast file size (my_off_t) to size_t for mmap
mysys/my_mmap.c:
Fix Windows version of my_mmap() to use the right parameters
for call to CreateFileMapping()
sql/field.cc:
Use temporary value of correct type
sql/field.h:
Use query_id_t for query_id value
sql/ha_berkeley.cc:
Fix flag check
sql/ha_innodb.h:
Use query_id_t for query_id value
sql/handler.cc:
Explain opt_using_transactions calculation, and add cast
sql/handler.h:
Fix forward declaration of COND
sql/item.cc:
Fix val_bool() tests of val_int() to avoid implicit cast
sql/item_cmpfunc.cc:
Fix typo in switch label
sql/item_func.cc:
Make implicit cast explicit
sql/item_strfunc.cc:
Now that query_id is a query_id_t, need to cast it to a ulong here
sql/item_subselect.cc:
Fix test of value
sql/log.cc:
Cast my_off_t used for file size to size_t for memory allocation
Also cast my_off_t when using it to calculate the number of pages for TC log
Cast total_ha_2pc to uchar when saving it
sql/mysql_priv.h:
Move up query_id definition so it can be used more widely
sql/opt_range.cc:
Add unused delete operator to prevent compiler warning
sql/set_var.cc:
Cast value for max_user_connections
sql/sql_cache.cc:
Remove unused label
sql/sql_class.h:
Fix query id values to be of type query_id_t
sql/sql_db.cc:
Move variable only used inside #ifdef within the #ifdef
sql/sql_help.cc:
Remove unused label
sql/sql_insert.cc:
Use query_id_t for query id values
sql/sql_lex.h:
Add unused delete operator to prevent compiler warning
sql/sql_select.cc:
Remove unused variable
Make cast of value explicit
sql/sql_select.h:
Use query_id_t for query id values
sql/sql_table.cc:
Make comparison to function pointer explicit
sql/sql_update.cc:
Use query_id_t for query id values
sql/table.h:
Use query_id_t for query id values
strings/ctype-simple.c:
Add cast of long value to (char) in expression
strings/ctype-ucs2.c:
Add cast of long value to (char) in expression
strings/ctype-utf8.c:
Make cast to smaller size explicit
The problem was in that the code that analyses the applicability of the
QUICK_GROUP_MIN_MAX access method for DISTINC queries assumed that there
are no duplicate column references in the DISTINCT clause, and it added
non-exiting key parts for the duplicate column references.
The solution adds a test to check whether the select list already contained
a field with the same name. If such field was already present, then it was
already decided to use its key part for index access. In this such case we
must skip the duplicate field instead of counting it as a new field.
mysql-test/r/group_min_max.result:
Added test results for BUG#8532.
mysql-test/t/group_min_max.test:
Added tests for BUG#8532.
sql/opt_range.cc:
The problem was in that the code that analyses the applicability of the
QUICK_GROUP_MIN_MAX access method for DISTINC queries assumed that there
are no duplicate column references in the DISTINCT clause, and it added
non-exiting key parts for the duplicate column references.
The solution adds a test to check whether the select list already contained
a field with the same name. If such field was already present, then it was
already decided to use its key part for index access. In this such case we
must skip the duplicate field instead of counting it as a new field.
mysql-test/r/innodb.result:
Auto merged
mysql-test/t/innodb.test:
Auto merged
mysql-test/t/rpl_rotate_logs.test:
Auto merged
sql/item.cc:
Auto merged
sql/log.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/mysqld.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/protocol.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_db.cc:
Auto merged
sql/sql_select.cc:
Auto merged
tests/mysql_client_test.c:
Auto merged
sql/examples/ha_archive.cc:
Merge with global tree
(Use my changes)
sql/sql_parse.cc:
Remove 'tmp' fix to be able to run tests
(Found during build process)
extra/comp_err.c:
Remove compiler warnings
extra/perror.c:
Remove compiler warnings
innobase/dict/dict0dict.c:
Remove compiler warnings
innobase/dict/dict0load.c:
Remove compiler warnings
innobase/pars/pars0sym.c:
Remove compiler warnings
innobase/row/row0row.c:
Remove compiler warnings
innobase/row/row0sel.c:
Remove compiler warnings
libmysqld/lib_sql.cc:
Remove not used variables
myisam/mi_key.c:
Remove compiler warnings
regex/engine.c:
Added comment
sql/derror.cc:
Remove not used variables
sql/examples/ha_archive.cc:
Fixed bug in blob handling
Removed not used variable
sql/field.cc:
Remove compiler warnings
Remove not used variables
sql/filesort.cc:
Remove compiler warnings
sql/ha_heap.cc:
Remove not used variable
sql/ha_innodb.cc:
Remove not used variables
Remove compiler warnings
sql/handler.cc:
Remove compiler warnings and remove not used variables
sql/item.cc:
Remove compiler warnings and remove not used variables
sql/item_subselect.cc:
Remove compiler warnings
sql/item_sum.cc:
Remove compiler warnings
sql/item_sum.h:
Remove compiler warnings and remove not used variables
sql/log.cc:
Remove compiler warnings and remove not used variables
sql/log_event.cc:
Remove compiler warnings
sql/mysqld.cc:
Remove compiler warnings and remove not used variables
sql/opt_range.cc:
Remove compiler warnings and remove not used variables
sql/slave.cc:
Remove compiler warnings and remove not used variables
sql/sp_pcontext.cc:
Remove compiler warnings and remove not used variables
sql/sql_acl.cc:
Remove compiler warnings and remove not used variables
sql/sql_analyse.cc:
Remove compiler warnings and remove not used variables
sql/sql_base.cc:
Remove compiler warnings and remove not used variables
sql/sql_db.cc:
Remove compiler warnings and remove not used variables
sql/sql_help.cc:
Remove compiler warnings and remove not used variables
sql/sql_insert.cc:
Remove compiler warnings and remove not used variables
sql/sql_load.cc:
Remove compiler warnings and remove not used variables
sql/sql_parse.cc:
Remove compiler warnings and remove not used variables
sql/sql_prepare.cc:
Remove compiler warnings and remove not used variables
sql/sql_select.cc:
Remove compiler warnings and remove not used variables
sql/sql_show.cc:
Remove compiler warnings and remove not used variables
sql/sql_table.cc:
Remove compiler warnings
sql/sql_union.cc:
Remove compiler warnings
sql/sql_update.cc:
Remove compiler warnings and remove not used variables
sql/sql_yacc.yy:
Remove compiler warnings and remove not used variables
sql/strfunc.cc:
Remove compiler warnings and remove not used variables
strings/ctype-ucs2.c:
Remove compiler warnings
tests/mysql_client_test.c:
Remove compiler warnings and remove not used variables
tools/mysqlmanager.c:
Remove compiler warnings and remove not used variables
This fix addresses a bug of the HPUX C++ compiler, in the way it uses registers.
As result, the last comparison of the variable 'result' failed, and next_prefix()
looped forever.
sql/opt_range.cc:
- fix for BUG#8576
- updated function name in DBUG_ENTER
The problem was in different representations of double variables depending on
platform/compiler/compile options. In some cases double variables are represented by
64 bits (while in memory), or by 80 bits (while in FPU register). As a result equal
values are not considered "==". As many sources point out, doubles should not be
compared by '==' for this reason. This fix subtracts the scaled minimal double
value X such that 1 + X != 1, to ensure that the inequality holds in any case.
sql/opt_range.cc:
Do not compare double values with == because they may have different representations.
(After review of cs georg:1.1800 by Monty)
VC++Files/libmysqld/libmysqld.dsp:
removed ha_isammrg.cpp (doesn't exist anymore)
VC++Files/mysqldemb/mysqldemb.dsp:
removed ha_isammrg.cpp (doesn't exist anymore)
extra/comp_err.c:
renamed DATADIR to DATADIRECTORY (DATADIR is a windows internal
enumeration type)
innobase/ut/ut0ut.c:
gettimeofday is not available under Windows. Added conditional define
which uses GetLocalTime for windows
libmysql/libmysql.c:
fixed prototype for setup_one_fetch_function which differed from
function declaration.
Fixed not supported unsigned __int64 to double conversion
sql/field.h:
fixed typecast error (windows)
sql/item_sum.cc:
fixed typecast errors (windows)
sql/key.cc:
fixed typecast errors (windows)
sql/opt_range.cc:
fixed not supported unsigned __int64 to double conversion
sql/sql_acl.cc:
fixed typecast errors (windows)
sql/table.cc:
fixed typecast errors (windows)
* Removed unused parameters
* Fixed several cost calculation errors in ror_intersect_add
* Better code structure for ror_intersect_add and get_best_ror_intersect
include/my_bitmap.h:
Comments added
mysql-test/r/index_merge_innodb.result:
Test results updated
mysql-test/r/index_merge_ror_cpk.result:
Test results updated.
mysql-test/t/index_merge_innodb.test:
Drop all tables after use
sql/opt_range.cc:
Fixes in ROR plan choice code
* Removed unused parameters
* Fixed several cost calculation errors in ror_intersect_add
* Better code structure for ror_intersect_add and get_best_ror_intersect
into mysql.com:/dbdata/psergey/mysql-5.0-bug5401-2
innobase/include/row0mysql.h:
Auto merged
innobase/row/row0sel.c:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/ha_federated.cc:
Change mode to -rw-rw-r--
myisam/mi_create.c:
Ensure that all referenced memory is reset
mysql-test/r/type_timestamp.result:
More tests
mysql-test/t/func_compress.test:
Added comment
mysql-test/t/type_timestamp.test:
More tests
sql/field.h:
Count number of varchars in table
sql/item_cmpfunc.cc:
Safety fix (to avoid warning from valgrind)
sql/opt_range.cc:
Simple optimzation
sql/sql_acl.cc:
Safety fix (to avoid warning from valgrind)
sql/sql_parse.cc:
Safety fix for prepared statements
sql/sql_show.cc:
Move variable declarations first in function
Remove hidden variable (it)
Remove accessing freed memory (table_list->table_name)
sql/sql_update.cc:
Compare records with varchars correctly
sql/table.cc:
Safety fix when running with purify/valgrind
Fix wrong memory reference in case of errors
sql/table.h:
Added counting of varchar fields
strings/ctype-mb.c:
Fill max_str properly
Split TABLE to TABLE and TABLE_SHARE (TABLE_SHARE is still allocated as part of table, will be fixed soon)
Created Field::make_field() and made Field_num::make_field() to call this
Added 'TABLE_SHARE->db' that points to database name; Changed all usage of table_cache_key as database name to use this instead
Changed field->table_name to point to pointer to alias. This allows us to change alias for a table by just updating one pointer.
Renamed TABLE_SHARE->real_name to table_name
Renamed TABLE->table_name to alias
Renamed TABLE_LIST->real_name to table_name
include/myisam.h:
Added const before names
mysql-test/r/group_min_max.result:
Make results repeatable
mysql-test/t/group_min_max.test:
Make results repeatable
sql/field.cc:
Created Field::make_field() and made Field_num::make_field() to call this
Use TABLE_SHARE
Use sql_strmake() instead of sql_memdup() to simplify code
sql/field.h:
Changed table_name to be pointer to table_name. This allows us to change alias for all fields by just changing one pointer.
Use TABLE_SHARE
sql/field_conv.cc:
Use TABLE_SHARE
sql/filesort.cc:
Use TABLE_SHARE
sql/ha_berkeley.cc:
Use TABLE_SHARE
sql/ha_heap.cc:
Use TABLE_SHARE
sql/ha_innodb.cc:
Use TABLE_SHARE
sql/ha_myisam.cc:
Use TABLE_SHARE
sql/ha_myisammrg.cc:
Use TABLE_SHARE
Change some pointer handling to use const char*
sql/ha_ndbcluster.cc:
Use TABLE_SHARE
sql/handler.cc:
Use TABLE_SHARE
sql/item.cc:
Use TABLE_SHARE
sql/item_func.cc:
Use TABLE_SHARE
sql/item_subselect.cc:
Use TABLE_SHARE
sql/item_sum.cc:
Use TABLE_SHARE
sql/key.cc:
Use TABLE_SHARE
sql/lock.cc:
Use TABLE_SHARE
sql/log_event.cc:
real_name -> table_name
sql/mysql_priv.h:
Use TABLE_SHARE
sql/opt_range.cc:
Use TABLE_SHARE
sql/opt_sum.cc:
Use TABLE_SHARE
sql/records.cc:
Use TABLE_SHARE
sql/repl_failsafe.cc:
real_name -> table_name
sql/slave.cc:
Use TABLE_SHARE
sql/sp.cc:
Use TABLE_SHARE
sql/sp_head.cc:
real_name -> table_name
sql/sql_acl.cc:
Use TABLE_SHARE
removed unnecessary assert
fixed indentation
changed some char * -> const char*
sql/sql_acl.h:
changed some char* -> const char*
sql/sql_base.cc:
Use TABLE_SHARE
sql/sql_cache.cc:
Use TABLE_SHARE
sql/sql_class.cc:
Use TABLE_SHARE
sql/sql_db.cc:
real_name -> table_name
sql/sql_delete.cc:
Use TABLE_SHARE
sql/sql_derived.cc:
Use TABLE_SHARE
sql/sql_handler.cc:
Use TABLE_SHARE
sql/sql_help.cc:
Use TABLE_SHARE
sql/sql_insert.cc:
Use TABLE_SHARE
sql/sql_load.cc:
Use TABLE_SHARE
sql/sql_parse.cc:
Use TABLE_SHARE
sql/sql_rename.cc:
real_name -> table_name
sql/sql_select.cc:
Use TABLE_SHARE
table->blob_fields now points to field offsets, not fields
tmp_table->table_name now points to alias name
sql/sql_show.cc:
Use TABLE_SHARE
sql/sql_table.cc:
Use TABLE_SHARE
sql/sql_test.cc:
Use TABLE_SHARE
sql/sql_trigger.cc:
Use TABLE_SHARE
sql/sql_udf.cc:
Use TABLE_SHARE
sql/sql_union.cc:
real_name -> table_name
sql/sql_update.cc:
Use TABLE_SHARE
sql/sql_view.cc:
Use TABLE_SHARE
sql/table.cc:
Split TABLE to TABLE and TABLE_SHARE
Changed blob_field to be field offsets instead of pointer to fields
Only initialize table->s->default_values with default record (not all table->record[#])
Some indentation changes
sql/table.h:
Split TABLE to TABLE and TABLE_SHARE
sql/tztime.cc:
real_name -> table_name
sql/unireg.cc:
Use TABLE_SHARE
sql/unireg.h:
Use TABLE_SHARE
* remove get_next_init and move its functionality to QUICK_RANGE_SELECT::reset()
* added more comments
* added empty FT_SELECT::reset()
sql/opt_range.cc:
Post WL#2126 fixes: remove get_next_init and move its functionality to QUICK_RANGE_SELECT::reset()
Add needed error checks since QUICK_RANGE_SELECT::reset can fail now.
sql/opt_range.h:
Post WL#2126 fixes:
* remove get_next_init and move its functionality to QUICK_RANGE_SELECT::reset()
* added more comments
* added empty FT_SELECT::reset() since QUICK_RANGE_SELECT::reset() it was using wasn't doing anything useful.
sql/records.cc:
Post WL#2126 fixes:
* remove redundant get_next_init call
(hopefully last :-))
ndb/include/ndbapi/NdbDictionary.hpp:
remove unimplemented types
ndb/include/ndbapi/NdbReceiver.hpp:
return pointer to row for simplified handling of current row features
ndb/include/ndbapi/NdbScanOperation.hpp:
return pointer to row for simplified handling of current row features
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
remove unimplemented types
ndb/src/ndbapi/NdbIndexOperation.cpp:
remove unimplemented types
ndb/src/ndbapi/NdbReceiver.cpp:
return pointer to row for simplified handling of current row features
ndb/src/ndbapi/NdbScanOperation.cpp:
return pointer to row for simplified handling of current row features
sql/ha_ndbcluster.cc:
Impl. newest read_multi_range patch
sql/ha_ndbcluster.h:
Impl. newest read_multi_range patch
sql/opt_range.cc:
Add 1 to compensate for incorrect row estimate of 0
Added the required structures and functions for
handing over multiple key ranges to the table handler.
include/my_base.h:
WL#2126 - Multi_read_range.
Moved key range flags from sql/opt_range.h to here.
Added the multi-range structure.
sql/handler.cc:
WL#2126 - Multi_read_range.
Added the new table handler methods.
sql/handler.h:
WL#2126 - Multi_read_range.
Added a new table flag.
Added a declaration for the handler buffer.
Added new elements to class handler.
Added new function declarations.
sql/mysqld.cc:
WL#2126 - Multi_read_range.
Added an option to set new system variable 'multi_range_count'.
sql/opt_range.cc:
WL#2126 - Multi_read_range.
Added initialization for the new class members.
Added initialization for the extended get_next().
Added de-initialization for the allocated buffers.
Added a buffer allocation method.
Added an inner loop to collect multiple ranges.
Adapted range collection loops to the new initialization.
sql/opt_range.h:
WL#2126 - Multi_read_range.
Moved key range flags from here to include/my_base.h.
Added new elements to class QUICK_RANGE_SELECT.
Added a copy constructor.
sql/records.cc:
WL#2126 - Multi_read_range.
Added a call of the allocation method.
sql/set_var.cc:
WL#2126 - Multi_read_range.
Added the new system variable 'multi_range_count'.
sql/sql_class.h:
WL#2126 - Multi_read_range.
Added the new system variable 'multi_range_count'.
will call handler::position() during key scan.
Undo the previous, less efficient fix (cset 2004-11-30 19:56:25+02:00, heikki@hundin.mysql.fi)
innobase/include/row0mysql.h:
undo cset 1.1698.1.2
sql/ha_innodb.cc:
undo cset 1.1698.1.2
sql/opt_range.cc:
Make index_merge code call file->extra(HA_EXTRA_RETRIEVE_PRIMARY_KEY) if file->position() will be called.
Also fixed a typo and added a couple of error checks.
Fixed some found bugs in BIT fields
Added more test cases for BIT fields and varchar
include/my_base.h:
Merge
Added HA_BIT_PART for easier test in key.cc
innobase/os/os0proc.c:
Fixed typo
myisam/mi_dbug.c:
Add printing of BIT types when debugging
mysql-test/r/show_check.result:
Set 'Avg_row_length' to # as this value is different between 32 and 64 bit machines
mysql-test/r/type_bit.result:
More tests
mysql-test/r/type_varchar.result:
More tests
mysql-test/t/show_check.test:
Set 'Avg_row_length' to # as this value is different between 32 and 64 bit machines
mysql-test/t/type_bit.test:
More tests
mysql-test/t/type_varchar.test:
More tests
sql/field.cc:
Added Field::val_int_as_str() to get better logging of bit fields
Merged new_key_field with move_field() to fix some problems with bit fields
Fixed some bugs with bit fields
sql/field.h:
Added Field::val_int_as_str() to get better logging of bit fields
Merged new_key_field with move_field() to fix some problems with bit fields
Fixed some bugs with bit fields
sql/ha_myisam.cc:
Fixed problem with unintialized memory (not critical)
sql/key.cc:
Fix so that 'key_cmp_if_same' works with bit fields.
sql/opt_range.cc:
Move declarations first in function
Nice printing of bit fields in debug log
sql/sql_prepare.cc:
Fixed old merge error (not critical)
sql/sql_select.cc:
Use new interface to new_key_field
sql/sql_select.h:
Use new interface to new_key_fields()
This fixes a bug with BIT fields where the upper bit of the data was not stored in the key buffer
sql/structs.h:
Extend key_part_flag to be able to add HA_BIT_PART to it
sql/table.cc:
Mark BIT key parts with HA_BIT_PART to make test in key.cc simpler
Add support for VARCHAR with 1 or 2 length bytes
Enable VARCHAR packing in MyISAM files (previous patch didn't pack data properly)
Give error if we got problems in temporary tables during a SELECT
Don't use new table generated by ALTER TABLE if index generation fails
Fixed wrong call by range_end() (Could cause an ASSERT in debug mode)
BUILD/SETUP.sh:
Add flags for Intel 64
dbug/dbug.c:
Add 0x before pointers (to help with debugging)
heap/_check.c:
Add 0x before pointers (to help with debugging)
heap/hp_create.c:
Add support for VARCHAR with 1 or 2 length bytes
heap/hp_delete.c:
Add 0x before pointers
heap/hp_hash.c:
Add support for VARCHAR with 1 or 2 length bytes
Added more debugging
heap/hp_open.c:
Add 0x before pointers
heap/hp_rkey.c:
Add 0x before pointers
heap/hp_rrnd.c:
Add 0x before pointers
heap/hp_write.c:
Add 0x before pointers
include/my_base.h:
Add support for VARCHAR with 1 or 2 length bytes
myisam/ft_static.c:
Add support for VARCHAR with 1 or 2 length bytes
myisam/ft_test1.c:
Add support for VARCHAR with 1 or 2 length bytes
Fixed indentation
(This file should probably be deleted as it doesn't compile)
myisam/ft_update.c:
Add support for VARCHAR with 1 or 2 length bytes
Fixed indentation
Removed some not needed 'else'
myisam/mi_check.c:
Don't give an error for tables packed with myisampack
myisam/mi_checksum.c:
Add support for VARCHAR with 1 or 2 length bytes
myisam/mi_create.c:
Add support for VARCHAR with 1 or 2 length bytes
Store in number of pack-length-bytes in keyseg->bit_start
myisam/mi_dbug.c:
Add support for VARCHAR with 1 or 2 length bytes
myisam/mi_dynrec.c:
Add support for VARCHAR with 1 or 2 length bytes
(old code in _mi_rec_unpack() didn't really work with VARCHAR's)
myisam/mi_key.c:
Add support for VARCHAR with 1 or 2 length bytes
myisam/mi_open.c:
Add support for VARCHAR with 1 or 2 length bytes
myisam/mi_packrec.c:
Add support for VARCHAR with 1 or 2 length bytes
myisam/mi_search.c:
Add support for VARCHAR with 1 or 2 length bytes
myisam/mi_test1.c:
Add support for VARCHAR with 1 or 2 length bytes
myisam/mi_test3.c:
Add support for VARCHAR with 1 or 2 length bytes
myisam/mi_test_all.res:
Update results
myisam/mi_unique.c:
Add support for VARCHAR with 1 or 2 length bytes
myisam/myisampack.c:
Add support for VARCHAR with 1 or 2 length bytes
mysql-test/include/varchar.inc:
Added more tests
mysql-test/r/bdb.result:
Update results after new tests
mysql-test/r/information_schema.result:
Update results
mysql-test/r/innodb.result:
Update results
mysql-test/r/myisam.result:
Update results after new tests
mysql-test/r/ps_1general.result:
Update results
mysql-test/t/bdb.test:
Shorter comments
mysys/list.c:
Add 0x before pointers
mysys/my_handler.c:
Add support for VARCHAR with 1 or 2 length bytes
mysys/raid.cc:
Add 0x before pointers
sql/field.cc:
Add support for VARCHAR with 1 or 2 length bytes
sql/field.h:
Add support for VARCHAR with 1 or 2 length bytes
sql/field_conv.cc:
Add support for VARCHAR with 1 or 2 length bytes
sql/ha_berkeley.cc:
Add support for VARCHAR with 1 or 2 length bytes
sql/ha_heap.cc:
Add support for VARCHAR with 1 or 2 length bytes
sql/ha_myisam.cc:
Ensure that enable_indexes() will report an error if it fails
Enable VARCHAR packing for MyISAM files
sql/item_sum.cc:
Change key_cmp -> cmp() as we are comparing fields, not key segements
sql/opt_range.cc:
Add support for VARCHAR with 1 or 2 length bytes
Change range_end to call ha_index_or_rnd_end() as in some error cases we may be in rnd mode when we abort
sql/sql_base.cc:
Remove compiler warning
sql/sql_parse.cc:
Move length checking code to sql_table.cc (as we don't have character set for fields at this stage)
sql/sql_select.cc:
Add support for VARCHAR with 1 or 2 length bytes
Ensure that we report an error if we get an error while writing to internal temporary tables
sql/sql_select.h:
Add support for VARCHAR with 1 or 2 length bytes
sql/sql_show.cc:
Fix typo in comment
sql/sql_table.cc:
Don't use new table generated by ALTER TABLE if index generation fails
vio/vio.c:
Fixed DBUG info
vio/viosocket.c:
Fixed DBUG info
vio/viossl.c:
Fixed DBUG info
vio/viosslfactories.c:
Fixed DBUG info
configure.in:
Auto merged
BitKeeper/deleted/.del-acinclude.m4~f4ab416bac5003:
Auto merged
BitKeeper/deleted/.del-ha_isam.cc~4dce65904db2675e:
Auto merged
BitKeeper/deleted/.del-ha_isammrg.cc~dc682e4755d77a2e:
Auto merged
client/mysqldump.c:
Auto merged
client/mysqltest.c:
Auto merged
heap/hp_create.c:
Auto merged
heap/hp_delete.c:
Auto merged
heap/hp_hash.c:
Auto merged
heap/hp_write.c:
Auto merged
include/decimal.h:
Auto merged
include/m_ctype.h:
Auto merged
libmysql/libmysql.c:
Auto merged
libmysqld/Makefile.am:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/mi_create.c:
Auto merged
myisam/mi_write.c:
Auto merged
mysql-test/r/ctype_tis620.result:
Auto merged
mysql-test/r/ctype_ucs.result:
Auto merged
mysql-test/r/myisam.result:
Auto merged
mysql-test/r/mysqldump.result:
Auto merged
mysql-test/r/order_by.result:
Auto merged
mysql-test/r/ps.result:
Auto merged
mysql-test/r/ps_1general.result:
Auto merged
mysql-test/r/ps_2myisam.result:
Auto merged
mysql-test/r/ps_3innodb.result:
Auto merged
mysql-test/r/ps_4heap.result:
Auto merged
mysql-test/r/ps_5merge.result:
Auto merged
mysql-test/r/ps_6bdb.result:
Auto merged
mysql-test/r/select.result:
Auto merged
mysql-test/r/strict.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
mysql-test/r/type_blob.result:
Auto merged
mysql-test/t/ctype_ucs.test:
Auto merged
mysql-test/t/endspace.test:
Auto merged
mysql-test/t/myisam.test:
Auto merged
mysql-test/t/ps_1general.test:
Auto merged
mysql-test/t/strict.test:
Auto merged
mysql-test/t/type_blob.test:
Auto merged
ndb/src/common/util/NdbSqlUtil.cpp:
Auto merged
scripts/mysql_fix_privilege_tables.sh:
Auto merged
sql/field.h:
Auto merged
sql/field_conv.cc:
Auto merged
sql/ha_heap.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/handler.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_sum.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/opt_sum.cc:
Auto merged
sql/protocol.cc:
Auto merged
sql/sql_base.cc:
Auto merged
sql/sql_help.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/structs.h:
Auto merged
sql/table.cc:
Auto merged
strings/ctype-czech.c:
Auto merged
strings/ctype-uca.c:
Auto merged
strings/ctype-utf8.c:
Auto merged
strings/ctype-win1250ch.c:
Auto merged
strings/decimal.c:
Auto merged
tests/client_test.c:
Auto merged
mysql-test/r/bdb.result:
Merge with VARCHAR code
mysql-test/r/heap.result:
Merge with VARCHAR code
mysql-test/r/innodb.result:
Merge with VARCHAR code
mysql-test/r/select.result.es:
Merge with VARCHAR code
mysql-test/t/bdb.test:
Merge with VARCHAR code
mysql-test/t/heap.test:
Merge with VARCHAR code
mysql-test/t/innodb.test:
Merge with VARCHAR code
sql/field.cc:
Merge with VARCHAR code
sql/item.cc:
Merge with VARCHAR code
sql/sql_acl.cc:
Merge with VARCHAR code
sql/sql_parse.cc:
Merge with VARCHAR code
sql/sql_table.cc:
Merge with VARCHAR code
sql/sql_update.cc:
Merge with VARCHAR code
sql/table.h:
Merge with VARCHAR code
strings/ctype-mb.c:
Don't pad my_like_range with max_str for simple LIKE expression
strings/ctype-tis620.c:
Merge with VARCHAR code
strings/ctype-ucs2.c:
Added new argument to my_strnncollsp_ucs2()
Simply code