into willster.(none):/home/stewart/Documents/MySQL/5.0/bug19914-mk2-merge
sql/ha_berkeley.cc:
Auto merged
sql/ha_berkeley.h:
Auto merged
BitKeeper/deleted/.del-ha_isam.cc~4dce65904db2675e:
Auto merged
BitKeeper/deleted/.del-ha_isam.h~bf53d533be3d3927:
Auto merged
BitKeeper/deleted/.del-ha_isammrg.cc~dc682e4755d77a2e:
Auto merged
BitKeeper/deleted/.del-ha_isammrg.h~66fd2e5bfe7207dc:
Auto merged
sql/ha_archive.cc:
Auto merged
sql/ha_archive.h:
Auto merged
sql/ha_blackhole.cc:
Auto merged
sql/ha_blackhole.h:
Auto merged
sql/ha_heap.cc:
Auto merged
sql/ha_heap.h:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_innodb.h:
Auto merged
sql/ha_myisam.cc:
Auto merged
sql/ha_myisam.h:
Auto merged
sql/ha_myisammrg.cc:
Auto merged
sql/ha_myisammrg.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/opt_sum.cc:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/examples/ha_example.cc:
Auto merged
sql/examples/ha_example.h:
Auto merged
sql/examples/ha_tina.cc:
Auto merged
sql/examples/ha_tina.h:
Auto merged
sql/sql_union.cc:
Auto merged
sql/ha_ndbcluster.cc:
merge
sql/ha_ndbcluster.h:
merge
sql/handler.h:
merge
sql/sql_select.cc:
merge
into macbook.gmz:/Users/kgeorge/mysql/work/B16792-5.0-opt
mysql-test/r/func_gconcat.result:
Auto merged
mysql-test/r/subselect.result:
Auto merged
sql/opt_sum.cc:
Auto merged
mysql-test/r/func_group.result:
merge 4.1->5.0 for bug #16792
mysql-test/t/func_group.test:
merge 4.1->5.0 for bug #16792
sql/sql_select.cc:
merge 4.1->5.0 for bug #16792
allow handler::info to return an error code (that will be returned to the user)
sql/ha_berkeley.cc:
update handler::info interface to return int
sql/ha_berkeley.h:
update handler::info interface to return int
sql/ha_heap.cc:
update handler::info interface to return int
sql/ha_heap.h:
update handler::info interface to return int
sql/ha_innodb.cc:
update handler::info interface to return int
sql/ha_innodb.h:
update handler::info interface to return int
sql/ha_myisam.cc:
update handler::info interface to return int
sql/examples/ha_archive.cc:
update handler::info interface to return int
sql/examples/ha_archive.h:
update handler::info interface to return int
sql/examples/ha_example.cc:
update handler::info interface to return int
sql/examples/ha_example.h:
update handler::info interface to return int
sql/examples/ha_tina.cc:
update handler::info interface to return int
sql/examples/ha_tina.h:
update handler::info interface to return int
sql/ha_myisam.h:
update handler::info interface to return int
sql/ha_myisammrg.cc:
update handler::info interface to return int
sql/ha_myisammrg.h:
update handler::info interface to return int
sql/ha_ndbcluster.cc:
update handler::info interface to return int
sql/ha_ndbcluster.h:
update handler::info interface to return int
sql/handler.h:
update handler::info interface to return int
sql/opt_sum.cc:
If we get an error when using handler::info to get count(*),
print and return the error.
sql/sql_select.cc:
if error, set fatal error.
Treat queries with no FROM and aggregate functions as normal queries,
so the aggregate function get correctly calculated as if there is 1 row.
This means that they will be considered to have one row, so COUNT(*) will return
1 instead of 0. Other aggregates will behave in compatible manner.
mysql-test/r/func_gconcat.result:
Bug #16792 query with subselect, join, and group not returning proper values
- test case. Note how it improves the support for DUAL.
mysql-test/r/func_group.result:
Bug #16792 query with subselect, join, and group not returning proper values
- test case. Note how it improves the support for DUAL.
mysql-test/r/subselect.result:
Bug #16792 query with subselect, join, and group not returning proper values
- consequence of (SELECT MAX(<const>)) now returning <const> instead of 0
mysql-test/t/func_group.test:
Bug #16792 query with subselect, join, and group not returning proper values
- test case.
sql/opt_sum.cc:
Bug #16792 query with subselect, join, and group not returning proper values
- cannot do the optimization if the index is already opened by (say) UPDATE
as it invloves opening reading and closing the index.
sql/sql_select.cc:
Bug #16792 query with subselect, join, and group not returning proper values
- Treat queries with no FROM and aggregate functions as normal queries,
so the aggregate function get correctly calculated as if there is 1 row.
into may.pils.ru:/home/svoj/devel/mysql/BUG20357/mysql-5.0
mysql-test/r/myisam.result:
Auto merged
mysql-test/t/myisam.test:
Auto merged
sql/opt_sum.cc:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
functions in queries
Using MAX()/MIN() on table with disabled indexes (by ALTER TABLE)
results in error 124 (wrong index) from storage engine.
The problem was that optimizer use disabled index to optimize
MAX()/MIN(). Normally it must skip disabled index and perform
table scan.
This patch skips disabled indexes for min/max optimization.
mysql-test/r/myisam.result:
Test case for BUG#20357.
mysql-test/t/myisam.test:
Test case for BUG#20357.
sql/opt_sum.cc:
Skip disabled/ignored indexes for min/max optimization.
into rurik.mysql.com:/home/igor/mysql-5.0-opt
mysql-test/t/func_group.test:
Auto merged
sql/field.cc:
Auto merged
sql/opt_sum.cc:
Auto merged
mysql-test/r/func_group.result:
SCCS merged
into rurik.mysql.com:/home/igor/mysql-5.0-opt
mysql-test/t/ctype_utf8.test:
Auto merged
sql/opt_sum.cc:
Auto merged
mysql-test/r/ctype_utf8.result:
Manual merge
sql/field.cc:
Manual merge
into rurik.mysql.com:/home/igor/mysql-5.0-opt
sql/opt_sum.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_select.h:
Auto merged
mysql-test/r/func_group.result:
SCCS merged
mysql-test/t/func_group.test:
SCCS merged
The bug report revealed two problems related to min/max optimization:
1. If the length of a constant key used in a SARGable condition for
for the MIN/MAX fields is greater than the length of the field an
unwanted warning on key truncation is issued;
2. If MIN/MAX optimization is applied to a partial index, like INDEX(b(4))
than can lead to returning a wrong result set.
mysql-test/r/func_group.result:
Added test cases for bug #18206.
mysql-test/t/func_group.test:
Added test cases for bug #18206.
sql/opt_sum.cc:
Fixed bug #18206.
Suppressed the warning about data truncation when store_val_in_field
was used to store keys for the field used in MIN/MAX optimization.
Blocked MIN/MAX optimization for partial keys, such as in INDEX(b(4)).
sql/sql_select.cc:
Fixed bug #18206.
Added a parameter for the function store_val_in_field allowing to
control setting warnings about data truncation in the function.
sql/sql_select.h:
Fixed bug #18206.
Added a parameter for the function store_val_in_field allowing to
control setting warnings about data truncation in the function.
The code in opt_sum_query that prevented the COUNT/MIN/MAX
optimization from being applied to outer joins was not adjusted
after introducing nested joins. As a result if an outer join
contained a reference to a view as an inner table the code of
opt_sum_query missed the presence of an on expressions and
erroneously applied the mentioned optimization.
mysql-test/r/view.result:
Added a test case for bug #18237.
mysql-test/t/view.test:
Added a test case for bug #18237.
mysql-test/r/view.result:
Added a test case for bug #16016.
mysql-test/t/view.test:
Added a test case for bug #16016.
sql/opt_sum.cc:
Fixed bug #16016: MIN/MAX optimization was not applied to views.
The fix employs the standard way of handling direct references to view fields.
client/mysql.cc:
Don't use c_ptr() for cgets() and ensure buffer is not overwritten
mysql-test/r/cast.result:
More test for CAST(0x.... as signed)
sql/opt_sum.cc:
Fix bugs found during review
- Changed code to be able to remove one if
- Ensure that count == 0 only if is_exact_count == TRUE
sql/sql_delete.cc:
Ensure 'allow_sum_func' is reset before call to setup_conds
sql/sql_lex.cc:
allow_sum_func doesn't have to be reset for each query
(It's to be reset in setup_fields() or before call to setup_conds()
sql/sql_load.cc:
Move set of auto_increment_field_not_null so that it's not set if field value is NULL
sql/sql_prepare.cc:
allow_sum_func doesn't have to be reset for each query
(It's to be reset in setup_fields() or before call to setup_conds()
sql/sql_update.cc:
Ensure 'allow_sum_func' is reset before call to setup_conds
mysql-test/r/loaddata.result:
Add drop tablea after test case
mysql-test/r/type_decimal.result:
Update warnings
mysql-test/r/union.result:
Miss in merge
mysql-test/t/loaddata.test:
Add drop table after test case
sql/opt_sum.cc:
Add missing }
sql/sql_load.cc:
Manual merge
into neptunus.(none):/home/msvensson/mysql/mysql-5.0
client/mysqltest.c:
Auto merged
myisam/myisamchk.c:
Auto merged
mysql-test/t/func_group.test:
Auto merged
mysql-test/t/loaddata.test:
Auto merged
mysql-test/t/type_decimal.test:
Auto merged
mysql-test/t/union.test:
Auto merged
sql/item_sum.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
mysql-test/r/func_group.result:
Manual merge
mysql-test/r/loaddata.result:
Manual merge
mysql-test/r/type_decimal.result:
Manual merge
mysql-test/r/union.result:
Manual merge
sql/field_conv.cc:
aborting fix for 7589
sql/opt_sum.cc:
Manual merge
sql/sql_load.cc:
Manual merge
sql/sql_yacc.yy:
Aborting fix for 11553
The problem was in that the MIN/MAX optimization in opt_sum_query was
replacing MIN/MAX functions with their constant argument without
taking into account that a query has no result rows.
mysql-test/r/func_group.result:
Test for BUG#12882.
mysql-test/t/func_group.test:
Test for BUG#12882.
sql/item_sum.cc:
If it is known that a query has no result rows, do not call add()
via the call to Item_sum::no_rows_in_result() which calls reset().
Instead directly call clear() so that the MIN and MAX functions
produce NULL when there are no result rows.
sql/opt_sum.cc:
* Do not apply MIN/MAX optimization when the operand of MIN/MAX is
a constant if it can't be determined whether the query has any
result rows. The reason is that if the query has result rows,
then the result of MIN/MAX is its constant argument, but if the
query result is empty, then the result of MIN/MAX must be NULL
irrespective of its argument.
* The patch also simplifies a bit the branch that hadles COUNT().
This is backport from 5.0 of fix for bug #11039
mysql-test/t/innodb.test:
Backport from 5.0 of test case for bug#11039
mysql-test/r/innodb.result:
Backport from 5.0 of test case for bug#11039
sql/opt_sum.cc:
Fix bug #13218: backport from 5.0 of bug #11039 fix
This fixed bug #11039: InnoDB: Warning: using a partial-field key prefix in search
mysql-test/r/innodb.result:
Added extra test for bug #11039: InnoDB: Warning: using a partial-field key prefix in search
mysql-test/t/innodb.test:
Added extra test for bug #11039: InnoDB: Warning: using a partial-field key prefix in search
sql/opt_sum.cc:
Fixed wrong key length when using MIN() optimization
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
BitKeeper/etc/logging_ok:
auto-union
innobase/trx/trx0trx.c:
Auto merged
mysql-test/r/ctype_collate.result:
Auto merged
mysql-test/r/func_system.result:
Auto merged
mysql-test/r/type_blob.result:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_create.cc:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_strfunc.h:
Auto merged
sql/opt_sum.cc:
Auto merged
innobase/ut/ut0mem.c:
e
merge from 4.1
mysql-test/r/func_group.result:
merge from 4.1
mysql-test/r/func_str.result:
merge from 4.1
mysql-test/t/func_group.test:
merge from 4.1
Logging to logging@openlogging.org accepted
func_group.result, func_group.test:
Added a test case for bug #8893.
opt_sum.cc:
A misplaced initialization for the returned parameter
prefix_len in the function find_key_for_maxmin caused
usage of a wrong key prefix by the min/max optimization
in cases when the matching index was not the first index
that contained the min/max field.
sql/opt_sum.cc:
A misplaced initialization for the returned parameter
prefix_len in the function find_key_for_maxmin caused
usage of a wrong key prefix by the min/max optimization
in cases when the matching index was not the first index
that contained the min/max field.
mysql-test/t/func_group.test:
Added a test case for bug #8893.
mysql-test/r/func_group.result:
Added a test case for bug #8893.
BitKeeper/etc/logging_ok:
Logging to logging@openlogging.org accepted
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
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
Renamed HA_VAR_LENGTH to HA_VAR_LENGTH_PART
Renamed in all files FIELD_TYPE_STRING and FIELD_TYPE_VAR_STRING to MYSQL_TYPE_STRING and MYSQL_TYPE_VAR_STRING to make it easy to catch all possible errors
Added support for VARCHAR KEYS to heap
Removed support for ISAM
Now only long VARCHAR columns are changed to TEXT on demand (not CHAR)
Internal temporary files can now use fixed length tables if the used VARCHAR columns are short
BitKeeper/deleted/.del-ha_isam.cc~4dce65904db2675e:
Delete: sql/ha_isam.cc
BitKeeper/deleted/.del-_cache.c~b5d80b5c3ae233b1:
Delete: isam/_cache.c
BitKeeper/deleted/.del-_dbug.c~88d7964ae5e3c9bd:
Delete: isam/_dbug.c
BitKeeper/deleted/.del-_dynrec.c~48dd758f5a5450df:
Delete: isam/_dynrec.c
BitKeeper/deleted/.del-_key.c~ce62d47a6c681084:
Delete: isam/_key.c
BitKeeper/deleted/.del-_locking.c~dea4cdc6ea425c67:
Delete: isam/_locking.c
BitKeeper/deleted/.del-_packrec.c~47ae1b16c007e9be:
Delete: isam/_packrec.c
BitKeeper/deleted/.del-_page.c~148b1a613d052ee8:
Delete: isam/_page.c
BitKeeper/deleted/.del-_search.c~f509292aa1ff18ff:
Delete: isam/_search.c
BitKeeper/deleted/.del-_statrec.c~58d9263b3475d58b:
Delete: isam/_statrec.c
BitKeeper/deleted/.del-changed.c~d075de80a314b02d:
Delete: isam/changed.c
BitKeeper/deleted/.del-close.c~fd62629496ee5bcc:
Delete: isam/close.c
BitKeeper/deleted/.del-create.c~96cecc433c0c2242:
Delete: isam/create.c
BitKeeper/deleted/.del-delete.c~65ee8daaa75a14b6:
Delete: isam/delete.c
BitKeeper/deleted/.del-extra.c~706f29d72beb2565:
Delete: isam/extra.c
BitKeeper/deleted/.del-info.c~96cfb747af8da0d:
Delete: isam/info.c
BitKeeper/deleted/.del-isamchk.c~c0f59c2687d2248f:
Delete: isam/isamchk.c
BitKeeper/deleted/.del-isamlog.c~85b6b31c6e2b8519:
Delete: isam/isamlog.c
BitKeeper/deleted/.del-log.c~55a973013d55cade:
Delete: isam/log.c
BitKeeper/deleted/.del-open.c~95b3b75042fae00a:
Delete: isam/open.c
BitKeeper/deleted/.del-pack_isam.c~43801f0df7504834:
Delete: isam/pack_isam.c
BitKeeper/deleted/.del-panic.c~f7fd71605324f8f3:
Delete: isam/panic.c
BitKeeper/deleted/.del-range.c~142f1f8ac4948082:
Delete: isam/range.c
BitKeeper/deleted/.del-rfirst.c~66f494291dc005d3:
Delete: isam/rfirst.c
BitKeeper/deleted/.del-rkey.c~cc54c6498352f999:
Delete: isam/rkey.c
BitKeeper/deleted/.del-rlast.c~d1fe1866139e9866:
Delete: isam/rlast.c
BitKeeper/deleted/.del-rnext.c~b308eaa1e11ea7de:
Delete: isam/rnext.c
BitKeeper/deleted/.del-rprev.c~b359f71fdea4bbce:
Delete: isam/rprev.c
BitKeeper/deleted/.del-rrnd.c~7fcfcce88d4a5200:
Delete: isam/rrnd.c
BitKeeper/deleted/.del-rsame.c~75a62d5548103a15:
Delete: isam/rsame.c
BitKeeper/deleted/.del-rsamepos.c~5b5652dd2cda6d5d:
Delete: isam/rsamepos.c
BitKeeper/deleted/.del-sort.c~e2e56b5a37ce86f4:
Delete: isam/sort.c
BitKeeper/deleted/.del-static.c~3a1354b84f4a9cc7:
Delete: isam/static.c
BitKeeper/deleted/.del-test1.c~64d52e9412d457ed:
Delete: isam/test1.c
BitKeeper/deleted/.del-test2.c~2f9a632cab572958:
Delete: isam/test2.c
BitKeeper/deleted/.del-test3.c~e8a7a4afe8a087:
Delete: isam/test3.c
BitKeeper/deleted/.del-isamdef.h~ac8d49e7e2201c66:
Delete: isam/isamdef.h
BitKeeper/deleted/.del-update.c~670264f51dc44934:
Delete: isam/update.c
BitKeeper/deleted/.del-write.c~8f1918b1f6770e54:
Delete: isam/write.c
BitKeeper/deleted/.del-Makefile.am~6cfa0db5e7778d09:
Delete: isam/Makefile.am
BitKeeper/deleted/.del-make-ccc~3ee55391eda0b0ab:
Delete: isam/make-ccc
BitKeeper/deleted/.del-ChangeLog~208984fb7a51e568:
Delete: isam/ChangeLog
BitKeeper/deleted/.del-test_all.res~c2aafb49a3a77db7:
Delete: isam/test_all.res
BitKeeper/deleted/.del-test_all~93c701e44a9c5b65:
Delete: isam/test_all
BitKeeper/deleted/.del-.cvsignore~54f6f0f2d5012561:
Delete: isam/.cvsignore
BitKeeper/deleted/.del-ha_isammrg.cc~dc682e4755d77a2e:
Delete: sql/ha_isammrg.cc
BitKeeper/deleted/.del-ha_isam.h~bf53d533be3d3927:
Delete: sql/ha_isam.h
BitKeeper/deleted/.del-ha_isammrg.h~66fd2e5bfe7207dc:
Delete: sql/ha_isammrg.h
acinclude.m4:
Remove ISAM
client/mysqldump.c:
FIELD_TYPE -> MYSQL_TYPE
client/mysqltest.c:
Add missing DBUG_RETURN
configure.in:
Remove ISAM
heap/heapdef.h:
Add support for VARCHAR
heap/hp_create.c:
Add support for VARCHAR
heap/hp_delete.c:
Add support for VARCHAR
heap/hp_hash.c:
Add support for VARCHAR
(VARCHAR keys was not supported before)
heap/hp_rkey.c:
Add support for VARCHAR
heap/hp_update.c:
Add support for VARCHAR
heap/hp_write.c:
Add support for VARCHAR
(Added flag SEARCH_UPDATE to mark that this is an update)
include/decimal.h:
Remove not needed my_global.h
include/m_ctype.h:
Add support for VARCHAR
include/my_base.h:
Add support for VARCHAR
include/my_handler.h:
Moved general purpose macro from MyISAM code
include/mysql_com.h:
Add support for VARCHAR
libmysql/libmysql.c:
Add support for VARCHAR
libmysqld/Makefile.am:
Removed ISAM
myisam/ft_static.c:
Add support for VARCHAR
myisam/ft_test1.c:
Add support for VARCHAR
myisam/ft_update.c:
Add support for VARCHAR
myisam/mi_check.c:
Add support for VARCHAR
myisam/mi_create.c:
Add support for VARCHAR
- VARCHAR key segments are marked with HA_VAR_LENGTH_PART
myisam/mi_key.c:
Add support for VARCHAR
Fixed bug in old VARCHAR code when reading index-only
myisam/mi_range.c:
Fixed comment style
myisam/mi_rnext_same.c:
Handle case where equal keys can be of different length
myisam/mi_search.c:
Add support for VARCHAR
myisam/mi_test1.c:
Add support for VARCHAR
myisam/mi_unique.c:
Add support for VARCHAR
(Some new code to handle keys that are equal but have different lengths)
myisam/mi_write.c:
Fixed comment
myisam/myisamchk.c:
Better infotext if wrong type
mysql-test/r/bdb.result:
Updated old result and new results for VARCHAR
mysql-test/r/create.result:
Updated old result and new results for VARCHAR
mysql-test/r/ctype_tis620.result:
Updated old result and new results for VARCHAR
(Old code sorted tis620 wrong)
mysql-test/r/ctype_ucs.result:
Updated old result and new results for VARCHAR
mysql-test/r/endspace.result:
Updated old result and new results for VARCHAR
mysql-test/r/func_like.result:
Updated old result and new results for VARCHAR
mysql-test/r/heap.result:
Updated old result and new results for VARCHAR
mysql-test/r/innodb.result:
Updated old result. This will change a bit when also InnoDB supports VARCHAR
mysql-test/r/merge.result:
Updated old result and new results for VARCHAR
mysql-test/r/myisam.result:
Updated old result and new results for VARCHAR
mysql-test/r/mysqldump.result:
Updated old result and new results for VARCHAR
mysql-test/r/order_by.result:
Updated old result and new results for VARCHAR
(Key length is different for VARCHAR)
mysql-test/r/ps.result:
Updated old result and new results for VARCHAR
mysql-test/r/ps_1general.result:
Updated results for new .frm version
Don't print seconds in show full process list as this may change
mysql-test/r/ps_2myisam.result:
Updated old result and new results for VARCHAR
mysql-test/r/ps_3innodb.result:
Updated old result and new results for VARCHAR
mysql-test/r/ps_4heap.result:
Updated old result and new results for VARCHAR
mysql-test/r/ps_5merge.result:
Updated old result and new results for VARCHAR
mysql-test/r/ps_6bdb.result:
Updated old result and new results for VARCHAR
mysql-test/r/select.result.es:
Updated results by hand
mysql-test/r/select.result:
Updated old result and new results for VARCHAR
mysql-test/r/select_found.result:
Updated old result and new results for VARCHAR
mysql-test/r/show_check.result:
Updated old result and new results for VARCHAR
mysql-test/r/strict.result:
Updated old result and new results for VARCHAR
mysql-test/r/subselect.result:
Updated old result and new results for VARCHAR
mysql-test/r/system_mysql_db.result:
Updated old result and new results for VARCHAR
mysql-test/r/type_blob.result:
Updated old result and new results for VARCHAR
mysql-test/r/type_ranges.result:
Updated old result and new results for VARCHAR
mysql-test/r/type_ranges.result.es:
Updated some results by hand
mysql-test/t/bdb.test:
Test VARCHAR
mysql-test/t/ctype_ucs.test:
Some fixes related to VARCHAR
mysql-test/t/endspace.test:
Fixes to make it easier to compare columns with end space
mysql-test/t/heap.test:
Test VARCHAR
mysql-test/t/innodb.test:
Prepare for testing VARCHAR
mysql-test/t/myisam.test:
Test VARCHAR
mysql-test/t/ps_1general.test:
Don't show seconds for show processlist
mysql-test/t/ps_4heap.test:
Update for VARCHAR
mysql-test/t/strict.test:
Fix test for VARCHAR
mysql-test/t/type_blob.test:
Update test for VARCHAR
Note that now you can't store 'a' and 'a ' in an unique varchar/text index if the column is not binary
mysys/my_handler.c:
Add support for VARCHAR
ndb/src/common/util/NdbSqlUtil.cpp:
Fix for usage of strnncollsp
scripts/mysql_fix_privilege_tables.sh:
Simple fix so that my_print_defaults works
sql/Makefile.am:
Remove ISAM
sql/field.cc:
Add support for VARCHAR
Fixed the keys for blob's are compared with strnncollsp
Ensure that old tables from MySQL 4.0 works as they did before.
(Old VARCHAR will be converted to new VARCHAR on ALTER TABLE)
sql/field.h:
Add support for VARCHAR
sql/field_conv.cc:
Change FIELD_TYPE_VAR_STRING -> MYSQL_TYPE_VARCHAR
Added usage of HA_KEY_BLOB_LENGTH
sql/ha_berkeley.cc:
Add support for VARCHAR
Added usage of table->insert_or_update if we would ever want to know in key_cmp if we are changing keys
sql/ha_heap.cc:
Add support for VARCHAR
sql/ha_innodb.cc:
Changed MYSQL_TYPE_VAR_STRING to MYSQL_TYPE_VARCHAR.
Waiting for Heikki to add full VARCHAR support
sql/ha_innodb.h:
InnoDB doesn't support full VARCHAR yet
sql/ha_myisam.cc:
Add support for VARCHAR
sql/ha_ndbcluster.cc:
Add support for VARCHAR
sql/handler.h:
Added HA_NO_VARCHAR for table handler that doesn't support VARCHAR. In this case MySQL will create a normal CHAR instead
sql/item.cc:
Fixed access of already freed memory
Added support of VARCHAR
- varchar length is now checked in mysql_prepare
sql/item_cmpfunc.cc:
Added new parameter to strncollsp
sql/item_sum.cc:
Added new parameter to strncollsp
FIELD_TYPE -> MYSQL_TYPE
sql/key.cc:
Add support for VARCHAR
sql/opt_range.cc:
Remove character set parameter from set_key_image()
sql/opt_sum.cc:
Remove character set parameter from set_key_image()
sql/protocol.cc:
Return MYSQL_TYPE_VAR_STRING instead of MYSQL_TYPE_VARCHAR to clients (to not cause compatiblity problems)
sql/sql_acl.cc:
Change key handling code so that we can use CHAR or VARCHAR for the user table columns
sql/sql_base.cc:
Remove old, not used code
sql/sql_help.cc:
Remove charset from get_key_image
sql/sql_parse.cc:
Ensure that OPTION_TABLE_LOCK is cleared ASAP; This fixed a problem in BDB transaction code when one used LOCK TABLES on a BDB table
Added support for VARCHAR
Moved field length checking and VARCHAR -> TEXT convert to mysql_prepare (as we need the know the character set for the column)
sql/sql_select.cc:
Added support of VARCHAR
Added heuristic to use fixed size rows for tmp tables if we are using only a few short VARCHAR's
sql/sql_string.cc:
Added extra argument to strnncollsp
sql/sql_table.cc:
Add support for VARCHAR
Automaticly convert (with warning) big VARCHAR (but not CHAR) to TEXT
If handler doesn't support VARCHAR convert VARCHAR to CHAR
sql/sql_update.cc:
Fixed compiler warning
sql/sql_yacc.yy:
Add support for VARCHAR
sql/strfunc.cc:
Fixed valgrind warning
sql/structs.h:
Added 'table' to KEY structure to make life easier for some handler functions
sql/table.cc:
Add support for VARCHAR
- New .frm version
- FIELD_TYPE -> MYSQL_TYPE
sql/table.h:
Added insert_or_update; A bool flag a handler can set/reset if needed (for handler internal usage)
sql/unireg.h:
Add support for VARCHAR
strings/ctype-big5.c:
Added new argument to strnncollsp() to allow one to define if end space are significant or not
Changed my_like_range... to correctly calculate min_length & max_length
strings/ctype-bin.c:
Added new argument to strnncollsp() to allow one to define if end space are significant or not
strings/ctype-czech.c:
Changed my_like_range... to correctly calculate min_length & max_length
strings/ctype-gbk.c:
Added new argument to strnncollsp() to allow one to define if end space are significant or not
Changed my_like_range... to correctly calculate min_length & max_length
strings/ctype-latin1.c:
Added new argument to strnncollsp() to allow one to define if end space are significant or not
strings/ctype-mb.c:
Added new argument to strnncollsp() to allow one to define if end space are significant or not
Changed my_like_range... to correctly calculate min_length & max_length
strings/ctype-simple.c:
Added new argument to strnncollsp() to allow one to define if end space are significant or not
Changed my_like_range... to correctly calculate min_length & max_length
strings/ctype-sjis.c:
Added new argument to strnncollsp() to allow one to define if end space are significant or not
Changed my_like_range... to correctly calculate min_length & max_length
strings/ctype-tis620.c:
Added new argument to strnncollsp() to allow one to define if end space are significant or not
Changed my_like_range... to correctly calculate min_length & max_length
strings/ctype-uca.c:
Added new argument to strnncollsp() to allow one to define if end space are significant or not
strings/ctype-ucs2.c:
Changed my_like_range... to correctly calculate min_length & max_length
strings/ctype-utf8.c:
Added new argument to strnncollsp() to allow one to define if end space are significant or not
strings/ctype-win1250ch.c:
Changed my_like_range... to correctly calculate min_length & max_length
strings/decimal.c:
Fixed include files usage
Fixed some compiler warnings
tests/client_test.c:
Ensure tests works with VARCHAR
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/opt_sum.cc:
Auto merged
sql/sp.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_help.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_view.h:
Auto merged
sql/sql_yacc.yy:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_subselect.cc:
Auto merged
sql/mysql_priv.h:
Auto merged
sql/opt_sum.cc:
Auto merged
sql/sp.cc:
Auto merged
sql/sql_class.h:
Auto merged
sql/sql_delete.cc:
Auto merged
sql/sql_help.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_load.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
sql/sql_select.cc:
Auto merged
sql/sql_view.h:
Auto merged
sql/sql_yacc.yy:
Auto merged
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
BitKeeper/triggers/post-commit:
Auto merged
Docs/Support/texi2html:
Auto merged
Makefile.am:
Auto merged
client/Makefile.am:
Auto merged
client/mysql.cc:
Auto merged
client/mysqldump.c:
Auto merged
include/my_base.h:
Auto merged
include/my_global.h:
Auto merged
include/my_pthread.h:
Auto merged
include/my_sys.h:
Auto merged
include/my_time.h:
Auto merged
include/mysql.h:
Auto merged
include/mysql_com.h:
Auto merged
innobase/buf/buf0buf.c:
Auto merged
innobase/include/row0mysql.h:
Auto merged
innobase/row/row0sel.c:
Auto merged
libmysql/libmysql.c:
Auto merged
libmysqld/examples/Makefile.am:
Auto merged
myisam/mi_check.c:
Auto merged
mysql-test/include/ps_modify.inc:
Auto merged
mysql-test/install_test_db.sh:
Auto merged
mysql-test/r/alter_table.result:
Auto merged
mysql-test/r/auto_increment.result:
Auto merged
mysql-test/r/bdb.result:
Auto merged
mysql-test/r/ctype_latin1_de.result:
Auto merged
mysql-test/r/ctype_recoding.result:
Auto merged
mysql-test/r/fulltext.result:
Auto merged
mysql-test/r/func_gconcat.result:
Auto merged
mysql-test/r/func_group.result:
Auto merged
mysql-test/r/func_if.result:
Auto merged
mysql-test/t/derived.test:
Auto merged
mysql-test/t/insert.test:
merge with 4.1
Fixed test case to not use 'if exists' when it shouldn't
mysql-test/t/range.test:
merge with 4.1
Added missing drop table
sql/ha_ndbcluster.cc:
merge with 4.1
Simple optimization: use max() instead of ? :
sql/item_func.cc:
merge with 4.1
(Added back old variable names for easier merges)
sql/opt_range.cc:
merge with 4.1
Removed argument 'parent_alloc' from QUICK_RANGE_SELECT as this was not used
Added assert if using QUICK_GROUP_MIN_MAX_SELECT with parent_alloc as the init() function can't handle this
Changed back get_quick_select_for_ref() to use it's own alloc root becasue this function may be called several times for one query
sql/sql_handler.cc:
merge with 4.1
change variable 'err' to 'error' as same function had a label named 'err'
sql/sql_update.cc:
Use multi-update code from 5.0 instead of 4.1
We will fix the locking code shortly in 5.0 to be faster than in 4.1
BitKeeper/etc/ignore:
auto-union
mysql-test/r/range.result:
Auto merged
mysql-test/r/select.result:
Auto merged
mysql-test/t/range.test:
Auto merged
sql/item.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/opt_sum.cc:
Auto merged
sql/sql_select.h:
Auto merged
sql/item.h:
Manual merge
sql/sql_select.cc:
Manual merge
BitKeeper/etc/ignore:
auto-union
mysql-test/r/bdb.result:
Auto merged
mysql-test/r/func_group.result:
Auto merged
mysql-test/r/innodb.result:
Auto merged
mysql-test/r/heap_btree.result:
Auto merged
mysql-test/r/select.result:
Auto merged
mysql-test/r/user_var.result:
Auto merged
mysql-test/t/range.test:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_func.h:
Auto merged
sql/item_row.cc:
Auto merged
sql/item_strfunc.h:
Auto merged
sql/opt_sum.cc:
Auto merged
sql/sql_list.h:
Auto merged
mysql-test/r/func_test.result:
Post-automerge resolution of conflicts
mysql-test/r/index_merge.result:
Post-automerge resolution of conflicts
mysql-test/r/join_outer.result:
Post-automerge resolution of conflicts
mysql-test/r/range.result:
Post-automerge resolution of conflicts
mysql-test/r/subselect.result:
Post-automerge resolution of conflicts
sql/item.cc:
Post-automerge resolution of conflicts
sql/item.h:
Post-automerge resolution of conflicts
sql/item_cmpfunc.cc:
Post-automerge resolution of conflicts
sql/item_cmpfunc.h:
Post-automerge resolution of conflicts
sql/opt_range.cc:
Post-automerge resolution of conflicts
sql/sql_select.cc:
Post-automerge resolution of conflicts
sql/sql_select.h:
Post-automerge resolution of conflicts
support of merged VIEW over several tables added (WL#1809)
mysql-test/r/view.result:
merge of VIEW with several tables
mysql-test/t/view.test:
merge of VIEW with several tables
sql/item.cc:
renaming Item and restoring item name on cleunup()
sql/item.h:
renaming Item and restoring item name on cleunup()
debug output added
sql/item_cmpfunc.h:
setup_conds() changed to support two tables lists
sql/item_subselect.cc:
list of table leaves used instead of local table list for name resolving
sql/mysql_priv.h:
setup_conds() and setup_tables() changed to support two tables lists
sql/opt_sum.cc:
list of table leaves used instead of local table list for name resolving
sql/sp.cc:
setup_tables() changed to support two tables lists
sql/sql_base.cc:
skip temporary tables in table finding
fixed merged view fields names (BUG#5147)
sql/sql_delete.cc:
setup_conds() and setup_tables() changed to support two tables lists
sql/sql_help.cc:
setup_tables() changed to support two tables lists
sql/sql_insert.cc:
setup_tables() changed to support two tables lists
name handling support
sql/sql_lex.cc:
allow view with several tables for MERGE
sql/sql_lex.h:
new table list
sql/sql_load.cc:
setup_tables() changed to support two tables lists
sql/sql_olap.cc:
setup_tables() changed to support two tables lists
sql/sql_parse.cc:
new list support
sql/sql_prepare.cc:
new list support
sql/sql_select.cc:
list of table leaves used instead of local table list for name resolving
sql/sql_update.cc:
setup_conds() and setup_tables() changed to support two tables lists
sql/sql_view.cc:
support of MERGED VIEWS with several tables
sql/sql_yacc.yy:
removed blanks in new code
sql/table.cc:
fixed setup view code
support of merged VIEW over several tables added
sql/table.h:
fixed merged view fields names (BUG#5147)
Added test case for bug #5406.
opt_sum.cc:
Fixed bug #5406.
sql/opt_sum.cc:
Fixed bug #5406.
mysql-test/r/func_group.result:
Added test case for bug #5406.
mysql-test/t/func_group.test:
Added test case for bug #5406.
- after-review changes
- merged with the source tree from 204-08-27
mysql-test/r/distinct.result:
Different plans due to group-by optimization.
sql/ha_myisam.cc:
More general interface to key_copy.
sql/handler.cc:
More general interface to key_copy.
sql/item.cc:
New method to collect all Item_field objects. Used by Item::walk.
sql/item.h:
Several methods to collect different kinds of items from expression trees.
Used by Item::walk.
sql/item_sum.cc:
Added helper to collect Item_sum objects.
sql/item_sum.h:
Methods to collect and test Item_sum objects.
sql/key.cc:
More general interface to key_copy and key_restore.
sql/mysql_priv.h:
More general interface to key_copy and key_restore.
sql/opt_range.cc:
Complete implementaion of WL#1724 "Min/Max Optimization for Queries with Group By Clause".
sql/opt_range.h:
Complete implementaion of WL#1724 "Min/Max Optimization for Queries with Group By Clause".
sql/opt_sum.cc:
simple_pred is re-used in opt_range.cc
sql/sql_acl.cc:
More general interface to key_copy and key_restore.
sql/sql_handler.cc:
More general interface to key_copy.
sql/sql_insert.cc:
More general interface to key_copy.
sql/sql_select.cc:
Changes to hook the new QUICK_GROUP_MIN_MAX_SELECT due to two differences from all other
quick selects:
1)
This quick select may be created (and used) even if there is no WHERE clause.
Several places assumed that a QUICK_SELECT is constructed only if there is a WHERE clause,
which had to be changed so that QUICK_GROUP_MIN_MAX can be used.
2)
Unlike all other quick selects, this QUICK_GROUP_MIN_MAX_SELECT operates for GROUP BY queries.
Since for the caller the quick select already produces one result tuple per group, there is
no need to call end_send_group, instead we have to call end_send as for a regular quick select.
sql/sql_select.h:
simple_pred is re-used in opt_range.cc
two TABLE_LIST copy eliminated
include/mysqld_error.h:
errors of view
libmysqld/Makefile.am:
new view file
mysql-test/r/connect.result:
SHOW TABLE show type of table
mysql-test/r/ctype_recoding.result:
SHOW TABLE show type of table
mysql-test/r/drop.result:
SHOW TABLE show type of table
mysql-test/r/grant.result:
new two privileges (CRETEA|SHOW VIEW)
mysql-test/r/lowercase_table.result:
SHOW TABLE show type of table
mysql-test/r/ps_1general.result:
SHOW TABLE show type of table
mysql-test/r/rename.result:
SHOW TABLE show type of table
mysql-test/r/rpl000009.result:
SHOW TABLE show type of table
mysql-test/r/rpl_error_ignored_table.result:
SHOW TABLE show type of table
mysql-test/r/select.result:
SHOW TABLE show type of table
mysql-test/r/system_mysql_db.result:
SHOW TABLE show type of table
new two privileges (CRETEA|SHOW VIEW)
mysql-test/t/system_mysql_db_fix.test:
removing all system tables
scripts/mysql_fix_privilege_tables.sql:
new two privileges (CRETEA|SHOW VIEW)
sql/Makefile.am:
new VIEW related file
sql/ha_myisammrg.cc:
two TABLE_LIST copy eliminated
sql/item.cc:
VIEW
sql/item.h:
VIEW
sql/item_subselect.cc:
VIEW
sql/item_subselect.h:
VIEW
sql/lex.h:
VIEW
sql/lock.cc:
VIEW
sql/mysql_priv.h:
VIEW
sql/mysqld.cc:
VIEW
new parameter - sql_updatable_view_key
sql/opt_sum.cc:
two TABLE_LIST copy eliminated
sql/set_var.cc:
new parameter - sql_updatable_view_key
sql/share/czech/errmsg.txt:
errors messages of views
sql/share/danish/errmsg.txt:
errors messages of views
sql/share/dutch/errmsg.txt:
errors messages of views
sql/share/english/errmsg.txt:
errors messages of views
sql/share/estonian/errmsg.txt:
errors messages of views
sql/share/french/errmsg.txt:
errors messages of views
sql/share/german/errmsg.txt:
errors messages of views
sql/share/greek/errmsg.txt:
errors messages of views
sql/share/hungarian/errmsg.txt:
errors messages of views
sql/share/italian/errmsg.txt:
errors messages of views
sql/share/japanese/errmsg.txt:
errors messages of views
sql/share/korean/errmsg.txt:
errors messages of views
sql/share/norwegian-ny/errmsg.txt:
errors messages of views
sql/share/norwegian/errmsg.txt:
errors messages of views
sql/share/polish/errmsg.txt:
errors messages of views
sql/share/portuguese/errmsg.txt:
errors messages of views
sql/share/romanian/errmsg.txt:
errors messages of views
sql/share/russian/errmsg.txt:
errors messages of views
sql/share/serbian/errmsg.txt:
errors messages of views
sql/share/slovak/errmsg.txt:
errors messages of views
sql/share/spanish/errmsg.txt:
errors messages of views
sql/share/swedish/errmsg.txt:
errors messages of views
sql/share/ukrainian/errmsg.txt:
errors messages of views
sql/slave.cc:
two TABLE_LIST copy eliminated
sql/sp.cc:
VIEW
sql/sql_acl.cc:
VIEW
sql/sql_acl.h:
VIEW
sql/sql_base.cc:
VIEW
sql/sql_cache.cc:
two TABLE_LIST copy eliminated
sql/sql_class.h:
VIEW
sql/sql_db.cc:
two TABLE_LIST copy eliminated
sql/sql_delete.cc:
VIEW
sql/sql_derived.cc:
VIEW
sql/sql_handler.cc:
two TABLE_LIST copy eliminated
sql/sql_help.cc:
two TABLE_LIST copy eliminated
sql/sql_insert.cc:
VIEW
sql/sql_lex.cc:
VIEW
sql/sql_lex.h:
VIEW
sql/sql_load.cc:
VIEW
sql/sql_olap.cc:
VIEW
sql/sql_parse.cc:
two TABLE_LIST copy eliminated
VIEW
sql/sql_prepare.cc:
VIEW
sql/sql_rename.cc:
two TABLE_LIST copy eliminated
sql/sql_select.cc:
VIEW
sql/sql_show.cc:
VIEW
sql/sql_table.cc:
VIEW
sql/sql_union.cc:
VIEW
sql/sql_update.cc:
VIEW
sql/sql_yacc.yy:
VIEW
sql/table.cc:
VIEW
sql/table.h:
VIEW
sql/tztime.cc:
two TABLE_LIST copy eliminated
sql/unireg.h:
VIEW
tests/client_test.c:
VIEW
Added key part to optimize_range() to fix problems when using fields in key parts.
sql/examples/ha_archive.h:
New handler::index_flags() definition
sql/examples/ha_example.h:
New handler::index_flags() definition
sql/field.cc:
New optimize_range() definition
sql/field.h:
New optimize_range() definition
sql/ha_berkeley.cc:
New handler::index_flags() definition
sql/ha_berkeley.h:
New handler::index_flags() definition
sql/ha_heap.h:
New handler::index_flags() definition
sql/ha_innodb.h:
New handler::index_flags() definition
sql/ha_isam.h:
New handler::index_flags() definition
sql/ha_isammrg.h:
New handler::index_flags() definition
sql/ha_myisam.h:
New handler::index_flags() definition
sql/ha_myisammrg.h:
New handler::index_flags() definition
sql/ha_ndbcluster.cc:
New handler::index_flags() definition
sql/ha_ndbcluster.h:
New handler::index_flags() definition
sql/handler.h:
New handler::index_flags() definition
sql/log.cc:
Fixed compiler warnings
sql/log_event.cc:
Fixed compiler warnings (and renamed short variable name)
sql/opt_range.cc:
New handler::index_flags() definition
sql/opt_sum.cc:
New handler::index_flags() definition
sql/set_var.cc:
Removed compiler warnings
sql/sql_db.cc:
Removed compiler warnings
sql/sql_select.cc:
New handler::index_flags() definition
sql/sql_show.cc:
Removed compiler warnings
sql/sql_update.cc:
Removed compiler warnings
sql/table.cc:
New handler::index_flags() definition
New records_in_range() interface (similar to read_range())
Macros for faster bitmap handling
Simplify read_range() code (#WL1786)
New general key_cmp() function to compare keys
heap/hp_hash.c:
New records_in_range() interface
include/heap.h:
New records_in_range() interface
include/my_base.h:
Moved 'key_range' here so that all table handlers can use it
include/my_bitmap.h:
Make some bitmap functions inline for faster usage in one thread
include/myisam.h:
New records_in_range() interface
include/myisammrg.h:
New records_in_range() interface
myisam/mi_range.c:
New records_in_range() interface
myisam/mi_test2.c:
New records_in_range() interface
myisam/rt_test.c:
New records_in_range() interface
Indentation fixes
myisam/sp_test.c:
New records_in_range() interface
Indentation fixes
myisammrg/myrg_range.c:
New records_in_range() interface
mysys/my_bitmap.c:
Make some bitmap functions inline for faster usage in one thread
sql/examples/ha_example.cc:
New records_in_range() interface
sql/field.cc:
Fixed indentation
sql/ha_berkeley.cc:
New records_in_range() interface
sql/ha_berkeley.h:
New records_in_range() interface
sql/ha_heap.cc:
New records_in_range() interface
sql/ha_heap.h:
New records_in_range() interface
sql/ha_innodb.cc:
New records_in_range() interface
sql/ha_innodb.h:
New records_in_range() interface
sql/ha_isam.cc:
New records_in_range() interface
sql/ha_isam.h:
New records_in_range() interface
sql/ha_myisam.cc:
New records_in_range() interface
sql/ha_myisam.h:
New records_in_range() interface
sql/ha_myisammrg.cc:
New records_in_range() interface
sql/ha_myisammrg.h:
New records_in_range() interface
sql/ha_ndbcluster.cc:
New records_in_range() interface
sql/ha_ndbcluster.h:
New records_in_range() interface
sql/handler.cc:
Simplify read_range() interface:
- Add 'eq_range' to read_range_first
- Remove 'eq_range' parameer from read_range_next()
- Trust values from index_next_same()
- Simplfy compare_key() by moving key_comparision to key.cc (as this code can be reused from other places)
sql/handler.h:
Move key_range to my_base.h to be used by external table handlers
Simplify read_range() interface
New records_in_range() interface
sql/key.cc:
Rename key_cmp() to key_cmp_if_same() to make it more descriptive
Add new key_cmp() function usable from range and handler code.
sql/mysql_priv.h:
Prototypes for new functions
sql/opt_range.cc:
New records_in_range() interface
Simplify cmp_prev()
(We can in 5.0 simplify cmp_next() the same way)
sql/opt_range.h:
Added key_part_info to QUICK_SELECT to be able to use key_cmp() in get_next()
sql/opt_sum.cc:
key_cmp -> key_cmp_if_same
sql/sql_acl.cc:
key_cmp -> key_cmp_if_same
sql/sql_select.cc:
key_cmp -> key_cmp_if_same
mysql-test/t/range.test:
Auto merged
sql/item.cc:
Auto merged
sql/item.h:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_cmpfunc.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/opt_range.cc:
Auto merged
sql/opt_sum.cc:
Auto merged
sql/sql_list.h:
Auto merged
sql/sql_select.h:
Auto merged
The objects of this class represent multiple conjunctive equalities
in where conditions: =(f1,f2,...fn) <=> f1=f2 and f2= ... and =fn.
The objects are used to generate new possibale paths to access
the tables when executing a query.
They are also used to optimize the execution plan
chosen by the optimizer for the query.
sql/item.cc:
Introduced Item_equal
sql/item.h:
Introduced Item_equal.
Added traverse method.
sql/item_cmpfunc.cc:
Introduced Item_equal.
Added traverse mehtod.
sql/item_cmpfunc.h:
Itroduced Item_equal and Item_equal_iterator.
sql/item_func.cc:
Added traverse method.
Introduced Item_equal.
sql/item_func.h:
Introduced Item_equal.
Added traverse method.
sql/item_row.cc:
Added traverse method.
sql/item_row.h:
Added traverse method.
sql/item_strfunc.h:
Added traverse method.
sql/opt_range.cc:
Used Item_equal in range analysis.
sql/opt_sum.cc:
Introduced Item_equal.
sql/sql_list.h:
Added concat and disjoin methods to lists.
Fixed remove method for lists.
sql/sql_select.cc:
Introdiced Item_equal:
created Item_equal;
used Item_equal objects to generate new paths to access tables.
used Item_equal objects to optimize the execution plan chosen by optimizer.
sql/sql_select.h:
Introduced Item_equal.
Fixed compiler warnings (IRIX C compiler and VC++)
VC++Files/client/mysqlclient.dsp:
Add missing file to project
VC++Files/libmysql/libmysql.dsp:
Add missing file to project
VC++Files/myisam/myisam.dsp:
Add missing file to project
VC++Files/mysys/mysys.dsp:
Add missing file to project
heap/hp_test1.c:
Fixed wrong call to heap_rkey()
heap/hp_test2.c:
Fixed wrong call to heap_rkey()
include/hash.h:
Move not used (internal) struct to hash.c
include/my_pthread.h:
Made some structs 'const char*' to avoid warnings
include/my_sys.h:
Moved key cache structs and functions to keycache.h
include/myisam.h:
Merge key cache structures to one
include/mysql.h:
Remove STDCALL from internal functions
include/sql_common.h:
Remove STDCALL from internal functions
include/violite.h:
Fixed compiler warning
isam/_locking.c:
Merge key cache structures to one
isam/_page.c:
Merge key cache structures to one
isam/close.c:
Merge key cache structures to one
isam/extra.c:
Merge key cache structures to one
isam/isamchk.c:
Merge key cache structures to one
isam/isamdef.h:
Merge key cache structures to one
isam/isamlog.c:
Merge key cache structures to one
isam/panic.c:
Merge key cache structures to one
isam/test2.c:
Merge key cache structures to one
isam/test3.c:
Merge key cache structures to one
libmysql/client_settings.h:
Remove STDCALL from internal functions
libmysql/libmysql.c:
Remove STDCALL from internal functions
myisam/ft_boolean_search.c:
Fixed compiler warning
myisam/ft_dump.c:
Fixed compiler warnings (%qx is not portable)
myisam/ft_update.c:
Fixed compiler warnings
myisam/mi_check.c:
Merge key cache structures to one
myisam/mi_close.c:
Merge key cache structures to one
myisam/mi_delete_all.c:
Merge key cache structures to one
myisam/mi_extra.c:
Merge key cache structures to one
myisam/mi_keycache.c:
Merge key cache structures to one
myisam/mi_locking.c:
Merge key cache structures to one
myisam/mi_page.c:
Merge key cache structures to one
myisam/mi_panic.c:
Merge key cache structures to one
myisam/mi_preload.c:
Merge key cache structures to one
myisam/mi_test1.c:
Merge key cache structures to one
myisam/mi_test2.c:
Merge key cache structures to one
myisam/mi_test3.c:
Merge key cache structures to one
myisam/myisamchk.c:
Merge key cache structures to one
myisam/myisamdef.h:
Merge key cache structures to one
myisam/myisamlog.c:
Merge key cache structures to one
Removed not used option
myisam/sort.c:
Fixed compiler warnings
myisam/sp_test.c:
Fixed compiler warnings
mysql-test/r/case.result:
Updated results after fix of correct NULL detection in WHEN
mysql-test/r/date_formats.result:
Updated results after fixing date handling
mysql-test/r/symlink.result:
Updated results after adding DEFAULT CHARSET
mysql-test/t/case.test:
New test
mysql-test/t/symlink.test:
Updated error numbers
mysys/hash.c:
Made HASH_LINK struct local
mysys/mf_keycache.c:
Merge key cache structures to one
Fixed key_cache_read() and key_cache_write() to be resize-safe.
mysys/mf_keycaches.c:
Merge key cache structures to one
mysys/thr_mutex.c:
Added test if mutex is initalized
sql-common/client.c:
Remove STDCALL from internal functions
sql/derror.cc:
Added comment
sql/field.cc:
Removed not used variables
sql/ha_innodb.cc:
Fixed compiler warnings (removed not used variables)
sql/ha_myisam.cc:
Merge key cache structures to one
sql/ha_myisammrg.cc:
Removed not used variables
sql/handler.cc:
Merge key cache structures to one
sql/handler.h:
Merge key cache structures to one
sql/item.cc:
Fixed compiler warning
sql/item_cmpfunc.cc:
Remove not used variables
sql/item_func.cc:
Remove not used variables
sql/item_strfunc.cc:
Removed not used variables
sql/item_sum.cc:
Removed not used variables
Moved setting of item_thd to fix_fields()
sql/item_timefunc.cc:
Removed not used variables
sql/mysql_priv.h:
Merge key cache structures to one
sql/mysqld.cc:
Merge key cache structures to one
init_thread_environment() is not called before mysql_init_variables(). This fixes a case where a mutex was not initialized before it was used
sql/opt_sum.cc:
Remove not used variables
sql/protocol.cc:
Don't send errors after ok has been sent
sql/protocol_cursor.cc:
Remove not used variable
Simple optimization
sql/repl_failsafe.cc:
Remove not used variables
sql/set_var.cc:
Merge key cache structures to one
sql/set_var.h:
Merge key cache structures to one
sql/sql_acl.cc:
Remove not used variables
sql/sql_base.cc:
Remove not used function
sql/sql_db.cc:
Remove not used variables
sql/sql_handler.cc:
Remove not used variables
sql/sql_insert.cc:
More DBUG statements
Simple code cleanup
sql/sql_lex.cc:
Remove not used variables
sql/sql_parse.cc:
Remove not used variables
sql/sql_prepare.cc:
Remove not used variables
sql/sql_repl.cc:
Remove not used variables
sql/sql_select.cc:
Remove not used variables
sql/sql_show.cc:
Remove not used variables
sql/sql_table.cc:
Merge key cache structures to one
Removed not used variables
sql/sql_test.cc:
Merge key cache structures to one
sql/strfunc.cc:
Fixed that find_type() returns correct value for partly matched words.
(This fixed the error found by date_formats.test)
sql/time.cc:
Remove not used variables
strings/my_strtoll10.c:
Fixed compiler warnings