Commit graph

870 commits

Author SHA1 Message Date
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
pem@mysql.com
dfd59e296e Merge 4.1 -> 5.0. 2004-04-07 19:07:44 +02: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
pem@mysql.com
c8585f3283 Merge 4.1 into 5.0. 2004-02-10 18:44:02 +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
monty@mysql.com
9f78dc52b0 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/my/mysql-5.0
2003-12-21 02:08:44 +02:00
monty@mysql.com
c6ed2a625b Update for VC++
(Fixed project files, compiler warnings etc..)
2003-12-21 02:07:45 +02:00
pem@mysql.comhem.se
e2cbc87bdc Post-merge fixes. 2003-12-20 15:43:24 +01:00
pem@mysql.com
d672412102 Merge 4.1 to 5.0 (the prep stmt fixes in particular). 2003-12-20 13:10:29 +01: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
guilhem@gbichot2
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
konstantin@oak.local
a1c593f141 cleanup 2003-12-05 00:56:28 +03:00
konstantin@oak.local
b6a9ba5b45 after-review fixes 2003-12-04 22:08:26 +03:00
konstantin@mysql.com
f2377c4dc9 manual merge 2003-12-04 18:15:45 +03:00
pem@mysql.com
6e717133c5 Merge 4.1 to 5.0 2003-12-01 16:14:40 +01: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
c75bb0a654 Second attempt: trying to add Statement context to sources.
Added classes Statement, Statement_map
Merge commit
2003-11-27 20:51:53 +03: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
konstantin@mysql.com
09f2d912dc Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/kostja/mysql/mysql-5.0-root
2003-11-23 17:35:19 +03:00
konstantin@oak.local
9c3632fb83 Cleanups:
- unused variable THD::con_root removed
- we don't need to bzero(&warn_root) just before init_alloc_root(&warn_root)
- we don't need to bzero(&transaction.mem_root) because we 
  bzero(&transaction) later in THD::THD
- we don't need to free thd->mem_root thd->transaction.mem_root
  in handle_one_connection because they are freed in THD::~THD
  which is called in end_thread later
2003-11-23 17:34:36 +03:00