1
0
mirror of https://github.com/MariaDB/server.git synced 2025-07-18 23:03:28 +03:00
Commit Graph

591 Commits

Author SHA1 Message Date
d37da004f6 THD::lex now points to THD::main_lex like in 5.0
All tests pass (client_test included)
2003-12-19 20:52:13 +03:00
99e0ae85c7 Merge 4.1 to 5.0. 2003-12-19 18:03:27 +01:00
eeff10e4c1 merge 2003-12-19 16:34:48 +02:00
031390a9a4 Fixes after merge with 4.0
Cleaned up embedded library access and query cache handling
Changed min stack size to 128K (to allow longer MyISAM keys)
Fixed wrong priority for XOR (should be less than NEG to get -1^1 to work)
2003-12-19 16:25:50 +02:00
7b13840a46 Merge 2003-12-18 17:51:43 +01:00
b1f07034da Merge psergey-rh8.(none):/home/psergey/mysql-5.0-latest-pull
into psergey-rh8.(none):/home/psergey/mysql-5.0-imerge-unique
2003-12-18 17:01:35 +03:00
67c6d5113c Precise read time estimates for index_merge/Unique 2003-12-18 06:08:00 +03:00
66a32e8925 This will be pushed only after I fix the testsuite.
This is the main commit for Worklog tasks:
 * A more dynamic binlog format which allows small changes (1064)
 * Log session variables in Query_log_event (1063)
