Commit graph

349 commits

Author SHA1 Message Date
tomas@poseidon.(none)
41bd91a409 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1-ndb
into poseidon.(none):/home/tomas/mysql-4.1-ndb
2004-09-06 10:47:04 +00:00
tomas@poseidon.(none)
caf79dacfe renamed ha_recovery_logging to ha_enable_transaction
added tests to alter table for "large" alter tables and truncates in ndbcluster
added debug printout in restart() in ndbcluster
added flag THD::transaction.on to enable/disable transaction
2004-09-03 15:11:09 +00:00
monty@mysql.com
bb4ccdb177 Remove extra '/' after mysql_real_data_home
Add missing parameter to strxnmov() that caused some INTO OUTFILE commands to core dump
2004-09-03 02:25:27 +03:00
hf@deer.(none)
21acb551ab Merge bk@192.168.21.1:/usr/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.4815
2004-09-02 11:11:16 +05:00
hf@deer.(none)
5a817ea665 Addition to the fix for #4815 2004-09-02 11:10:26 +05:00
sergefp@mysql.com
e4ffae2a0e Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-bug-psnames
2004-08-31 14:12:42 +04:00
sergefp@mysql.com
5d3dc82daa Change Item_arena::state to enum 2004-08-31 14:07:02 +04:00
sergefp@mysql.com
3dfbc35f45 Fix for BUG#5242: Made SQL Syntax Prepared Statement names case-insensitive. 2004-08-29 19:44:28 +04:00
konstantin@mysql.com
522a27069f Merge: manual resolve 2004-08-24 23:07:08 +04:00
hf@deer.(none)
4629ae29de Fix for bug #4815 (embedded server calculates wrong places for outfiles)
In some places in mysqld behaviour depends on system working directory
It works badly in libmysqld because user can set it in the way he needs.
I think we should explicitly insert mysql_real_data_home value in
paths in these places
2004-08-24 22:45:32 +05:00
konstantin@mysql.com
ae18dc3ec8 Fix for Bug#5034 "prepared "select 1 into @arg15", second
execute crashes server": we were deleting lex->result
after each execute, but prepared statements assumed that
it's left intact.
The fix adds cleanup() method to select_result hierarchy,
so that result objects can be reused.
Plus we now need to delete result objects more wisely.
2004-08-24 20:17:11 +04:00
monty@mysql.com
46588eeb7a Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-08-24 18:24:05 +03:00
monty@mysql.com
c44d4debfa Portablity fixes & simple optimizations 2004-08-24 18:00:45 +03:00
sergefp@mysql.com
d970586fef Fix to compile with msvc: converted static const int Item_arena::* to enum members, undefine ERROR 2004-08-24 14:44:15 +04:00
konstantin@mysql.com
568c6e8526 Fix for bug#4912 "mysqld crashs in case a statement is executed
a second time". The bug was caused by incompatibility of
negations elimination algorithm and PS: during first statement 
execute a subtree with negation was replaced with equivalent 
subtree without NOTs.
The problem was that although this transformation was permanent, 
items of the new subtree were created in execute-local memory.
The patch adds means to check if it is the first execute of a
prepared statement, and if this is the case, to allocate items
in memory of the prepared statement.
The implementation:
- backports Item_arena from 5.0
- adds Item_arena::is_stmt_prepare(), 
  Item_arena::is_first_stmt_execute().
- deletes THD::allocate_temporary_pool_for_ps_preparing(),
  THD::free_temporary_pool_for_ps_preparing(); they
  were redundant.
and adds a few invariants:
- thd->free_list never contains junk (= freed items)
- thd->current_arena is never null. If there is no
  prepared statement, it points at the thd. 
