Fixed the usage of spatial data (and Point in specific) with
non-spatial indexes.
Several problems :
- The length of the Point class was not updated to include the
spatial reference system identifier. Fixed by increasing with 4
bytes.
- The storage length of the spatial columns was not accounting for
the length that is prepended to it. Fixed by treating the
spatial data columns as blobs (and thus increasing the storage
length)
- When creating the key image for comparison in index read wrong
key image was created (the one needed for and r-tree search,
not the one for b-tree/other search). Fixed by treating the
spatial data columns as blobs (and creating the correct kind of
image based on the index type).
mysql-test/r/bdb_gis.result:
Bug #30825: bdb tests
mysql-test/r/gis-rtree.result:
Bug #30825: key length changed
mysql-test/r/gis.result:
Bug #30825: MyISAM tests
mysql-test/r/innodb_gis.result:
Bug #30825: InnoDB tests
mysql-test/t/bdb_gis.test:
Bug #30825: bdb tests
mysql-test/t/gis.test:
Bug #30825: MyISAM tests
mysql-test/t/innodb_gis.test:
Bug #30825: InnoDB tests
sql/field.cc:
Bug #30825: Removed Field_geom::get_key_image as Field_blog::get_key_image
takes type parameter into consideration and is a superset of
Field_geom::get_key_image()
sql/field.h:
Bug #30825: Removed Field_geom::get_key_image as Field_blog::get_key_image
takes type parameter into consideration and is a superset of
Field_geom::get_key_image()
sql/sql_select.h:
Bug #30825: Geometry data are a blob derivate
sql/sql_table.cc:
Bug #30825: Increased key length to accomodate for
spatial reference system identifier (srid)
sql/sql_yacc.yy:
Bug #30825: Increased key length to accomodate for
spatial reference system identifier (srid)
sql/table.cc:
Bug #30825: It stores a length for spatial data
as well, so increase the storage length (as it's
done for blobs).
mysql-test/include/gis_keys.inc:
Bug #30825: Test file for spatial data and non-spatial indexes
into mysql.com:/home/hf/work/30286/my50-30286
myisam/rt_index.c:
Auto merged
myisam/rt_mbr.c:
Auto merged
mysql-test/t/gis-rtree.test:
Auto merged
mysql-test/r/gis-rtree.result:
merging
As the result of DOUBLE claculations can be bigger
than DBL_MAX constant we use in code, we shouldn't use this constatn
as a biggest possible value.
Particularly the rtree_pick_key function set 'min_area= DBL_MAX' relying
that any rtree_area_increase result will be less so we return valid
key. Though in rtree_area_increase function we calculate the area
of the rectangle, so the result can be 'inf' if the rectangle is
huge enough, which is bigger than DBL_MAX.
Code of the rtree_pick_key modified so we always return a valid key.
myisam/rt_index.c:
Bug #30286 spatial index cause corruption and server crash!
always set the best_key with the first key we get, so we always return
somthing valid.
myisam/rt_mbr.c:
Bug #30286 spatial index cause corruption and server crash!
function comment extended
mysql-test/r/gis-rtree.result:
Bug #30286 spatial index cause corruption and server crash!
test result
mysql-test/t/gis-rtree.test:
Bug #30286 spatial index cause corruption and server crash!
test case
1. Threat MBR for a key as double[] and convert it only
when about to store it on disk.
2. Remove the redundant function get_double().
myisam/sp_key.c:
Bug #29070:
1. threat MBR for a key as double[] and convert it only
when about to store it on disk.
2. remove the redundant function get_double()
mysql-test/r/gis-rtree.result:
Bug #29070: test case
mysql-test/t/gis-rtree.test:
Bug #29070: test case
Different set of conditions is used to verify
the validity of index definitions over a GEOMETRY
column in ALTER TABLE and CREATE TABLE.
The difference was on how sub-keys notion validity
is checked.
Fixed by extending the CREATE TABLE condition to
support the cases allowed in ALTER TABLE.
Made the SHOW CREATE TABLE not to display spatial
indexes using the sub-key notion.
mysql-test/r/alter_table.result:
Bug #26794: test case
mysql-test/r/gis-rtree.result:
Bug #26794: fixed SHOW CREATE TABLE output.
mysql-test/t/alter_table.test:
Bug #26794: test case
sql/field.cc:
Bug #26794: Allow sub-keys for GEOMETRY
sql/sql_show.cc:
Bug #26794: Don't show sub-key notion
in SHOW CREATE TABLE for SPATIAL indexes.
sql/sql_table.cc:
Bug #26794: Allow sub-keys for GEOMETRY
into chilla.local:/home/mydev/mysql-5.0-bug25673
myisam/rt_index.c:
Auto merged
myisam/rt_key.c:
Auto merged
mysql-test/t/gis-rtree.test:
Auto merged
myisam/rt_split.c:
Bug#25673 - spatial index corruption, error 126 incorrect key file for table
Manual merge from 4.1
mysql-test/r/gis-rtree.result:
Bug#25673 - spatial index corruption, error 126 incorrect key file for table
Manual merge from 4.1
incorrect key file for table
In certain cases it could happen that deleting a row could
corrupt an RTREE index.
According to Guttman's algorithm, page underflow is handled
by storing the page in a list for later re-insertion. The
keys from the stored pages have to be inserted into the
remaining pages of the same level of the tree. Hence the
level number is stored in the re-insertion list together
with the page.
In the MySQL RTree implementation the level counts from zero
at the root page, increasing numbers for levels down the tree.
If during re-insertion of the keys the tree height grows, all
level numbers become invalid. The remaining keys will be
inserted at the wrong level.
The fix is to increment the level numbers stored in the
reinsert list after a split of the root block during reinsertion.
myisam/rt_index.c:
Bug#25673 - spatial index corruption, error 126
incorrect key file for table
Added a loop in rtree_delete() to increment the level numbers
stored in the reinsert list after a split of the root block
during reinsertion.
Added comments and DBUG statements.
myisam/rt_key.c:
Bug#25673 - spatial index corruption, error 126
incorrect key file for table
Added DBUG statements.
myisam/rt_split.c:
Bug#25673 - spatial index corruption, error 126
incorrect key file for table
Added DBUG statements.
mysql-test/r/gis-rtree.result:
Bug#25673 - spatial index corruption, error 126
incorrect key file for table
Added the test result.
mysql-test/t/gis-rtree.test:
Bug#25673 - spatial index corruption, error 126
incorrect key file for table
Added a test.
spatial index
While executing OPTIMIZE TABLE on MyISAM tables the server re-creates the
index file(s) in order to sort them physically by the key. This cannot be
done for R-tree indexes as it makes no sense.
The server was not checking the type of the index and was accessing an
R-tree index as if it was a B-tree.
Fixed by preventing sorting the index file if it contains an R-tree index.
myisam/mi_check.c:
Bug #23578: Corruption prevents Optimize table from working properly with a
spatial index
- disable sorting the index file if it contains an R-tree index.
mysql-test/r/gis-rtree.result:
Bug #23578: Corruption prevents Optimize table from working properly with a
spatial index
- test case
mysql-test/t/gis-rtree.test:
Bug #23578: Corruption prevents Optimize table from working properly with a
spatial index
- test case
We issued UNKNOWN ERROR initially in this place and forgot to
fix it when we implemented informative error message for this
mysql-test/r/gis-rtree.result:
test result
mysql-test/t/gis-rtree.test:
test case
sql/handler.cc:
let's issue informative error message here
into mysql.com:/home/hf/work/21888/my50-21888
myisam/mi_range.c:
Auto merged
mysql-test/r/gis-rtree.result:
Auto merged
mysql-test/t/gis-rtree.test:
Auto merged
RTree keys are really different from BTree and need specific
paramters to be set by optimizer to work.
Sometimes optimizer doesn't set those properly.
Here we decided just to add code to check that the parameters
are correct. Hope to fix optimizer sometimes.
myisam/mi_range.c:
return the error if min_key is NULL
mysql-test/r/gis-rtree.result:
test result
mysql-test/t/gis-rtree.test:
test case
When a default of '' was specified for TEXT/BLOB columns, the specification
was silently ignored. This is presumably to be nice to applications (or
people) who generate their column definitions in a not-very-clever fashion.
For clarity, doing this now results in a warning, or an error in strict
mode.
mysql-test/r/federated.result:
Update results
mysql-test/r/fulltext_distinct.result:
Update results
mysql-test/r/fulltext_update.result:
Update results
mysql-test/r/gis-rtree.result:
Update results
mysql-test/r/gis.result:
Update results
mysql-test/r/join_outer.result:
Update results
mysql-test/r/order_by.result:
Update results
mysql-test/r/type_blob.result:
Add new results
mysql-test/r/type_ranges.result:
Update results
mysql-test/t/type_blob.test:
Add new test
sql/field.cc:
Issue a warning when setting '' as the default on a BLOB/TEXT column,
and make it an error in strict mode. Also, clarify comments about when
NO_DEFAULT_VALUE_FLAG is set.
into mysql.com:/home/mydev/mysql-5.0-bug11824
myisam/mi_key.c:
Auto merged
mysql-test/r/func_sapdb.result:
Auto merged
mysql-test/r/gis-rtree.result:
Auto merged
mysql-test/r/symlink.result:
Auto merged
mysql-test/t/func_sapdb.test:
Auto merged
mysql-test/t/gis-rtree.test:
Auto merged
sql/item_timefunc.cc:
Auto merged
sql/sql_parse.cc:
Auto merged
myisam/mi_check.c:
Manual merge
mysql-test/r/func_time.result:
Manual merge
mysql-test/t/func_time.test:
Manual merge
CHECK TABLE could complain about a fully intact spatial index.
A wrong comparison operator was used for table checking.
The result was that it checked for non-matching spatial keys.
This succeeded if at least two different keys were present,
but failed if only the matching key was present.
I fixed the key comparison.
myisam/mi_check.c:
Bug#17877 - Corrupted spatial index
Fixed the comparison operator for checking a spatial index.
Using MBR_EQUAL | MBR_DATA to compare for equality and
include the data pointer in the comparison. The latter
finds the index entry that points to the current record.
This is necessary for non-unique indexes.
The old operator, SEARCH_SAME, is unknown to the rtree
search functions and handled like MBR_DISJOINT.
myisam/mi_key.c:
Bug#17877 - Corrupted spatial index
Added a missing DBUG_RETURN.
myisam/rt_index.c:
Bug#17877 - Corrupted spatial index
Included the data pointer in the copy of the search key.
This is necessary for searching the index entry that points
to a specific record if the search_flag contains MBR_DATA.
myisam/rt_mbr.c:
Bug#17877 - Corrupted spatial index
Extended the RT_CMP() macro with an assert for an
unexpected comparison operator.
mysql-test/r/gis-rtree.result:
Bug#17877 - Corrupted spatial index
The test result.
mysql-test/t/gis-rtree.test:
Bug#17877 - Corrupted spatial index
The test case.
into ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.0
mysql-test/r/gis-rtree.result:
Auto merged
mysql-test/r/ansi.result:
Merged from 4.1
mysql-test/r/auto_increment.result:
Merged from 4.1
mysql-test/r/mysqldump.result:
Merged from 4.1
mysql-test/r/symlink.result:
Merged from 4.1
mysql-test/t/auto_increment.test:
Merged from 4.1
mysql-test/t/mysqldump.test:
Merged from 4.1
sql/set_var.cc:
Merged from 4.1
sql/sql_show.cc:
Merged from 4.1
mysqldump / SHOW CREATE TABLE will show the NEXT available value for
the PK, rather than the *first* one that was available (that named in
the original CREATE TABLE ... AUTO_INCREMENT = ... statement).
This should produce correct and robust behaviour for the obvious use
cases -- when no data were inserted, then we'll produce a statement
featuring the same value the original CREATE TABLE had; if we dump
with values, INSERTing the values on the target machine should set the
correct next_ID anyway (and if not, we'll still have our AUTO_INCREMENT =
... to do that). Lastly, just the CREATE statement (with no data) for
a table that saw inserts would still result in a table that new values
could safely be inserted to).
There seems to be no robust way however to see whether the next_ID
field is > 1 because it was set to something else with CREATE TABLE
... AUTO_INCREMENT = ..., or because there is an AUTO_INCREMENT column
in the table (but no initial value was set with AUTO_INCREMENT = ...)
and then one or more rows were INSERTed, counting up next_ID. This
means that in both cases, we'll generate an AUTO_INCREMENT =
... clause in SHOW CREATE TABLE / mysqldump. As we also show info on,
say, charsets even if the user did not explicitly give that info in
their own CREATE TABLE, this shouldn't be an issue.
As per above, the next_ID will be affected by any INSERTs that have
taken place, though. This /should/ result in correct and robust
behaviour, but it may look non-intuitive to some users if they CREATE
TABLE ... AUTO_INCREMENT = 1000 and later (after some INSERTs) have
SHOW CREATE TABLE give them a different value (say, CREATE TABLE
... AUTO_INCREMENT = 1006), so the docs should possibly feature a
caveat to that effect.
It's not very intuitive the way it works now (with the fix), but it's
*correct*. We're not storing the original value anyway, if we wanted
that, we'd have to change on-disk representation?
If we do dump/load cycles with empty DBs, nothing will change. This
changeset includes an additional test case that proves that tables
with rows will create the same next_ID for AUTO_INCREMENT = ... across
dump/restore cycles.
Confirmed by support as likely solution for client's problem.
mysql-test/r/auto_increment.result:
test for creation of AUTO_INCREMENT=... clause
mysql-test/r/gis-rtree.result:
Add AUTO_INCREMENT=... clauses where appropriate
mysql-test/r/mysqldump.result:
show that AUTO_INCREMENT=... will survive dump/restore cycles
mysql-test/r/symlink.result:
Add AUTO_INCREMENT=... clauses where appropriate
mysql-test/t/auto_increment.test:
test for creation of AUTO_INCREMENT=... clause
mysql-test/t/mysqldump.test:
show that AUTO_INCREMENT=... will survive dump/restore cycles
sql/sql_show.cc:
Add AUTO_INCREMENT=... to output of SHOW CREATE TABLE if there is an
AUTO_INCREMENT column, and NEXT_ID > 1 (the default). We must not print
the clause for engines that do not support this as it would break the
import of dumps, but as of this writing, the test for whether
AUTO_INCREMENT columns are allowed and wether AUTO_INCREMENT=...
is supported is identical, !(file->table_flags() & HA_NO_AUTO_INCREMENT))
Because of that, we do not explicitly test for the feature,
but may extrapolate its existence from that of an AUTO_INCREMENT column.
into deer.(none):/home/hf/work/mysql-5.0.clean
myisam/mi_check.c:
Auto merged
mysql-test/r/gis-rtree.result:
Auto merged
mysql-test/t/gis-rtree.test:
Auto merged
myisam/mi_check.c:
different search function is used for SPATIAL keys
mysql-test/r/gis-rtree.result:
test result fixed
mysql-test/t/gis-rtree.test:
test case
myisam_max_extra_sort_file_size is depricated
Ensure that myisam_data_pointer_size is honoured when creating new MyISAM files
Changed default value of myisam_data_pointer_size from 4 to 6 to get rid of 'table-is-full' errors
include/myisam.h:
Change type of myisam_block_size and myisam_concurrent_insert to make them changeable in mysqld.cc
Removed not used varaible myisam_max_extra_temp_length
include/thr_lock.h:
Added extra parameter to get_status
myisam/mi_create.c:
Ensure that myisam_data_pointer_size is honoured
myisam/mi_dynrec.c:
If 'append_insert_at_end' is set, only write at end of myisam record file
myisam/mi_locking.c:
Add extra argument to 'mi_get_status' to allow thr_lock to signal that we want to do a concurrent insert
If this is used, we will append new insert rows at end of data file.
Change mi_check_status() to allow concurrent_inserts even if there are holes in the file when myisam_concurent_insert=2
myisam/mi_static.c:
Change behavior of myisam_concurrent_insert so that setting this to 2 allows inserts even if there is a hole in the data file.
Default value is 2 for MyISAM direct usage but will be set to 1 (old default) by mysqld.cc
myisam/mi_statrec.c:
If 'append_insert_at_end' is set, only write at end of myisam record file
myisam/mi_write.c:
If 'append_insert_at_end' is set, only write at end of myisam record file
myisam/myisamdef.h:
Support for insert-at-end even if there is holes in data file
mysql-test/r/gis-rtree.result:
Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/r/group_min_max.result:
Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/r/index_merge.result:
Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/r/index_merge_ror.result:
Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/r/merge.result:
Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/r/myisam.result:
Test of concurrent_insert=2
mysql-test/r/null.result:
Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/r/preload.result:
Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/r/ps_1general.result:
Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/r/range.result:
Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/r/variables.result:
concurrent_insert is now a integer, not a boolean
myisam_extra_sort_file_size is deleted
mysql-test/r/view.result:
Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/t/index_merge.test:
Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
mysql-test/t/myisam.test:
Test of concurrent_insert=2
mysql-test/t/ps_1general.test:
Drop test table
mysql-test/t/variables.test:
concurrent_insert is now a integer, not a boolean
myisam_extra_sort_file_size is deleted
mysql-test/t/view.test:
Drop tables that may be left from previous tests
mysys/thr_lock.c:
Extra paramter to get_status to signal if concurrent_insert was used
sql/mysqld.cc:
concurrent-insert can now be set to 2 for concurrent inserts when there is holes in the data file
myisam_max_extra_sort_file_size is depricated
sql/set_var.cc:
concurrent-insert is now an integer, not a bool
myisam_max_extra_sort_file_size is deleted
mysql-test/r/gis-rtree.result:
test result fixed
mysql-test/r/gis.result:
test result fixed
mysql-test/t/gis-rtree.test:
test case fixed
mysql-test/t/gis.test:
test case added
sql/field.cc:
error messages launched now when we try to put bad spatial
data in the GEOMETRY field
sql/field.h:
interface fixed
sql/item_geofunc.cc:
bad_data sign now instead of NULL now returned from
Item_geometry_from_text::val_str
sql/share/errmsg.txt:
error message added
sql/spatial.cc:
bad_geometry data instance
sql/spatial.h:
bad_geometry_data declaration
sql/sql_base.cc:
messages now created in store_* function
are not specified in an insert. Most of these changes are actually to
clean up the test suite to either specify defaults to avoid warnings,
or add the warnings to the results. Related to bug #5986.
mysql-test/t/index_merge_ror.test:
Set default on columns to avoid warnings
mysql-test/t/ctype_many.test:
Add defaults to avoid warnings
mysql-test/t/ctype_latin1_de.test:
Add defaults to avoid warnings
mysql-test/t/gis-rtree.test:
Remove field that isn't used in test
mysql-test/t/limit.test:
set default values
mysql-test/t/null.test:
Specify default values
mysql-test/t/order_by.test:
add default value
mysql-test/t/show_check.test:
Add defaults
mysql-test/t/sp.test:
Add default value
mysql-test/t/type_blob.test:
Set default value
mysql-test/t/type_ranges.test:
Set default values
mysql-test/r/create.result:
Update results
mysql-test/r/ctype_latin1_de.result:
Update results
mysql-test/r/ctype_many.result:
Update results
mysql-test/r/gis-rtree.result:
Update results
mysql-test/r/grant.result:
Update results
mysql-test/r/grant2.result:
Update results
mysql-test/r/help.result:
Update results
mysql-test/r/limit.result:
Update results
mysql-test/r/null.result:
Update results
mysql-test/r/order_by.result:
Update results
mysql-test/r/rpl000001.result:
Update results
mysql-test/r/sp.result:
Update results
mysql-test/r/strict.result:
Update results
mysql-test/r/type_blob.result:
Update results
mysql-test/r/type_ranges.result:
Update results
mysql-test/r/warnings.result:
Update results
sql/sql_insert.cc:
Change check_that_all_fields_are_given_values() to issue warnings for all
fields, and not only run when thd->abort_on_warning is set and error on
just the first field.
BitKeeper/etc/ignore:
auto-union
BitKeeper/etc/logging_ok:
auto-union
Build-tools/Do-compile:
Auto merged
VC++Files/sql/mysqld.dsp:
Auto merged
client/Makefile.am:
Auto merged
client/mysql.cc:
Auto merged
BitKeeper/deleted/.del-acinclude.m4~f4ab416bac5003:
Auto merged
client/mysqltest.c:
Auto merged
include/my_base.h:
Auto merged
innobase/dict/dict0dict.c:
Auto merged
innobase/dict/dict0load.c:
Auto merged
innobase/include/dict0dict.h:
Auto merged
innobase/include/row0mysql.h:
Auto merged
innobase/os/os0file.c:
Auto merged
innobase/srv/srv0srv.c:
Auto merged
libmysql/libmysql.c:
Auto merged
myisam/mi_check.c:
Auto merged
myisam/mi_rnext_same.c:
Auto merged
myisam/mi_write.c:
Auto merged
myisam/sort.c:
Auto merged
mysql-test/mysql-test-run.sh:
Auto merged
mysql-test/r/ctype_ucs.result:
Auto merged
mysql-test/r/ctype_ujis.result:
Auto merged
mysql-test/r/gis-rtree.result:
Auto merged
mysql-test/r/group_by.result:
Auto merged
mysql-test/r/merge.result:
Auto merged
mysql-test/r/metadata.result:
Auto merged
mysql-test/r/ndb_alter_table.result:
Auto merged
mysql-test/r/ps_1general.result:
Auto merged
mysql-test/r/insert_update.result:
Auto merged
mysql-test/r/timezone2.result:
Auto merged
mysql-test/r/type_enum.result:
Auto merged
mysql-test/r/variables.result:
Auto merged
mysql-test/t/ctype_ucs.test:
Auto merged
mysql-test/t/merge.test:
Auto merged
mysql-test/t/ps_1general.test:
Auto merged
mysql-test/t/subselect.test:
Auto merged
mysql-test/t/system_mysql_db_fix.test:
Auto merged
mysql-test/t/variables.test:
Auto merged
ndb/include/ndbapi/NdbConnection.hpp:
Auto merged
ndb/include/ndbapi/NdbDictionary.hpp:
Auto merged
ndb/src/common/util/version.c:
Auto merged
ndb/src/kernel/blocks/dbacc/DbaccInit.cpp:
Auto merged
ndb/src/kernel/blocks/dbacc/Makefile.am:
Auto merged
ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
Auto merged
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
Auto merged
ndb/src/kernel/blocks/dblqh/DblqhInit.cpp:
Auto merged
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
Auto merged
ndb/src/kernel/blocks/dbtux/Dbtux.hpp:
Auto merged
ndb/src/ndbapi/NdbBlob.cpp:
Auto merged
ndb/src/ndbapi/NdbConnection.cpp:
Auto merged
ndb/src/ndbapi/NdbDictionary.cpp:
Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.cpp:
Auto merged
ndb/src/ndbapi/NdbDictionaryImpl.hpp:
Auto merged
ndb/src/ndbapi/NdbOperationExec.cpp:
Auto merged
ndb/src/ndbapi/NdbScanOperation.cpp:
Auto merged
ndb/test/ndbapi/Makefile.am:
Auto merged
scripts/make_win_src_distribution.sh:
Auto merged
scripts/mysql_install_db.sh:
Auto merged
sql/field.cc:
Auto merged
sql/ha_innodb.cc:
Auto merged
sql/ha_ndbcluster.cc:
Auto merged
sql/ha_ndbcluster.h:
Auto merged
sql/handler.cc:
Auto merged
sql/item_cmpfunc.cc:
Auto merged
sql/item_create.h:
Auto merged
sql/item_func.cc:
Auto merged
sql/item_geofunc.cc:
Auto merged
sql/item_row.cc:
Auto merged
sql/item_strfunc.cc:
Auto merged
sql/item_strfunc.h:
Auto merged
sql/item_sum.cc:
Auto merged
sql/item_sum.h:
Auto merged
sql/log.cc:
Auto merged
sql/log_event.cc:
Auto merged
sql/mysqld.cc:
Auto merged
sql/net_serv.cc:
Auto merged
sql/password.c:
Auto merged
sql/protocol.cc:
Auto merged
sql/repl_failsafe.cc:
Auto merged
sql/set_var.cc:
Auto merged
sql/slave.cc:
Auto merged
sql/sql_acl.cc:
Auto merged
sql/sql_cache.cc:
Auto merged
sql/sql_class.cc:
Auto merged
sql/sql_derived.cc:
Auto merged
sql/sql_do.cc:
Auto merged
sql/sql_handler.cc:
Auto merged
sql/sql_help.cc:
Auto merged
sql/sql_lex.cc:
Auto merged
sql/sql_lex.h:
Auto merged
sql/sql_repl.cc:
Auto merged
sql/sql_show.cc:
Auto merged
sql/sql_union.cc:
Auto merged
sql/examples/ha_archive.cc:
Auto merged
sql/strfunc.cc:
Auto merged
sql/table.cc:
Auto merged
sql/table.h:
Auto merged
sql/tztime.h:
Auto merged
sql/udf_example.cc:
Auto merged
sql/unireg.cc:
Auto merged
Makefile.am:
Simple merge
client/mysqldump.c:
Simple merge
configure.in:
Simple merge
libmysqld/lib_sql.cc:
Automatic merge
mysql-test/r/func_str.result:
Automatic merge
mysql-test/r/grant.result:
simple merge
mysql-test/r/multi_update.result:
automatc merge
mysql-test/r/ps.result:
automatic merge
mysql-test/r/ps_2myisam.result:
Automatic merge
mysql-test/r/ps_3innodb.result:
Automatic merge
mysql-test/r/ps_4heap.result:
Automatic merge
mysql-test/r/ps_5merge.result:
Automatic merge
mysql-test/r/ps_6bdb.result:
Automatic merge
mysql-test/r/ps_7ndb.result:
Automatic merge
mysql-test/r/show_check.result:
Automatic merge
mysql-test/r/subselect.result:
Automatic merge
mysql-test/t/grant.test:
Automatic merge
mysql-test/t/multi_update.test:
Automatic merge
mysql-test/t/ps.test:
Automatic merge
mysql-test/t/show_check.test:
Automatic merge
ndb/docs/wl2077.txt:
merge
ndb/src/mgmsrv/main.cpp:
merge
scripts/mysql_fix_privilege_tables.sh:
merge
sql/item.cc:
Merge (difficult)
sql/item.h:
simple merge
sql/item_cmpfunc.h:
Automatic merge
sql/item_subselect.cc:
Simple merge
sql/item_subselect.h:
Automatic merge
sql/mysql_priv.h:
Simple merge
sql/slave.h:
Automatic merge
sql/sql_base.cc:
Removed code that was backported to 4.1
sql/sql_class.h:
Merge (some code moved to sql_insert.cc)
sql/sql_db.cc:
simple merge
sql/sql_insert.cc:
Merge (difficult as logic had changed both in 4.1 and 5.0)
Some coded moved here from sql_class.h
sql/sql_parse.cc:
Merge (difficult)
sql/sql_prepare.cc:
Simple merge
sql/sql_select.cc:
Automatic merge
sql/sql_table.cc:
Simple merge
sql/sql_update.cc:
Difficult merge because of different logic for multi-updates
sql/sql_yacc.yy:
Simple merge
tests/client_test.c:
Simple merge
(after discussion with SerG)
include/my_base.h:
Handler error code added
myisam/mi_write.c:
New error code handled
myisam/rt_index.c:
check for zero length added
myisam/sp_key.c:
zero length check added
mysql-test/r/gis-rtree.result:
appropriate test result
mysql-test/t/gis-rtree.test:
test case
sql/handler.cc:
new error code handling added
myisam/mi_check.c:
Spatial keys should not be filesort-ed.
Specific function neede to insert key into spatial index
mysql-test/r/gis-rtree.result:
Appropriate test result
mysql-test/t/gis-rtree.test:
Test case
More tests.
Better error messages.
Fixed bug when checking if we updated all needed columns for INSERT.
Give an error if we encounter a wrong float value during parsing.
Don't print DEFAULT for columns without a default value in SHOW CREATE/SHOW FIELDS.
Fixed UPDATE IGNORE when using STRICT mode.
include/mysqld_error.h:
More error messages for strict mode
include/sql_state.h:
Fixed wrong state
New error message
mysql-test/r/alter_table.result:
Updated results for not automatic default fields
mysql-test/r/auto_increment.result:
Better error messages
mysql-test/r/create.result:
Updated results for not automatic default fields
Better error messages
mysql-test/r/ctype_collate.result:
Updated results for not automatic default fields
mysql-test/r/ctype_latin1_de.result:
Updated results for not automatic default fields
mysql-test/r/ctype_many.result:
Updated results for not automatic default fields
mysql-test/r/ctype_recoding.result:
Updated results for not automatic default fields
mysql-test/r/gis-rtree.result:
Updated results for not automatic default fields
mysql-test/r/gis.result:
Updated results for not automatic default fields
mysql-test/r/innodb.result:
Updated results for not automatic default fields
mysql-test/r/insert.result:
Better error messages
mysql-test/r/insert_select.result:
Better error messages
mysql-test/r/isam.result:
Updated results for not automatic default fields
mysql-test/r/key.result:
Better error messages
mysql-test/r/merge.result:
Updated results for not automatic default fields
mysql-test/r/null.result:
Better error messages
mysql-test/r/null_key.result:
Better error messages
mysql-test/r/ps_1general.result:
Updated results for not automatic default fields
mysql-test/r/select.result:
Drop views that may interfere with later results
mysql-test/r/show_check.result:
Updated results for not automatic default fields
mysql-test/r/sp.result:
Updated results for not automatic default fields
mysql-test/r/strict.result:
More tests
mysql-test/r/type_set.result:
Updated results for not automatic default fields
mysql-test/r/warnings.result:
Better error messages
mysql-test/t/insert.test:
Using wrong float values now gives an error
mysql-test/t/select.test:
Drop views that may interfere with later results
mysql-test/t/strict.test:
More tests
scripts/mysql_fix_privilege_tables.sql:
Add missing DEFAULT's
sql/field.cc:
Fix some strict mode issues for float and double
sql/field.h:
Fix DEFAULT handling
sql/item.cc:
Give an error if we encounter a wrong float value during parsing.
Give an error if we use DEFAULT() on a field that doesn't have a default value.
sql/item.h:
Give an error if we encounter a wrong float value during parsing.
sql/mysqld.cc:
More debug info
sql/share/czech/errmsg.txt:
Better error messages
sql/share/danish/errmsg.txt:
Better error messages
sql/share/dutch/errmsg.txt:
Better error messages
sql/share/english/errmsg.txt:
Better error messages
sql/share/estonian/errmsg.txt:
Better error messages
sql/share/french/errmsg.txt:
Better error messages
sql/share/german/errmsg.txt:
Better error messages
sql/share/greek/errmsg.txt:
Better error messages
sql/share/hungarian/errmsg.txt:
Better error messages
sql/share/italian/errmsg.txt:
Better error messages
sql/share/japanese/errmsg.txt:
Better error messages
sql/share/korean/errmsg.txt:
Better error messages
sql/share/norwegian-ny/errmsg.txt:
Better error messages
sql/share/norwegian/errmsg.txt:
Better error messages
sql/share/polish/errmsg.txt:
Better error messages
sql/share/portuguese/errmsg.txt:
Better error messages
sql/share/romanian/errmsg.txt:
Better error messages
sql/share/russian/errmsg.txt:
Better error messages
sql/share/serbian/errmsg.txt:
Better error messages
sql/share/slovak/errmsg.txt:
Better error messages
sql/share/spanish/errmsg.txt:
Better error messages
sql/share/swedish/errmsg.txt:
Better error messages
sql/share/ukrainian/errmsg.txt:
Better error messages
sql/sql_insert.cc:
Fixed bug in last push of checking of default values.
sql/sql_parse.cc:
Enum fields has always a default value
sql/sql_show.cc:
Don't print DEFAULT for columns without a default value in SHOW CREATE/SHOW FIELDS
sql/sql_table.cc:
Fixed storing/retrieving of NO_DEFAULT_VALUE_FLAG
sql/sql_update.cc:
Don't abort for wrong values for UPDATE IGNORE
sql/sql_yacc.yy:
Abort if we find a wrong float value
sql/table.cc:
Fixed storing/retrieving of NO_DEFAULT_VALUE_FLAG
some changes to make code nicer
include/myisampack.h:
mi_sint1korr and similar things added to do conversion in an
uniform way
myisam/rt_index.c:
'if' simplified
myisam/rt_mbr.c:
some fixes to make code nicer and smaller
myisam/rt_test.c:
some modifications to extend test
mysql-test/r/gis-rtree.result:
result became slightly different because of changes made
This gives the handler more optimization possiblities and is needed for NDB cluster
Fixed not-initialized memory error detected by valgrind
mysql-test/mysql-test-run.sh:
Fixed address to manual page
mysql-test/r/gis-rtree.result:
Added test to show fatal error in GIS
mysql-test/r/grant.result:
New tests
mysql-test/t/gis-rtree.test:
New tests
mysql-test/t/grant.test:
New tests
sql/handler.cc:
Moved reading of ranges from opt_range.cc to handler.cc
This gives the handler more optimization possiblities and is needed for NDB cluster
sql/handler.h:
Moved reading of ranges from opt_range.cc to handler.cc
T
sql/opt_range.cc:
Moved reading of ranges from opt_range.cc to handler.cc
Simplified GIS get_next() handling
Indentation cleanups
sql/opt_range.h:
Removed not needed cmp_next()
Added new QUICK_SELECT method for GIS keys to make code for normal keys easier and faster
sql/sql_select.cc:
Fixed wrong handling of usable-keys in test_if_skip_sort_order (not fatal, just a warning from valgrind)
Added DBUG
Cleaned up comments
Now checking of the RTree keys works without errors.
Worklog entry about appropriate checkup's routine for the RTree added
myisam/mi_check.c:
HA_SPATIAL checks added
mysql-test/r/gis-rtree.result:
Appropriate test resutl
mysql-test/t/gis-rtree.test:
test case
Deprecate the use of TYPE=... Preferred syntax is ENGINE=
include/mysqld_error.h:
New warning for deprecated syntax
sql/lex.h:
Introduce ENGINE keyword
Sort order of symbols
sql/share/czech/errmsg.txt:
New warning for deprecated syntax
sql/share/danish/errmsg.txt:
New warning for deprecated syntax
sql/share/dutch/errmsg.txt:
New warning for deprecated syntax
sql/share/english/errmsg.txt:
New warning for deprecated syntax
sql/share/estonian/errmsg.txt:
New warning for deprecated syntax
sql/share/french/errmsg.txt:
New warning for deprecated syntax
sql/share/german/errmsg.txt:
New warning for deprecated syntax
sql/share/greek/errmsg.txt:
New warning for deprecated syntax
sql/share/hungarian/errmsg.txt:
New warning for deprecated syntax
sql/share/italian/errmsg.txt:
New warning for deprecated syntax
sql/share/japanese/errmsg.txt:
New warning for deprecated syntax
sql/share/korean/errmsg.txt:
New warning for deprecated syntax
sql/share/norwegian-ny/errmsg.txt:
New warning for deprecated syntax
sql/share/norwegian/errmsg.txt:
New warning for deprecated syntax
sql/share/polish/errmsg.txt:
New warning for deprecated syntax
sql/share/portuguese/errmsg.txt:
New warning for deprecated syntax
sql/share/romanian/errmsg.txt:
New warning for deprecated syntax
sql/share/russian/errmsg.txt:
New warning for deprecated syntax
sql/share/serbian/errmsg.txt:
New warning for deprecated syntax
sql/share/slovak/errmsg.txt:
New warning for deprecated syntax
sql/share/spanish/errmsg.txt:
New warning for deprecated syntax
sql/share/swedish/errmsg.txt:
New warning for deprecated syntax
sql/share/ukrainian/errmsg.txt:
New warning for deprecated syntax
sql/sql_show.cc:
Change TYPE= with ENGINE=
sql/sql_yacc.yy:
Introduce ENGINE keyword,
Deprecate TYPE= syntax,
Introduce SHOW ENGINE syntax,
Deprecate SHOW INNODB/BDB syntax.
mysql-test/r/alias.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/alter_table.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/auto_increment.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/bdb-alter-table-1.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/bdb-crash.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/bdb-deadlock.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/bdb.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/bdb_cache.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/case.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/cast.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/constraints.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/create.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/ctype_collate.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/ctype_latin1_de.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/ctype_many.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/ctype_mb.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/ctype_recoding.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/ctype_ucs.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/delete.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/distinct.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/fulltext.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/fulltext2.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/fulltext_distinct.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/fulltext_left_join.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/func_compress.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/func_date_add.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/func_group.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/func_if.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/func_str.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/func_system.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/func_test.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/func_time.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/gis-rtree.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/group_by.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/handler.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/heap.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/heap_auto_increment.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/heap_btree.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/heap_hash.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/help.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/innodb-deadlock.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/innodb.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/innodb_cache.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/innodb_handler.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/insert_select.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/isam.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/join.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/join_crash.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/join_outer.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/key.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/lock.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/lock_tables_lost_commit.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/merge.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/mix_innodb_myisam_binlog.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/multi_update.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/myisam.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/null.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/null_key.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/order_by.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/query_cache.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/range.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/repair_part1.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/replace.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/rollback.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/rpl000006.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/rpl_flush_tables.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/rpl_insert_id.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/rpl_relayrotate.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/select.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/select_found.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/show_check.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/sql_mode.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/status.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/subselect.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/subselect2.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/subselect_innodb.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/symlink.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/temp_table.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/type_blob.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/type_datetime.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/type_enum.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/type_nchar.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/type_set.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/union.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/update.result:
Change occurances of TYPE= to ENGINE=
mysql-test/r/warnings.result:
Change occurances of TYPE= to ENGINE=
mysql-test/t/alias.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/alter_table.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/auto_increment.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/bdb-alter-table-1.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/bdb-crash.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/bdb-deadlock.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/bdb.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/bdb_cache.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/create.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/ctype_ucs.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/delete.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/distinct.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/fulltext.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/fulltext2.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/fulltext_distinct.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/fulltext_left_join.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/func_compress.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/func_date_add.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/func_group.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/func_if.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/func_str.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/func_test.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/func_time.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/gis-rtree.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/group_by.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/handler.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/heap.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/heap_auto_increment.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/heap_btree.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/heap_hash.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/help.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/innodb-deadlock.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/innodb.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/innodb_cache.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/innodb_handler.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/insert_select.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/isam.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/join.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/join_crash.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/join_outer.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/key.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/lock.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/lock_tables_lost_commit.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/merge.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/mix_innodb_myisam_binlog.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/multi_update.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/myisam.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/null.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/null_key.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/order_by.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/outfile.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/query_cache.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/query_cache_merge.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/range.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/repair_part1.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/replace.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/rollback.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/rpl000006.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/rpl_flush_tables.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/rpl_insert_id.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/rpl_relayrotate.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/select.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/select_found.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/show_check.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/sql_mode.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/status.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/subselect.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/subselect2.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/subselect_innodb.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/symlink.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/temp_table.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/type_datetime.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/type_set.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/union.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/update.test:
Change occurances of TYPE= to ENGINE=
mysql-test/t/warnings.test:
Change occurances of TYPE= to ENGINE=
New test for deprecated syntax
New multi-key-cache handling. This was needed becasue the old one didn't work reliable with MERGE tables.
ALTER TABLE table_name ... CHARACTER SET ... now changes all char/varchar/text columns to the given character set
(One must use ALTER TABLE ... DEFAULT CHARACTER SET ... to change the default character set)
Fixed that have_compress is detected properly (fixes problems with func_compress.test on platforms without zlib)
New syntax for CACHE INDEX ('keys' is optional if no index name is given and one mentions the key cache name only ones)
Removed compiler warnings
Added mysql_set_server_option() to allow clients like PHP to easaily set/reset the multi-statement flag.
BUILD/compile-pentium-valgrind-max:
Add test of isam
client/mysql.cc:
CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS
include/my_base.h:
Remove HA_EXTRA_SET_KEY_CACHE
include/my_no_pthread.h:
Add defines to ignore rw-locks when running without threads
include/my_sys.h:
Added function for multi-key-caches
include/myisam.h:
Added function to handle multi-key-caches
include/mysql.h:
Added mysql_set_server_option
include/mysql_com.h:
CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS
Added enum_mysql_set_option
include/mysqld_error.h:
Added error message for unknown key cache
innobase/srv/srv0start.c:
Removed warning that is confused for MySQL users
libmysql/libmysql.c:
Added mysql_set_server_option()
libmysql/libmysql.def:
Added mysql_set_server_option()
myisam/ft_nlq_search.c:
Removed compiler warning
myisam/ft_static.c:
Removed compiler warning and fixed wrong return value
myisam/mi_check.c:
Clean up multi-key-cache usage
myisam/mi_checksum.c:
Removed not used variable
myisam/mi_close.c:
keycache -> key_cache
myisam/mi_delete_all.c:
keycache -> key_cache
myisam/mi_extra.c:
keycache -> key_cache
Removed HA_EXTRA_SET_KEY_CACHE
myisam/mi_keycache.c:
Changed logic so that it's MyISAM that is responsible for assign tables to different key caches instead of the upper level
myisam/mi_locking.c:
Don't change key cache on unlock (must be done before)
myisam/mi_open.c:
Fetch key cache to use from multi_key_cache_search()
myisam/mi_page.c:
keycache -> key_cache
myisam/mi_panic.c:
keycache -> key_cache
myisam/mi_preload.c:
keycache -> key_cache
myisam/mi_test1.c:
Use KEY_CACHE_BLOCK_SIZE
myisam/mi_test2.c:
Always test resize_key_cache()
myisam/mi_test3.c:
Use KEY_CACHE_BLOCK_SIZE instead of 512
myisam/myisamchk.c:
update for multiple key caches
myisam/myisamdef.h:
Remove reg_keycache
Add unique_name_length for storing length of unique_file_name
myisam/myisamlog.c:
Change how end_key_cache() is called
mysql-test/mysql-test-run.sh:
Fixed web link
Added name of failed test to abort row.
mysql-test/r/alter_table.result:
Testing of ALTER TABLE ... [DEFAULT] CHARACTER SET
mysql-test/r/case.result:
Update result for DEFAULT CHARSET...
mysql-test/r/cast.result:
Update result for DEFAULT CHARSET...
mysql-test/r/create.result:
Update result for DEFAULT CHARSET...
mysql-test/r/ctype_collate.result:
Update result for DEFAULT CHARSET...
mysql-test/r/ctype_latin1_de.result:
Update result for DEFAULT CHARSET...
mysql-test/r/ctype_many.result:
Update result for DEFAULT CHARSET...
mysql-test/r/ctype_mb.result:
Update result for DEFAULT CHARSET...
mysql-test/r/ctype_recoding.result:
Update result for DEFAULT CHARSET...
mysql-test/r/ctype_ucs.result:
Update result for DEFAULT CHARSET...
mysql-test/r/derived.result:
Use STRAIGHT_JOIN to make join order predictable
mysql-test/r/fulltext.result:
Update result for DEFAULT CHARSET...
mysql-test/r/func_str.result:
Update result for DEFAULT CHARSET...
mysql-test/r/func_system.result:
Update result for DEFAULT CHARSET...
mysql-test/r/gis-rtree.result:
Update result for DEFAULT CHARSET...
mysql-test/r/innodb.result:
Update result for DEFAULT CHARSET...
mysql-test/r/key_cache.result:
Update test for new key cache syntax.
Added more tests
mysql-test/r/merge.result:
Update result for DEFAULT CHARSET...
mysql-test/r/preload.result:
New syntax
mysql-test/r/show_check.result:
Update result for DEFAULT CHARSET...
mysql-test/r/sql_mode.result:
Update result for DEFAULT CHARSET...
mysql-test/r/subselect.result:
Update result for DEFAULT CHARSET...
mysql-test/r/type_blob.result:
Update result for DEFAULT CHARSET...
mysql-test/r/type_enum.result:
Update result for DEFAULT CHARSET...
mysql-test/r/type_nchar.result:
Update result for DEFAULT CHARSET...
mysql-test/r/type_set.result:
Update result for DEFAULT CHARSET...
mysql-test/r/union.result:
Use STRAIGHT_JOIN to make join order predictable
mysql-test/t/alter_table.test:
Testing of ALTER TABLE ... [DEFAULT] CHARACTER SET
mysql-test/t/ctype_many.test:
Update result for DEFAULT CHARSET...
mysql-test/t/derived.test:
Use STRAIGHT_JOIN to make join order predictable
mysql-test/t/isam.test:
Use disable warnings for test loop
mysql-test/t/join.test:
Update test now when we only support 61 tables in join
mysql-test/t/key_cache.test:
Update test for new key cache syntax.
Added more tests
mysql-test/t/preload.test:
Update for new syntax
mysql-test/t/union.test:
Use STRAIGHT_JOIN to make join order predictable
mysys/Makefile.am:
Added mf_keycaches.c
mysys/hash.c:
TRUE -> 1
mysys/mf_keycache.c:
Removed compiler warnings
Striped end space
Fixed indentation and improved function comments
TRUE -> 1
Changed parameters to end_key_cache() to make it easer to use
Fixed bug when using key blocks size > 1024 bytes (First part of index file could be overwritten with wrong data)
Split function flush_key_blocks into two functions to not get mutex used twice when called from flush_all_key_blocks()
mysys/my_bitmap.c:
More debugging
Safe bitmap_free()
Fixed indentation
mysys/my_getopt.c:
Ensure that we initialize option->value, option->max_value and value from GET_ASK_ADDR
mysys/my_thr_init.c:
Remove not used mutex THR_LOCK_keycache
mysys/typelib.c:
Fixed function comments
sql-common/client.c:
CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS
Fixed the multi_result flag is set also on SELECT;s
sql/ha_myisam.cc:
Fixed multiple key_cache handling
(Now done on MyISAM level)
sql/ha_myisammrg.cc:
Fixed multiple key_cache handling
(Now done on MyISAM level)
sql/handler.cc:
New multi key cache handling
sql/handler.h:
New multi key cache handling
Added support for default character set
sql/item.h:
Added function cleanup() (Needed for prepared statements / cursors)
sql/item_cmpfunc.h:
Added cleanup function
sql/item_func.cc:
Indentation cleanup
sql/mysql_priv.h:
New multi-key-cache functions
Removed LOCK_assign
sql/mysqld.cc:
New multi-key-cache handling
Fixed that variable have_compress is set correctly
sql/protocol.cc:
SELECT didn't work reliable in multi-statements
sql/set_var.cc:
Support for new key cache variables
sql/set_var.h:
Support for new key cache variables
sql/share/czech/errmsg.txt:
New error messages
sql/share/danish/errmsg.txt:
New error messages
sql/share/dutch/errmsg.txt:
New error messages
sql/share/english/errmsg.txt:
New error messages
sql/share/estonian/errmsg.txt:
New error messages
sql/share/french/errmsg.txt:
New error messages
sql/share/german/errmsg.txt:
New error messages
sql/share/greek/errmsg.txt:
New error messages
sql/share/hungarian/errmsg.txt:
New error messages
sql/share/italian/errmsg.txt:
New error messages
sql/share/japanese/errmsg.txt:
New error messages
sql/share/korean/errmsg.txt:
New error messages
sql/share/norwegian-ny/errmsg.txt:
New error messages
sql/share/norwegian/errmsg.txt:
New error messages
sql/share/polish/errmsg.txt:
New error messages
sql/share/portuguese/errmsg.txt:
New error messages
sql/share/romanian/errmsg.txt:
New error messages
sql/share/russian/errmsg.txt:
New error messages
sql/share/serbian/errmsg.txt:
New error messages
sql/share/slovak/errmsg.txt:
New error messages
sql/share/spanish/errmsg.txt:
New error messages
sql/share/swedish/errmsg.txt:
New error messages
sql/share/ukrainian/errmsg.txt:
New error messages
sql/sql_base.cc:
Removed all key_cache handling (this is now done on MyISAM level)
Change table_charset -> default_table_charset
sql/sql_db.cc:
table_charset -> default_table_charset
sql/sql_delete.cc:
table_charset -> default_table_charset
sql/sql_lex.cc:
CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS
sql/sql_lex.h:
New option to store a name and length
sql/sql_parse.cc:
Support for mysql_set_server_option()
Reset "default" keycache status variables in 'FLUSH STATUS' (Need to be improved later)
sql/sql_show.cc:
Add DEFAULT before CHARSET (for table character sets)
Fetch key cache variables from 'sql_key_cache'
sql/sql_table.cc:
table_charset -> default_table_charset
New multi-key-cache handling
sql/sql_test.cc:
Write information from all key caches
sql/sql_yacc.yy:
Changed syntax for CACHE INDEX ...
Force user to use DEFAULT before database/table level character sets
sql/structs.h:
Added SHOW_KEY_CACHE_LONG (to get values from sql_key_cache)
sql/table.cc:
table_charset -> default_table_charset
sql/table.h:
New key cache handling (this is now done in mysys/mf_keycaches.c)
sql/unireg.h:
A