Below 5.0 means 5.0.0.
MySQL 5.0 is able to replicate FOREIGN_KEY_CHECKS, UNIQUE_KEY_CHECKS (for speed),
SQL_AUTO_IS_NULL, SQL_MODE. Not charsets (WL#1062), not some vars (I can only think
of SQL_SELECT_LIMIT, which deserves a special treatment). Note that this
works for queries, except LOAD DATA INFILE (for this it would have to wait
for Dmitri's push of WL#874, which in turns waits for the present push, so...
the deadlock must be broken!). Note that when Dmitri pushes WL#874 in 5.0.1,
5.0.0 won't be able to replicate a LOAD DATA INFILE from 5.0.1.
Apart from that, the new binlog format is designed so that it can tolerate
a little variation in the events (so that a 5.0.0 slave could replicate a
5.0.1 master, except for LOAD DATA INFILE unfortunately); that is, when I
later add replication of charsets it should break nothing. And when I later
add a UID to every event, it should break nothing.
The main change brought by this patch is a new type of event, Format_description_log_event,
which describes some lengthes in other event types. This event is needed for
the master/slave/mysqlbinlog to understand a 5.0 log. Thanks to this event,
we can later add more bytes to the header of every event without breaking compatibility.
Inside Query_log_event, we have some additional dynamic format, as every Query_log_event
can have a different number of status variables, stored as pairs (code, value); that's
how SQL_MODE and session variables and catalog are stored. Like this, we can later
add count of affected rows, charsets... and we can have options --don't-log-count-affected-rows
if we want.
MySQL 5.0 is able to run on 4.x relay logs, 4.x binlogs.
Upgrading a 4.x master to 5.0 is ok (no need to delete binlogs),
upgrading a 4.x slave to 5.0 is ok (no need to delete relay logs);
so both can be "hot" upgrades.
Upgrading a 3.23 master to 5.0 requires as much as upgrading it to 4.0.
3.23 and 4.x can't be slaves of 5.0.
So downgrading from 5.0 to 4.x may be complicated.
Log_event::log_pos is now the position of the end of the event, which is
more useful than the position of the beginning. We take care about compatibility
with <5.0 (in which log_pos is the beginning).
I added a short test for replication of SQL_MODE and some other variables.
TODO:
- after committing this, merge the latest 5.0 into it
- fix all tests
- update the manual with upgrade notes.
2003-12-18 01:09:05 +01:00
2b53eef5f0 WorkLog #1323 (part 2)
New Statement: SHOW [STORAGE] ENGINES
New System Variable: storage_engine
New mysqld Argument: --default-storage-engine=
2003-12-17 22:52:03 +00:00
e0cc6799ec Merge with 4.0.17 2003-12-17 17:35:34 +02:00
f995a5f4aa Fix autoincrement for signed columns (Bug #1366)
Fixed problem with char > 128 in QUOTE() function. (Bug #1868)
Disable creation of symlinks if my_disable_symlink is set
Fixed searching of TEXT with end space. (Bug #1651)
Fixed caching bug in multi-table-update where same table was used twice. (Bug #1711)
Fixed problem with UNIX_TIMESTAMP() for timestamps close to 0. (Bug #1998)
Fixed timestamp.test
2003-12-12 22:26:58 +02:00
24a2ae44a3 Merged 4.1 -> 5.0 2003-12-09 19:00:34 +01:00
a09d6409ae post-merge fixes 2003-12-08 09:44:04 +04:00
b46d75f08b Task ID 499:Add a new settable string variable(init_connect, init_slave)
to mysqld that is executed for all new connections.
(Similar to the client command: mysql_options(... MYSQL_INIT_COMMAND ...).
2003-12-08 09:13:14 +04:00
4831778587 WL#1175: more default_week_formats for iso compatibility
New formats added for 'week()' function and 'default_week_format' option(4 - 7).
Next formats is supported now:
*Value* *Meaning*
  `0'     Week starts on Sunday; First Sunday of the year starts week 1.
  	  Week() returns 0-53.
  `1'     Week starts on Monday; Weeks numbered according to ISO 8601:1988.
	  Week() returns 0-53.
  `2'     Week starts on Sunday; First Sunday of the year starts week 1.
  	  Week() returns 1-53.
  `3'     Week starts on Monday; Weeks numbered according to ISO 8601:1988.
	  Week() returns 1-53.
  `4'     Week starts on Sunday; Weeks numbered according to ISO 8601:1988.
	  Week() returns 0-53.
  `5'     Week starts on Monday;  First Monday of the year starts week 1.
  	  Week() returns 0-53.
  `6'     Week starts on Sunday; Weeks numbered according to ISO 8601:1988.
	  Week() returns 1-53.
  `7'     Week starts on Monday;  First Monday of the year starts week 1.
  	  Week() returns 1-53.
2003-12-07 15:10:21 +04:00
6d0703ab5b QUERY_NO_GOOD_INDEX_USED and QUERY_NO_INDEX_USED moved from thd->lex.select_lex->options to thd->server_status 2003-12-06 23:21:09 +01:00
63f4858030 Merged 4.1 -> 5.0 2003-12-05 13:11:50 +01:00
55d4248dae Merge for update 2003-12-02 20:57:34 +00:00
afc619f0a2 WorkLog#1280 - Remove fixed table handler from lex/yacc 2003-12-02 20:23:13 +00:00
6e717133c5 Merge 4.1 to 5.0 2003-12-01 16:14:40 +01:00
7191ea0ae3 Fixed UNION fields type/length detecting 2003-11-23 02:01:15 +02:00
7c6113a39f Merge key cache structures to one
Fixed compiler warnings (IRIX C compiler and VC++)
2003-11-20 22:06:25 +02:00
28a2c6a96b Merging 4.1->5.0. 2003-11-19 15:19:46 +01:00
b404412877 changed name of bit on more descriptive (after rewie change) 2003-11-18 22:04:01 +02:00
3ae908c44b Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-used_tables-4.1
2003-11-18 17:48:06 +02:00
e5d75fb984 merge 2003-11-18 13:51:48 +02:00
cab1dc628c CLIENT_MULTI_QUERIES -> CLIENT_MULTI_STATEMENTS
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.
2003-11-18 13:47:27 +02:00
cb19ad9ac1 fixed using 'uncachable' tag and RAND_TABLE_BIT setting 2003-11-17 20:53:40 +02:00
42e36fea12 Fixed minor compiler errors encountered during pre-final builds. 2003-11-12 03:38:46 -05:00
6b79cd5c23 Merge 2003-11-03 22:48:03 +02:00
a444a3449f Simplified 'wrong xxx name' error messages by introducing 'general' ER_WRONG_NAME error
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.
2003-11-03 14:01:59 +02:00
c56e75e2c1 after review fix 2003-11-03 12:28:36 +02:00
e025adb403 Merge 2003-11-03 08:47:27 +02:00
cf535556c6 Cleanups (comments and compiler warnings)
dded init of variable to fix core dump on startup errors
2003-11-02 14:00:25 +02:00
0747324ede merge 2003-10-31 22:14:49 +02:00
74551a72ec Merge bk-internal:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2003-10-31 10:34:34 +01:00
f29ed57531 Merge 2003-10-30 10:45:28 -08:00
ae380c5855 merge 2003-10-28 12:45:37 +02:00
8cdc27da15 Merge serg.mylan:/usr/home/serg/Abk/mysql-4.1-bug
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2003-10-25 00:03:44 +02:00
6e17f4f20d fixes to Bitmap class 2003-10-24 22:44:48 +02:00
944570970d Merge bk-internal:/home/bk/mysql-4.1/
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
2003-10-23 23:11:33 +02:00
faea7e0144 Merge 2003-10-23 21:26:06 +03:00
934fa2a104 Merge 2003-10-22 20:52:47 +03:00
337238b78a Merging 4.1->5.0 2003-10-22 16:10:22 +02:00
2918e5d529 Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.clean
2003-10-21 16:06:26 +05:00
b04af44923 Fix for Windows bug reported throuhg Miguel 2003-10-21 16:05:17 +05:00
f944fd4a65 merged 2003-10-21 11:58:43 +02:00
4bed4abb62 Merge commit 2003-10-20 13:45:28 +05:00
62b0b8b800 Scrum task 835 - text-to-datetime conversion function 2003-10-20 13:24:18 +05:00
4aa99ff7b1 fixes for new key_map code 2003-10-16 21:21:48 +02:00