The rest of the patch contains mainly mechanical changes and
cleanups.
2004-08-21 02:02:46 +04:00
serg@serg.mylan
e1237cbc53 manually merged 2004-08-18 19:57:55 +02:00
guilhem@mysql.com
0f20e2fece Avoiding a theoretically possible crash (pthread_mutex_lock(0)) which could (at least in POSIX Threads books)
happen on SMP machines, when a thread is going to wait on a condition and it is KILLed at the
same time.
Cleaning code a bit by adding a test in enter_cond() that we have the mutex (was already the case in all places
where it's called except one which is fixed here).
2004-07-30 00:53:25 +02:00
bar@mysql.com
30a86a0be9 Bug#4417 binary character set breaks multi-byte table/field name. 2004-07-06 17:15:43 +05:00
monty@mysql.com
d69a36d118 merge 2004-06-21 10:24:40 +03:00
monty@mysql.com
1388c164bc After merge fixes
Return NULL if a time argument is given to date_add(). (Warning will be shown after Dimitri's timezone patch is pushed)
2004-06-21 10:21:20 +03: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
sergefp@mysql.com
1e05e6cb82 Post review fixes for "SQL Syntax for Prepared Statements". 2004-06-07 12:09:10 +04:00
sergefp@mysql.com
bec20d1fd7 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-ps-merge
2004-06-04 05:37:14 +04:00
guilhem@mysql.com
da835a0a06 Merge gbichot@213.136.52.20:/home/bk/mysql-4.1
into mysql.com:/home/mysql_src/mysql-4.1
2004-06-03 23:19:01 +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
sergefp@mysql.com
bd04f52552 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-ps-merge
2004-06-03 20:54:46 +04:00
hf@deer.(none)
38334f62a4 Proposed fix for bug #3412 (embedded server: prepared statement returns
empty recordset where some records should be found)
2004-05-28 15:59:29 +05:00
sergefp@mysql.com
d7dd97089e Manually merged, requirees more merging 2004-05-25 08:15:50 +04:00
konstantin@mysql.com
f207b33a7b Support for character set conversion in binary protocol: another go
after Monty's review.
- Item_param was rewritten.
- it turns out that we can't convert string data to character set of
  connection on the fly, because they first should be written to the binary
  log.
  To support efficient conversion we need to rewrite prepared statements
  binlogging code first.
2004-05-25 02:03:49 +04:00
sergefp@mysql.com
f75b1adece Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/dbdata/psergey/mysql-4.1-ps-merge
2004-05-21 04:31:07 +04:00
monty@mysql.com
e0a4b51215 Better fix for bug #3749 (bug in deleting automatic generated foreign keys) 2004-05-15 11:57:40 +03:00
sergefp@mysql.com
3711c98b2a Trivial manual merge 2004-05-15 00:06:16 +04:00
monty@mysql.com
116f61c656 Don't automaticly generate a new key for a foreign key constraint if there is already a usable key.
Prefer not automatic keys before automatic keys. If there is two conf
2004-05-12 00:29:52 +03:00
sergefp@mysql.com
9a4acccd05 WL#1622 "SQL Syntax for Prepared Statements" - cosmetic code review fixes 2004-04-30 20:08:38 +04:00
marko@hundin.mysql.fi
df5336a3cc Introduce keys in child tables corresponding to FOREIGN KEYs
Remove redundant keys in CREATE TABLE and ALTER TABLE
2004-04-21 13:15:43 +03:00
sergefp@mysql.com
a314cbefa1 WL#1622 "SQL Syntax for Prepared Statements": post-review fixes:
Moved PS name to Statement class, Statement_map now handles name-to-statement resolution.
  Both named and unnamed statements are now executed in one function (sql_prepare.cc:execute_stmt)
  Fixed a problem: Malformed sequence of commands from client could cause server to use previously deleted objects.
  Some code cleanup and small fixes
2004-04-13 01:58:48 +04:00
sergefp@mysql.com
ac563b1b8e Merge 2004-04-08 17:08:56 +04:00
sergefp@mysql.com
1f8505d66f Post-merge fixes 2004-04-05 19:52:10 +04:00
sergefp@mysql.com
a8386d01c2 Many files:
SQL Syntax for Prepared Statements (WL#1622)
ps.test, ps.result:
  new file
2004-04-05 19:43:37 +04:00
bell@sanja.is.com.ua
1e4af935c1 removed old way to prevent using stack tables for caching Items in PS
fixed error code in union test
2004-04-04 03:05:44 +03:00
bell@sanja.is.com.ua
5568155e04 fix for table/field caching mechanism
save moving ON/USING tables conditions to WHERE clause (BUG#2794)
2004-04-01 03:00:38 +03:00
guilhem@mysql.com
90a5e244be To save 32KB memory per thread when --log-bin is not used, we do not
init the binlog_cache (THD::transaction.trans_log).
I have checked all places where trans_log is used, because as now
it may not be inited in some cases, we have to be cautious
(will forward this commit mail to Heikki).
2004-03-26 19:11:37 +01:00
bell@sanja.is.com.ua
7e48a0f610 merge 2004-03-09 12:52:25 +02:00
konstantin@oak.local
8cc8b0ea5c Desperate attempt to push part of prepared statements cleanup which was
reviewed in Saint-Petersbourg (including post-review fixes).
2004-03-02 22:39:50 +03:00
serg@serg.mylan
ed2e1aa14d my_gethwaddr() for linux/freebsd
UUID() function
2004-02-27 20:30:08 +01:00
bell@sanja.is.com.ua
14b9fa3588 revision of fix_fields() calls (BUG2838) 2004-02-18 01:08:52 +02:00
bell@sanja.is.com.ua
a66b398eb8 merge 2004-02-17 11:12:55 +02:00
bell@sanja.is.com.ua
272bd74abb memory leacks in PS with subqueries fixed (adddition to fix of BUG#2462) 2004-02-12 03:10:26 +02:00
monty@mysql.com
ce14578909 Merge with 4.0.18 2004-02-11 00:06:46 +01:00
bell@sanja.is.com.ua
cefdd4fec6 merge 2004-02-09 15:49:11 +02:00
monty@mysql.com
06432eac36 Added --compact to mysqlbinlog
Fixed output from mysqlbinlog when using --skip-comments
Fixed warnings from valgrind
Fixed ref_length when used with HEAP tables
More efficent need_conversion()
Fixed error handling in UPDATE with not updateable tables
Fixed bug in null handling in CAST to signed/unsigned
2004-02-09 12:31:03 +01:00
bell@sanja.is.com.ua
69e2460bd4 fixed subquery with PS (BUG#2462)
fixed UNION preparation
2004-02-08 20:14:13 +02:00
monty@mysql.com
480b082cf4 merge 2004-02-05 18:14:48 +01:00
vva@eagle.mysql.r18.ru
128751d3f7 Merge eagle.mysql.r18.ru:/home/vva/work/mysql.orig/clear/mysql-4.0
into eagle.mysql.r18.ru:/home/vva/work/BUG_2526/mysql-4.0
2004-02-05 17:53:46 +04:00
vva@eagle.mysql.r18.ru
fedeafaef0 code cleanup 2004-02-05 17:52:41 +04:00
monty@mysql.com
6bfede9639 Added SQL_SELECT::cleanup() to make it easier to reuse SQL_SELECT item's for sub selects. Needed for proper fix for bug #2479.
Added 'select_to_file' class to be able to merge identical code for select_export and select_dump
2004-02-05 10:22:08 +01:00
vva@eagle.mysql.r18.ru
7769e5a677 added checking for bootstrap in select_send::send_data
(fixed bug #2526 "--init-file crashes MySQL if contains large select")
Such checking usually works in send_ok, send_eof, but in this case large 
result causes interim flushing.
2004-02-04 21:35:20 +04:00
monty@mysql.com
ed44e769ba Fixed parsing of column names and foreign key constraints in Innobase to handle quoted identifiers and identifiers with space. (Bug #1725)
Fix optimizer tuning bug when first used key part was a constant. (Bug #1679)
2004-01-30 10:46:30 +01:00
hf@deer.(none)
94b0713ca1 bugfix to #1224
code slightly modified with Monty's suggestions
2004-01-27 13:46:47 +04:00
bell@sanja.is.com.ua
242e8dbbbb merge 2004-01-17 13:13:48 +02:00
jani@rhols221.adsl.netsonic.fi
1cc08ed699 Fixed Bug#2123, mysqld segmentation faulted when it tried to
open a file that already existed. The problem was that end_io_cache()
was called even if init_io_cache() was not. This affected both
OUTFILE and DUMPFILE (both fixed). Sometimes wrongly aligned pointer was freed,
sometimes mysqld core dumped.

Other problem was that select_dump::send_error removed the dumpfile,
even if it was created by an earlier run, or by some other program, if
the file permissions just permitted it. Fixed it so that the file will
only be deleted, if an error occurred, but the file was created by mysqld
just a moment ago, in that thread.

On the other hand, select_export did not handle the corresponding garbage
file at all. Both fixed.

After these fixes, a big part of the select_export::prepare and select_dump::prepare
code became identical. Merged the code into a new function called create_file(),
which is now called by the two latter functions.

Regards,
Jani
2004-01-15 06:48:31 +02:00
hf@deer.(none)
3348564447 Fix for 1224 (USER() CURRENT_USER() functions in embedded library)
Now we return user@host for USER() in embedded library
CURRENT_USER returns empty string if library compiled with
NO_EMBEDDED_ACCESS_CHECKS
2004-01-07 21:30:15 +04:00
bell@sanja.is.com.ua
e5fa5585f0 removed droping field->query_id for reinitialization tables for subquery.
(BUG#2089)
2004-01-03 00:12:07 +02:00
konstantin@oak.local
3382eea70e short patch for bug #2184 'Prepared statements in embedded library was
broken with recent changes' (attempt 2).
Adding Statement_core is better because:
- set_statement() code is shorter and you don't need to modify it when adding
new members to Statement_core
- a bit faster (you don't have virtual call and don't free_root() twice)
Do that short patch instead in hope that set_statement() will be sooner or
later removed entirely
2003-12-23 15:38:19 +03:00
konstantin@oak.local
9de694e5eb THD::init_for_queries() pushed back:
see comments to the method why
2003-12-21 22:26:45 +03:00
konstantin@oak.local
2a25b2617a Prepared_statement deployed instead of PREP_STMT. 2003-12-20 02:16:10 +03:00
konstantin@oak.local
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
monty@mysql.com
ede8169d24 Added missing SSL library (Should be in source distribution)
Fixed compiler warnings (a lot of hidden variables detected by the Forte compiler)
Added a lot of 'version_xxx' strings to 'show variables'
Prevent copying of TMP_TABLE_PARAM (This caused core dump bug on Solaris)
Fixed problem with printing sub selects to debug log
2003-11-28 12:18:13 +02:00
konstantin@oak.local
7c2d0eea45 fix for bug #1946:
"You can always mysql_real_query a query with placeholders 
after mysql_prepare()"
2003-11-25 17:41:12 +03:00
monty@narttu.mysql.fi
f763d4c31d Removed some warnings reported by valgrind
After merge fixes.
Now code compiles, but there is still some valgrind warnings that needs to be fixed
2003-11-04 14:09:03 +02:00
monty@narttu.mysql.fi
4e4725377d Merge with 4.0 2003-11-04 09:40:36 +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
monty@mysql.com
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
guilhem@mysql.com
c1f7f33960 4 small items in this:
- when we don't have in_addr_t, use uint32.
- a forgotten initialization of slave_proxy_id in sql/log_event.cc (was not really "forgot", was
"we needn't init it there", but there was one case where we needed...).
- made slave_proxy_id always meaningful in THD and Log_event, so we can
rely more on it (no need to test if it's meaningful). THD::slave_proxy_id
is equal to THD::thread_id except for the slave SQL thread.
- clean up the slave's temporary table (i.e. free their memory) when slave
server shuts down.
2003-10-31 23:20:23 +01:00
bell@sanja.is.com.ua
0ad0c8ff3d after merge fix 2003-10-24 21:14:26 +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
0d34e50f39 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mashka.mysql.fi:/home/my/mysql-4.1
2003-10-15 22:52:31 +03:00
monty@mashka.mysql.fi
9ef2a83fbe Portability fixes for windows
After merge fixes
2003-10-15 22:40:36 +03:00
heikki@hundin.mysql.fi
5ec87f2449 Many files:
ALTER TABLE ... DISCARD/IMPORT TABLESPACE
  Track crash in buf_LRU_block_remove_hashed_page + 1807 reported in MySQL-3.23.5x
2003-10-13 11:20:19 +03:00
monty@mashka.mysql.fi
c60a75e9ba Add warnings for single line inserts. To do this I had to convert count_cuted_fields to an enum (to be able to detect setting a NOT NULL field to NULL) 2003-10-11 23:26:39 +03:00
monty@narttu.mysql.fi
9e57c12b5a Fixed bug in error handling of CREATE ... SELECT
More tests cases
After merge fixes
2003-10-08 18:53:31 +03:00
bell@laptop.sanja.is.com.ua
18bb43671d Merge laptop.sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into laptop.sanja.is.com.ua:/home/bell/mysql/bk/work-all_any_group-4.1
2003-10-07 01:31:16 +03:00
bell@laptop.sanja.is.com.ua
e527f268d5 fixed error names 2003-10-06 22:35:05 +03:00
bell@laptop.sanja.is.com.ua
e1b53fdd42 Merge 2003-10-06 20:55:06 +03:00
hf@deer.(none)
5f8e7fef27 Merge 2003-09-26 15:40:26 +05:00
hf@deer.(none)
ba8fa76fa2 SCRUM:
WL#604 Privileges in embedded library
code added to check privileges in embedded library
NO_EMBEDDED_ACCESS_CHECKS macros inserted in code so we can exclude
access-checking parts. Actually we now can exclude these parts from
standalone server as well. Do we need it?
Access checks are disabled in embedded server by default. One should
edit libmysqld/Makefile manually to get this working.
We definitely need the separate configure for embedded server
2003-09-26 15:33:13 +05:00
hf@deer.(none)
e89e3ff753 SCRUM
embedded library
some dirty places cleaned:

uint removed from mysql.h as Miguel suggested
empty_string renamed as my_empty_string to get rid of name's intersections
using embedded library
2003-09-18 18:58:02 +05:00
bar@bar.mysql.r18.ru
1d20c09ce9 New SQL variables "collation_server" and "collation_database" 2003-09-15 16:31:04 +05:00
monty@narttu.mysql.fi
4b3b4b9250 merge 2003-09-03 19:53:08 +03: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@narttu.mysql.fi
77a70a0a24 merge with 4.0.15 2003-08-29 13:44:35 +03:00
monty@narttu.mysql.fi
27e331c30a Revert change of lower-case-table handling as this breaks how alias works.
Changes like this should be done to 4.1, not to a stable release
2003-08-29 04:17:30 +03:00
monty@narttu.mysql.fi
a2a1e97226 Portability fixes 2003-08-28 22:18:02 +03:00
bell@laptop.sanja.is.com.ua
f77f46d8eb Merge laptop.sanja.is.com.ua:/home/bell/mysql/bk/work-all_any-4.1
into laptop.sanja.is.com.ua:/home/bell/mysql/bk/work-all_any_group-4.1
2003-08-23 13:33:02 +03:00
dlenev@mysql.com
bb96092202 Fix for BUG#1086. Now we don't preserve event's log_pos through
log-slave-updates since this causes unexpected values in 
Exec_master_log_pos in A->B->C replication setup, synchronization
 problems in master_pos_wait()... 
Still this brokes some functionality in sql/repl_failsafe.cc 
(but this file is not used now)
2003-08-20 03:38:31 +04:00
monty@mashka.mysql.fi
eb6458cb18 After merge fixes + bugs from last merge 2003-08-19 16:00:12 +03: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
bell@sanja.is.com.ua
6ac8e9b93c optimisation of independent ALL/ANY with aggregate function (WL#1115) (SCRUM) 2003-08-12 12:38:03 +03:00