Cleaned up (and disabled part of) date/time/datetime format patch. One can't anymore change default read/write date/time/formats.
This is becasue the non standard datetime formats can't be compared as strings and MySQL does still a lot of datetime comparisons as strings
Changed flag argument to str_to_TIME() and get_date() from bool to uint
Removed THD from str_to_xxxx functions and Item class.
Fixed core dump when doing --print-defaults
Move some common string functions to strfunc.cc
Dates as strings are now of type my_charset_bin instead of default_charset()
Introduce IDENT_QUOTED to not have to create an extra copy of simple identifiers (all chars < 128)
Removed xxx_FORMAT_TYPE enums and replaced them with the old TIMESTAMP_xxx enums
Renamed some TIMESTAMP_xxx enums to more appropriate names
Use defines instead of integers for date/time/datetime string lengths
Added to build system and use the new my_strtoll10() function.
Add DISCARD etc. in the keyword: rule of sql_yacc.yy
sql_table.cc:
Add comment that DISCARD/IMPORT TABLESPACE is always the only clause in an ALTER TABLE
Multiple tablespaces for InnoDB
sql_table.cc:
Tell explicitly that InnoDB should retrieve all columns in CHECKSUM TABLE
sql_update.cc, sql_select.cc, my_base.h:
More descriptive flag name HA_EXTRA_RETRIEVE_ALL_COLS
This commit is related to my previos one(ChangeSet 1.1583 03/08/27 18:03:39).
Note about COMMIT&ROLLBACK:
Only 'COMMIT' statement updates the binary log.
'ROLLBACK' statement doesn't update the binlog.
The above query created a field of koi8r charset, not cp1251
Change:
CREATE TABLE a (a CHAR(1) CHARACTER SET utf8)
Length now means character length, not byte length.
The above creates a field that guarantees can store a multibyte value
1 character long. For utf8 the above creates a field that can store
3 bytes.