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
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.
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.
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.
(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
* 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
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
* 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.