Commit graph

849 commits

Author SHA1 Message Date
lars@mysql.com
321db8e349 After merge fixes 2006-05-17 15:57:45 +02:00
lars@mysql.com
7cbba084d7 Merge mysql.com:/users/lthalmann/bkroot/mysql-5.1-new
into  mysql.com:/users/lthalmann/bk/mysql-5.1-new-rpl
2006-05-17 15:14:07 +02:00
mats@mysql.com
66766ad596 Bug#16837 (Missing #ifdef cause compile problem --without-row-based-replication):
Added #ifdef's to make code work even when the system is built without
row-based replication.
2006-05-16 11:16:23 +02:00
holyfoot@mysql.com
4d4b5c8137 Merge 2006-05-12 14:16:20 +05:00
monty@mysql.com
d689f2fa70 Cleanups after review of WL#602
Fixed warnings from test suite
Some fixes in mysql-test-run script to catch more warnings
2006-05-03 19:40:52 +03:00
monty@mysql.com
343644dd5d Added support for key_block_size for key and table level (WL#602)
Added support for key_block_size to MyISAM.
Simplify interface to 'new Key' to make it easier to add new key options.
mysqld option --new is used to define where key options are printed.
(In 5.3 we should move all key options to after key part definition to avoid problem with reserved names)
Fixed some compiler warnings and a memory leak in ssl
2006-05-03 15:59:17 +03:00
holyfoot@mysql.com
06b57c4871 Merge bk@192.168.21.1:mysql-5.1-new
into mysql.com:/home/hf/work/mysql-5.1.18518
2006-04-27 15:07:36 +05:00
holyfoot@deer.(none)
25f56ce8b4 bug #18518 (embedded server crashes starting)
The problem is that now server works properly only with the 
row-based replication
2006-04-24 19:39:33 +05:00
elliot@mysql.com
35041a35bd Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/emurphy/src/mysql/bk-clean/mysql-5.1-merge
2006-04-21 21:04:43 -04:00
elliot@mysql.com
c13fc693fe After merge fixes. 2006-04-21 14:21:17 -04:00
mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se
4d0a4e1199 Merge mronstrom@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/wl2826
2006-04-21 08:57:53 -04:00
mikael@c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se
09e95da616 Merge c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/clean-mysql-5.1-new
into  c-870ae253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/wl2826
2006-04-19 21:22:35 -04:00
konstantin@mysql.com
6d277eb89d Merge mysql.com:/opt/local/work/tmp_merge
into  mysql.com:/opt/local/work/mysql-5.1-merge
2006-04-19 21:12:24 +04:00
konstantin@mysql.com
c49e6f8869 Post-merge fixes. Add a new error message for max_prepared_stmt_count
limit.
2006-04-13 01:46:44 +04:00
konstantin@mysql.com
75792fc0dc Merge mysql.com:/opt/local/work/mysql-4.1-16365
into  mysql.com:/opt/local/work/mysql-5.0-merge
2006-04-12 18:30:54 +04:00
konstantin@mysql.com
a81ea4a830 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/opt/local/work/mysql-4.1-16365
2006-04-07 23:50:45 +04:00
konstantin@mysql.com
518993312c A fix and a test case for Bug#16365 "Prepared Statements: DoS with
too many open statements". The patch adds a new global variable
@@max_prepared_stmt_count. This variable limits the total number
of prepared statements in the server. The default value of
@@max_prepared_stmt_count is 16382. 16382 small statements
(a select against 3 tables with GROUP, ORDER and LIMIT) consume 
100MB of RAM. Once this limit has been reached, the server will 
refuse to prepare a new statement and return ER_UNKNOWN_ERROR 
(unfortunately, we can't add new errors to 4.1 without breaking 5.0). The limit is changeable after startup
and can accept any value from 0 to 1 million. In case
the new value of the limit is less than the current
statement count, no new statements can be added, while the old
still can be used. Additionally, the current count of prepared 
statements is now available through a global read-only variable 
@@prepared_stmt_count.
2006-04-07 23:37:06 +04:00
mikael@c-4908e253.1238-1-64736c10.cust.bredbandsbolaget.se
0a02cbb5f6 Merge c-4908e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/clean-mysql-5.1-new
into  c-4908e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/wl2826
2006-04-01 16:31:53 -05:00
igor@rurik.mysql.com
d6af1b6e39 Merge rurik.mysql.com:/home/igor/dev/mysql-5.0-0
into  rurik.mysql.com:/home/igor/dev/mysql-5.1-0
2006-04-01 02:57:56 -08:00
evgen@sunlight.local
eb075f2255 Manual merge 2006-03-30 17:14:55 +04:00
evgen@moonbone.local
1c13e54890 Fixed bug#15560: GROUP_CONCAT wasn't ready for WITH ROLLUP queries
The GROUP_CONCAT uses its own temporary table. When ROLLUP is present
it creates the second copy of Item_func_group_concat. This copy receives the
same list of arguments that original group_concat does. When the copy is
set up the result_fields of functions from the argument list are reset to the
temporary table of this copy.
As a result of this action data from functions flow directly to the ROLLUP copy
and the original group_concat functions shows wrong result.
Since queries with COUNT(DISTINCT ...) use temporary tables to store
the results the COUNT function they are also affected by this bug.

The idea of the fix is to copy content of the result_field for the function
under GROUP_CONCAT/COUNT from  the first temporary table to the second one,
rather than setting result_field to point to the second temporary table.
To achieve this goal force_copy_fields flag is added to Item_func_group_concat
and Item_sum_count_distinct classes. This flag is initialized to 0 and set to 1
into the make_unique() member function of both classes.
To the TMP_TABLE_PARAM structure is modified to include the similar flag as
well.
The create_tmp_table() function passes that flag to create_tmp_field().
When the flag is set the create_tmp_field() function will set result_field
as a source field and will not reset that result field to newly created 
field for Item_func_result_field and its descendants. Due to this there
will be created copy func to copy data from old result_field to newly 
created field.
2006-03-29 23:30:34 +04:00
knielsen@mysql.com
443ac64226 Improved fix for HPUX compile failure. 2006-03-24 12:24:31 +01:00
pappa@c-8808e253.1238-1-64736c10.cust.bredbandsbolaget.se
3dc4635c70 Merge c-8808e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/mysql-5.1-new
into  c-8808e253.1238-1-64736c10.cust.bredbandsbolaget.se:/home/pappa/wl2826
2006-03-21 10:44:59 -05:00
holyfoot@vva.(none)
936d596abc Code #ifdef-ed 2006-03-20 18:46:13 +04:00
holyfoot@vva.(none)
8074262eda bug 17290 and bug 14350
added THD::work_part_info member where we now store modified
partition_info structure.
It allows no solve problem when different parts of the part_info get
into different mem_roots
2006-03-18 18:48:21 +04:00
knielsen@mysql.com
4d3ad1564d Misc. portability compile fixes. 2006-03-13 16:07:00 +01:00
aelkin@mysql.com
27076f310c Merge mysql.com:/usr_rh9/home/elkin.rh9/MySQL/BARE/5.1
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/Merge/5.1
2006-03-10 18:31:08 +02:00
aelkin@mysql.com
69b4b29c7d Merge mysql.com:/usr_rh9/home/elkin.rh9/MySQL/FIXES/5.0.20-bug15101-sysdate
into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/Merge/5.1
2006-03-10 18:31:06 +02:00
aelkin@mysql.com
d187d410d1 BUG#15101 SYSDATE() disregards SET TIMESTAMP.
After the ChangeSet 1.1892.20.1 2005/08/24 (Bug #12562) SYSDATE() is not an alias
   of NOW() and is unsafe for replication.
   `SYSDATE()' backward compatible aliasing clashes with the idea #12562 
   fix. To make it safe-replicatable we have to either use RBR or to restore
   the pre-5.0 style.
   --sysdate-is-now command line flag was introduced to provide backward compatibility.
2006-03-10 16:47:56 +02:00
mats@mysql.com
9fb1e542fb Merge mysql.com:/home/bkroot/mysql-5.1-wl3023
into  mysql.com:/home/bk/w3023-mysql-5.1-new
2006-03-08 14:22:04 +01:00
mats@mysql.com
6a1d4bac6e WL#3171: Dynamic logging format
Removed error on seeing table map event when slave is in SBR mode
  and switching temporarily to RBR mode to replicate the rows.
2006-03-08 06:55:21 +01:00
mats@mysql.com
1e66bc0d16 Merge mysql.com:/home/bkroot/mysql-5.1-new
into  mysql.com:/home/bk/w3023-mysql-5.1-new
2006-02-28 10:06:58 +01:00
monty@mysql.com
e6a98314a7 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/my/mysql-5.1
2006-02-26 15:12:56 +02:00
guilhem@mysql.com
0071749595 WL#2977 and WL#2712 global and session-level variable to set the binlog format (row/statement),
and new binlog format called "mixed" (which is statement-based except if only row-based is correct,
in this cset it means if UDF or UUID is used; more cases could be added in later 5.1 release):
SET GLOBAL|SESSION BINLOG_FORMAT=row|statement|mixed|default;
the global default is statement unless cluster is enabled (then it's row) as in 5.1-alpha.
It's not possible to use SET on this variable if a session is currently in row-based mode and has open temporary tables (because CREATE
TEMPORARY TABLE was not binlogged so temp table is not known on slave),  or if NDB is enabled (because
NDB does not support such change on-the-fly, though it will later), of if in a stored function (see below).
The added tests test the possibility or impossibility to SET, their effects, and the mixed mode,
including in prepared statements and in stored procedures and functions.
Caveats:
a) The mixed mode will not work for stored functions: in mixed mode, a stored function will
always be binlogged as one call and in a statement-based way (e.g. INSERT VALUES(myfunc()) or SELECT myfunc()).
b) for the same reason, changing the thread's binlog format inside a stored function is
refused with an error message.
c) the same problems apply to triggers; implementing b) for triggers will be done later (will ask
Dmitri).
Additionally, as the binlog format is now changeable by each user for his session, I remove the implication
which was done at startup, where row-based automatically set log-bin-trust-routine-creators to 1
(not possible anymore as a user can now switch to stmt-based and do nasty things again), and automatically
set --innodb-locks-unsafe-for-binlog to 1 (was anyway theoretically incorrect as it disabled
phantom protection).
Plus fixes for compiler warnings.
2006-02-25 22:21:03 +01:00
monty@mysql.com
1e2e9e2856 Merge mysql.com:/home/my/mysql-5.0
into  mysql.com:/home/my/mysql-5.1
2006-02-25 21:54:34 +02:00
monty@mysql.com
54274976e7 Fixed compiler warnings from gcc 4.0.2:
- Added empty constructors and virtual destructors to many classes and structs
- Removed some usage of the offsetof() macro to instead use C++ class pointers
2006-02-25 17:46:30 +02:00
monty@mysql.com
82b77cdd90 Fixes to embedded server to be able to run tests with it
(Needed for "list of pushes" web page and autopush)
2006-02-24 18:34:15 +02:00
mats@mysql.com
43bc3c4068 Merge mysql.com:/home/bkroot/mysql-5.1-new
into  mysql.com:/home/bk/w3023-mysql-5.1-new
2006-02-16 08:46:45 +01:00
mats@mysql.com
2884408c75 WL#3023 (Use locks in a statement-like manner):
Table maps are now written on aquiring locks to tables and released
  at the end of each logical statement.
2006-02-16 08:30:53 +01:00
bar@mysql.com
cc3623aecf Many files:
Backporting character_set_filesystem from 5.0 to 5.1.
2006-02-14 08:24:01 +04:00
mikron@c-130be253.1238-1-64736c10.cust.bredbandsbolaget.se
edb8811f03 WL 2826: Seventh step, more fixes for error injects
Removed session variables for error injects
started using DBUG macros for error injects
2006-02-03 18:05:30 +01:00
mikron@c-4d08e253.1238-1-64736c10.cust.bredbandsbolaget.se
08e12cada9 WL 2826: First step in error handling of ALTER TABLE for partitioning 2006-02-01 10:06:07 +01:00
holyfoot@mysql.com
09359dce59 Merge bk@192.168.21.1:mysql-5.1-new into mysql.com:/home/hf/work/5.1.emb 2006-01-23 11:59:31 +04:00
cps@outpost.site
c08d4aa703 Fix the tree: plugin-related changes, necessary for
CSV storage engine to be statically compiled.
Derived from antony's patch.
2006-01-20 00:40:56 +03:00
holyfoot@mysql.com
53a379d041 Merge bk@192.168.21.1:mysql-5.1-new into mysql.com:/home/hf/work/5.1.emb 2006-01-19 18:05:57 +04:00
bar@mysql.com
4e4b37a8ef loaddata.result, loaddata.test:
Adding test case.
sql_yacc.yy:
  Adding TEXT_STRING_filesystem, which
  converts from character_set_client to
  character_set_conversion.
  Replacing TEXT_STRING_sys to TEXT_STRING_filesystem
  in LOAD DATA and SELECT INTO OUTFILE contexts.
sql_class.h, sql_class.cc:
  Adding character_set_filesystem variable,
  and charset_is_character_set_filesystem
  flag (to avoid conversion when it's not necessary).
set_var.h, set_var.cc:
  Adding sys_var_character_set_filesystem
mysqld.cc:
  Adding --character-set-filesystem startup option.
2006-01-18 12:55:38 +04:00
tomas@poseidon.ndb.mysql.com
4b731ddfb4 wl2325 wl2324 2006-01-12 19:51:02 +01:00
mats@mysql.com
94d3a8e050 Changes to support aCC on HP-UX. 2006-01-09 15:59:39 +01:00
holyfoot@deer.(none)
e8697cf428 Big patch to make embedded-server working in 5.x
Now it supports queries returning several results
(particularly important with the SP)
2006-01-04 14:20:28 +04:00
lars@mysql.com
ad126d90e0 WL#1012: All changes as one single changeset.
This includes both code and test cases.
2005-12-22 06:39:02 +01:00