Commit graph

80 commits

Author SHA1 Message Date
monty@mysql.com
31122efde7 Merge with 4.1
(Includes merge of arena code in 4.1 and 5.0)
2004-09-06 15:14:10 +03:00
dlenev@brandersnatch.localdomain
f49d4f5350 Fix for bug #4508 "CONVERT_TZ() function with new time zone as param crashes server".
Instead of trying to open time zone tables during calculation of CONVERT_TZ() function
or setting of @@time_zone variable we should open and lock them with the rest of 
statement's table (so we should add them to global table list) and after that use such 
pre-opened tables for loading info about time zones.
2004-08-10 12:42:31 +04:00
guilhem@mysql.com
836d98874d after merge fixes (making rpl_charset and rpl_timezone pass).
Replication of charsets and timezones should shortly be changed to not need ONE_SHOT
(but 5.0 should still be able to read it, to be able to replicate 4.1 masters).
2004-07-15 23:34:41 +02:00
konstantin@mysql.com
a30fcdc690 Fix for Bug#4030 "Client side conversion string -> date type doesn't
work (prepared statements)" and after-review fixes:
- str_to_TIME renamed to str_to_datetime to pair with str_to_time
- functions str_to_time and str_to_TIME moved to sql-common
- send_data_str now supports MYSQL_TYPE_TIME, MYSQL_TIME_DATE,
  MYSQL_TIME_DATETIME types of user input buffers.
- few more comments in the client library
- a test case added.
2004-06-24 19:08:36 +04:00
dlenev@brandersnatch.localdomain
09ba29e539 WL#1264 "Per-thread time zone support infrastructure".
Added basic per-thread time zone functionality (based on public
domain elsie-code). Now user can select current time zone
(from the list of time zones described in system tables).
All NOW-like functions honor this time zone, values of TIMESTAMP
type are interpreted as values in this time zone, so now
our TIMESTAMP type behaves similar to Oracle's TIMESTAMP WITH
LOCAL TIME ZONE (or proper PostgresSQL type).
  
WL#1266 "CONVERT_TZ() - basic time with time zone conversion 
function".
  
Fixed problems described in Bug #2336 (Different number of warnings 
when inserting bad datetime as string or as number). This required
reworking of datetime realted warning hadling (they now generated 
at Field object level not in conversion functions).
  
Optimization: Now Field class descendants use table->in_use member
instead of current_thd macro.
2004-06-18 10:11:31 +04:00
guilhem@mysql.com
73411a2ed5 WL#1595 "Optionally fsync() the binlog after every statement":
New option --sync-binlog=x (and global settable variable) which will fsync the binlog
after every x-th disk write to it. That is, if in autocommit mode, after every x-th statement
written to the binlog; if using transactions, after every x-th transaction written to the binlog.
x==0 means no fsync. x==1 is the slowest.
There is no test added for this, I have just checked that it works as --sync-binlog=1 dramatically
slows down mysqld.
Made sync-frm a global settable variable.
2004-06-10 15:56:13 +02:00
guilhem@mysql.com
86e8ecc965 Implementation of WL#1824 "Add replication of character set variables in 4.1",
by binlogging some SET ONE_SHOT CHARACTER_SETetc,
which will be enough until we have it more compact and more complete in 5.0. With the present patch,
replication will work ok between 4.1.3 master and slaves, as long as:
- master and slave have the same GLOBAL.COLLATION_SERVER
- COLLATION_DATABASE and CHARACTER_SET_DATABASE are not used
- application does not use the fact that table is created with charset of the USEd db (BUG#2326).
all of which are not too hard to fulfill. 
ONE_SHOT is reserved for internal use of mysqlbinlog|mysql and works only for charsets,
so we give error if used for non-charset vars.
Fix for BUG#3875 "mysqlbinlog produces wrong ouput  if query uses
 variables containing quotes" and BUG#3943 "Queries with non-ASCII literals are not replicated
 properly after SET NAMES".
Detecting that master and slave have different global charsets or server ids.
2004-06-03 23:17:18 +02:00
bell@sanja.is.com.ua
5e37c41fae new error for unsupported command in PS
fixed IN subselect with basic constant left expression
SQLCOM_CREATE_TABLE, SQLCOM_UPDATE_MULTI, SQLCOM_REPLACE_SELECT, SQLCOM_INSERT_SELECT, QLCOM_DELETE_MULTI fixed to be compatible with PS (BUG#3398, BUG#3406)
fixed multiupdate privelege check (BUG#3408)
fixed multiupdate tables check (BUG#3411)
unchecked commands now is rejected by PS protocol to avoid serever crash
fixed cleunup procedure to be compatible sith DO/SET (BUG#3393)
2004-04-08 00:16:17 +03:00
monty@mysql.com
34df0b3d1c Force clients to recompile if client lib changes (Bug #3009) 2004-03-30 22:13:25 +03:00
guilhem@mysql.com
3826a01ee4 A previous changeset by me today about SQL_LOG_BIN had the problem
that it tested the privilege in ::update() whereas it should be
in ::check() (see email from Serg, subject
"Re: bk commit - 4.1 tree (guilhem:1.1706)").
So I add instead a check_func function to sys_var_thd_bit.
I do the same addition to sys_var_thd_ulong, to unify handling
of PSEUDO_THREAD_ID with the one of SQL_LOG_BIN. So class
sys_var_pseudo_thread_id is not needed anymore, removing it.
2004-03-27 01:07:09 +01:00
bell@sanja.is.com.ua
bbb6642a66 aliases should be compared with my_strcasecmp (BUG#3251)
some db comparison code cleupup
removed compiler warnings
2004-03-22 15:43:13 +02:00
serg@serg.mylan
581996393a select @@smth=@@sys_str_var crash fixed 2004-03-20 14:36:00 +01:00
monty@mysql.com
44667503b7 After merge fixes 2004-03-17 10:30:40 +02:00
monty@mysql.com
350b433569 merge with 4.0 2004-03-16 22:41:30 +02:00
monty@mysql.com
ef971bb604 Ensure that one can't from the command line set a variable too small. (Bug #2710)
Allow one to force lower_case_table_names to 0, even if the file system is case insensitive. This fixes some issues on Mac OS X (Bug #2994)
Added variables "lower_case_file_system", "version_compile_os" and "license"
2004-03-06 10:43:35 +02:00
serg@serg.mylan
de240a1ce2 ft_boolean_syntax made changeable 2004-02-16 18:53:00 +01:00
antony@ltantony.rdg.cyberkinetica.homeunix.net
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
gluh@gluh.mysql.r18.ru
a09d6409ae post-merge fixes 2003-12-08 09:44:04 +04:00
antony@ltantony.rdg.cyberkinetica.homeunix.net
afc619f0a2 WorkLog#1280 - Remove fixed table handler from lex/yacc 2003-12-02 20:23:13 +00:00
monty@mysql.com
7c6113a39f Merge key cache structures to one
Fixed compiler warnings (IRIX C compiler and VC++)
2003-11-20 22:06:25 +02:00
monty@mashka.mysql.fi
f382adcfca Portability fixes (AIX43)
Add missing file to VC++ project
2003-11-20 03:11:33 +02:00
monty@mashka.mysql.fi
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
monty@narttu.mysql.fi
6b79cd5c23 Merge 2003-11-03 22:48:03 +02:00
monty@narttu.mysql.fi
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
igor@rurik.mysql.com
f29ed57531 Merge 2003-10-30 10:45:28 -08:00
bell@sanja.is.com.ua
f349adf8de support 'parallel' updates and rallback of whole statement in case of error in evalueting value which should be assigned
(BUG#1484)
2003-10-24 17:28:32 +03:00
gluh@gluh.mysql.r18.ru
4bed4abb62 Merge commit 2003-10-20 13:45:28 +05:00
gluh@gluh.mysql.r18.ru
62b0b8b800 Scrum task 835 - text-to-datetime conversion function 2003-10-20 13:24:18 +05:00
monty@mashka.mysql.fi
9ef2a83fbe Portability fixes for windows
After merge fixes
2003-10-15 22:40:36 +03:00
igor@rurik.mysql.com
f12cbd4bb8 Manual merge after improving concurrency for key cache reassignment 2003-10-01 20:20:17 -07:00
bar@bar.mysql.r18.ru
1d20c09ce9 New SQL variables "collation_server" and "collation_database" 2003-09-15 16:31:04 +05:00
kostja@oak.local
36dd82c1d5 merge commit, hope that none of bar and dlenev changes were
lost.
2003-09-03 14:12:10 +04:00
monty@mashka.mysql.fi
4f7512160b After merge fixes
Use server character set if --default-character-set is not used
Added convert_string() for more efficient alloc+character-set convert of strings
2003-08-19 00:08:08 +03:00
monty@mashka.mysql.fi
2263e3e51f Merge with 4.0.14 2003-08-11 22:44:43 +03:00
kostja@oak.local
c23975aace Merge oak.local:/home/kostja/mysql/mysql-4.1-root
into oak.local:/home/kostja/mysql/mysql-4.1
2003-08-07 13:29:25 +04:00
bar@bar.mysql.r18.ru
a60acfcfe0 Old style charset() and set_charset() were removed. 2003-08-05 12:52:37 +05:00
gluh@gluh.mysql.r18.ru
333bddb33f SCRUM:
Task 499 'init_connect, init_slave options'
2003-07-18 14:11:01 +05:00
kostja@oak.local
941a8623ca resolved conflict with pulled changeset 2003-07-09 18:24:43 +04:00
kostja@oak.local
a232225b69 Preliminary support for options --secure-auth,
--old-passwords
Support for option --old-protocol was removed.
Some test performed.
Tests for SSL and replication are pending.
More strict following to specification for --old-passwords
is in the TODO.
2003-07-08 02:36:14 +04:00
monty@mashka.mysql.fi
ebcc7b5a4f Support for variables with components
Added framework to create/drop and manager buffers for multiple key caches
2003-07-06 19:09:57 +03:00
monty@mashka.mysql.fi
81a84424ee SET CHARACTER SET DEFAULT didn't work (Bug #462) 2003-06-29 12:58:43 +03:00
guilhem@mysql.com
e04a9e6740 We now require SUPER privilege for SET PSEUDO_THREAD_ID. 2003-06-11 17:07:33 +02:00
monty@narttu.mysql.fi
dad0664579 merge with public tree 2003-06-05 00:12:45 +03:00
monty@narttu.mysql.fi
23145cfed7 Added SQLSTATE to client/server protocol
bmove_allign -> bmove_align
Added OLAP function ROLLUP
Split mysql_fix_privilege_tables to a script and a .sql data file
Added new (MEMROOT*) functions to avoid calling current_thd() when creating some common objects.
Added table_alias_charset, for easier --lower-case-table-name handling
Better SQL_MODE handling (Setting complex options also sets sub options)
New (faster) assembler string functions for x86
2003-06-04 18:28:51 +03:00
bar@bar.mysql.r18.ru
adb8c7e040 SET character_set_results=NULL is now working 2003-05-30 13:56:02 +05:00
bar@bar.mysql.r18.ru
0cb3f34806 set_var.cc, set_var.h:
character_set_connection new variable
2003-05-30 13:24:24 +05:00
bar@bar.mysql.r18.ru
81f0fb6e18 character_set_server is now updatable
character_set_database was added
Code optimization: reuse more code for all character sets variables
2003-05-30 13:03:56 +05:00
monty@mashka.mysql.fi
cb7061ebe4 merge 2003-05-22 02:57:27 +03:00
bar@bar.mysql.r18.ru
8d52377a5c Some SHOW VARIABLES have been renamed:
collation_client  -> character_set_client
collation_results -> character_set_results
character_set     -> character_set_server

SET NAMES now doesn't start client->server conversion
SET CHARACTER SET now starts both client->server and server->client conversion
2003-05-21 17:44:12 +05:00
bar@bar.mysql.r18.ru
7f771ce2e1 "character_sets" has been removed from SHOW VARIABLES. Use SHOW CHARACTER SET instead.
"character_set_system" has been added to display the system character set
2003-05-21 13:58:30 +05:00