Commit graph

241 commits

Author SHA1 Message Date
bell@sanja.is.com.ua
392c306969 fixed open_and_lock_tables result processing (all open_and_lock_tables revision)
fixed printing of COLLATE operation
(BUG#5155)
2004-08-31 10:06:38 +03:00
serg@serg.mylan
8f2d92c56a manually merged 2004-08-24 17:24:23 +02:00
guilhem@mysql.com
252ebd2b30 Fix for BUG#5033 "When using temporary tables truncate does NOT reset the auto_increment counter"
(ok'd by CTO to fix it in 4.0).
Fix to make mysql-test-run work with all Valgrind versions.
2004-08-23 16:15:57 +02:00
bell@sanja.is.com.ua
9336d36cf8 VIEW
two TABLE_LIST copy eliminated
2004-07-16 01:15:55 +03:00
monty@mysql.com
1e31199995 Merge with 4.1.3-beta 2004-07-07 11:29:39 +03:00
serg@serg.mylan
c03addab79 merged 2004-06-23 12:36:07 +02:00
serg@serg.mylan
3f1c4ba745 handler interface cleanups:
more logical table/index_flags
  return  HA_ERR_WRONG_COMMAND instead of abstract methods where appropriate
  max_keys and other limits renamed to max_supported_keys/etc
  max_keys/etc are now wrappers to max_supported_keys/etc 
  ha_index_init/ha_rnd_init/ha_index_end/ha_rnd_end are now wrappers to real {index,rnd}_{init,end} to enforce strict pairing
2004-06-23 12:29:05 +02:00
guilhem@mysql.com
2b20e84ff8 Making DROP TABLE IF EXISTS, DROP DATABASE IF EXISTS, DELETE FROM, UPDATE be logged to
binlog even if they changed nothing, and a test for this.
This is useful when users use these commands to clean up their master and slave by issuing
one command on master (assume master and slave have slightly different data for some
reason and you want to clean up both).
Note that I have not changed multi-table DELETE and multi-table UPDATE because their
error-reporting mechanism is more complicated.
2004-06-09 16:07:01 +02:00
sergefp@mysql.com
5843eec521 Manual merge 2004-05-29 20:55:46 +04:00
bell@sanja.is.com.ua
c7396f8d20 PS and SP made compatible in mechanism used for preparing query for rexecutions (Bug #2266) 2004-05-20 02:02:49 +03:00
sergefp@mysql.com
3b29cad05c Manual merge 2004-05-13 01:49:47 +04:00
sergefp@mysql.com
a46d7542c9 This is first cset for WL#1394 "Optimize index merge when all involved index ranges include only values with equal keys"
The main idea is to exploit the fact that key scans for "key=const" return ordered sequences of rowids.
2004-05-13 01:38:40 +04:00
pem@mysql.com
bf45960eef Merge 4.1 -> 5.0 2004-05-07 18:52:06 +02:00
pem@mysql.comhem.se
296ba0ea57 WL#1567: Add ROW_COUNT() Function to retrieve count of rows updated/inserted/deleted 2004-05-04 13:45:20 +02:00
monty@mysql.com
7d9a9fd93a Added missing return statement 2004-04-12 03:26:32 +03:00
bell@sanja.is.com.ua
a535342d57 after review PS fixes 2004-04-10 01:14:32 +03:00
pem@mysql.com
dfd59e296e Merge 4.1 -> 5.0. 2004-04-07 19:07:44 +02:00
monty@mysql.com
350b433569 merge with 4.0 2004-03-16 22:41:30 +02:00
sergefp@mysql.com
3d2794ae9a Fix for Bug#3183 2004-03-15 23:11:58 +03:00
monty@mysql.com
b9c4ee353d Rollback UPDATE/DELETE statements on kill
nsure that rows in a multi-row INSERT DELAYED are inserted atomicly
2004-03-04 18:16:10 +02:00
monty@mashka.mysql.fi
3b83cce5eb merge with 4.0 2004-02-22 09:50:59 +02:00
monty@mashka.mysql.fi
e74182fe52 Cleanups 2004-02-22 08:54:06 +02:00
Sinisa@sinisa.nasamreza.org
cd0562158a Fix for a bug #2799.
Multi-table delete's with tables having foreign key constraints
did not return the error.

Also added tests for multi-table updates.
2004-02-19 19:43:46 +02:00
pem@mysql.com
c8585f3283 Merge 4.1 into 5.0. 2004-02-10 18:44:02 +01:00
bell@sanja.is.com.ua
b99d13582b Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-derived2-4.1
2004-02-09 12:10:12 +02:00
ram@gw.mysql.r18.ru
f231d9826b just tried to find all 'skipp' and replace it with 'skip'. 2004-02-02 20:25:39 +04:00
bell@sanja.is.com.ua
2a9cd37cd6 now all tables of query are locked in one place (including derived tables)
fixed BUG#2120 and other problem with EXPLAINing derived tables
2004-02-01 15:30:32 +02: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.com
d672412102 Merge 4.1 to 5.0 (the prep stmt fixes in particular). 2003-12-20 13:10:29 +01:00
monty@mysql.com
0448a3f4c0 Add cast of integer/longlong to (ulong) to make printf/sprintf 64 bit safe
A after merge fix for last merge
2003-12-20 03:41:04 +02:00
monty@mysql.com
fcbee7eb1a merge with lex pointer change patch 2003-12-19 20:18:18 +02:00
monty@mysql.com
1b7f67d65b Fixed memory overrun bug in DELETE ... ORDER BY 2003-12-19 19:16:26 +01: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
pem@mysql.com
99e0ae85c7 Merge 4.1 to 5.0. 2003-12-19 18:03:27 +01:00
monty@mysql.com
e0cc6799ec Merge with 4.0.17 2003-12-17 17:35:34 +02:00
guilhem@mysql.com
e56c8c61d8 Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
2003-12-16 11:12:40 +01:00
guilhem@mysql.com
db2d812d1b Fix for BUG#2083
"EE_ error codes (EE_DELETE, EE_WRITE) end up in the binlog, making slave stop".
The problem was that during execution of the command on the master, an error
can occur (for example, not space left on device, then mysqld waits and when
there is space it completes successfully: so finally it worked but the error
EE_WRITE remains in thd->net.last_errno and thd->net.last_error).
To know if finally the command succeeded, we test the 'error' variable in
every place, and if it shows no failure we reset thd->net.last_err* using
the function THD::clear_error() which is backported from 4.1.
A new test to see if now only real errors get to the binlog (note: the test
uses "rm").

Also a bit of memory free/alloc saving in log_event.cc (do not free the whole
mem_root after every query in the slave SQL thread: we can keep the initial
block of it; which will be freed when the thread terminates).
2003-12-16 11:10:50 +01:00
igor@rurik.mysql.com
15e70c5480 sql_delete.cc, sql_update.cc, sql_class.h:
Simplification of the previous fix for multi-update/delete.
2003-12-12 13:14:59 -08:00
igor@rurik.mysql.com
54628879fc Many files:
Fixed a bug causing a crash for multi-update/multi-delete
  with impossible where (bug #1860).
2003-12-11 14:55:48 -08:00
monty@mysql.com
7e92336b1d Fixed a possible memory leak on MacOSX when using the shared libmysql.so library (Bug #2061)
mysql_server_init() now returns error code if something went wrong (Bug #2062)
Don't use my_fopen() when reading symlink information as this may cause problems when a lot of files are opened.
Free thread keys with pthread_key_delete() instead of relying on automatic free. (Bug #2062)
Fixed bug in UNION statement with alias '*'. (Bug #1249)
Fixed a bug in DELETE ... ORDER BY ... LIMIT where the rows where not deleted in the proper order. (Bug #1024).
FOUND_ROWS() could return incorrect number of rows after a query with an impossible WHERE condition.
HOW DATABASES doesn't anymore show .sym files (on windows) that doesn't point to a valid directory. (Bug #1385)
2003-12-11 06:24:08 +02:00
pem@mysql.com
24a2ae44a3 Merged 4.1 -> 5.0 2003-12-09 19:00:34 +01:00
serg@serg.mylan
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
pem@mysql.comhem.se
5b355ea6f5 Post-merge fixes. 2003-11-19 16:59:35 +01:00
pem@mysql.com
28a2c6a96b Merging 4.1->5.0. 2003-11-19 15:19:46 +01:00
bell@sanja.is.com.ua
d96b3aa939 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into sanja.is.com.ua:/home/bell/mysql/bk/work-delete-4.1
2003-11-18 17:48:45 +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
bell@sanja.is.com.ua
5327ec1d09 IGNORE option was added for DELETE statement (WL#1334) 2003-11-17 22:45:07 +02:00
pem@mysql.com
337238b78a Merging 4.1->5.0 2003-10-22 16:10:22 +02:00
serg@serg.mylan
f944fd4a65 merged 2003-10-21 11:58:43 +02:00
monty@mashka.mysql.fi
461d1627b3 merge with 4.0 for more memory allocation variables. 2003-10-13 15:50:30 +03:00
monty@mashka.mysql.fi
c95d142f8f Add new user variables for tuning memory usage:
query_alloc_block_size, query_prealloc_size, range_alloc_block_size,transaction_alloc_block_size and transaction_prealloc_size
Add more checks for "out of memory" detection in range optimization
2003-10-11 22:00:24 +03:00
serg@serg.mylan
8cc3951c8f key_map with more that 64 bits width 2003-10-11 13:06:55 +02:00
pem@mysql.com
7f158dd12a Merge 4.1 into 5.0 2003-08-26 11:51:09 +02:00
bell@laptop.sanja.is.com.ua
dd9cbce47b merge 2003-08-19 20:14:35 +03:00
bell@laptop.sanja.is.com.ua
85f397781b Code cleanup 2003-08-16 13:26:48 +03:00
monty@mashka.mysql.fi
2263e3e51f Merge with 4.0.14 2003-08-11 22:44:43 +03:00
monty@mashka.mysql.fi
e1aa90a9bf Safety and speedup fixes:
Changed is_open() to work as before.
Added back inited argument to LOG
2003-07-14 10:12:05 +03:00
guilhem@mysql.com
fbebac9a48 Fix for BUG#791:
a safer way of initing the mutexes in MYSQL_LOG.
is_open() is now always thread-safe.
See each file for details.
2003-07-11 14:26:44 +02:00
monty@mashka.mysql.fi
d495656ac5 Cleanups 2003-07-09 00:55:07 +03:00
pem@mysql.telia.com
9c3a7a6ba3 Merge 4.1 into 5.0 (first pass). 2003-07-08 17:50:23 +02:00
heikki@hundin.mysql.fi
ea8ed30f03 sql_delete.cc:
Fix bug: if a DELETE failed in a FOREIGN KEY error and it had already deleted some rows, then MySQL did not roll back the failed SQL statement, and also wrote it to the binlog
2003-07-07 16:39:53 +03:00
bell@sanja.is.com.ua
28207ede02 (SCRUM)
It looks like samll revolution in SELECT_LEX tree, but it was only natural way to solve problem with name resolution of external fields inside subselect which belongs to global order of union
also it have following advantages:
 - removed mess with current_select type conversion
   - type checking/converting
   - a lot of virtual methods
 - fake select for union execution allocated only once (it was allocated for every subselect with union executing)

changes:
fixed bug with outer fields name resolution of subqueries which belong to global ORDER BY clause
remuved select_lex() function, now thd->lex.current_select always have type SELECT_LEX
new SELECT_LEX (fake_select_lex) will be allocated in case of UNION for using in UNION processing
fake_select_lex allocated for union hold global ORDER BY & LIMIT clauses and have linkage equal to GLOBAL_OPTIONS_TYPE 
new description of SELECT_LEX tree

(SCRUM)
2003-07-03 02:30:52 +03:00
monty@mashka.mysql.fi
e436736d29 ixed wrong unlock of tables (new bug) 2003-05-26 20:48:40 +03:00
heikki@hundin.mysql.fi
b8e5b65f88 ha_innodb.cc:
Remove accidenatlly committed debug printfs when query cache is used
sql_update.cc, sql_load.cc, sql_insert.cc, sql_delete.cc:
  For the transactional query cache algorithm to work we must invalidate the query cache in INSERT/DELETE/UPDATE before writing to the binlog or calling ha_autocommit_... Note that binlog writing may also call commit. The crucial thing is that the transaction which modified data must not be committed BEFORE the query cache is invalidated.
2003-05-26 19:10:43 +03:00
monty@narttu.mysql.fi
dd2b7918cd Merge with 4.0.13 2003-05-19 16:35:49 +03:00
vva@eagle.mysql.r18.ru
afd581edd3 made lex a pointer in THD 2003-05-05 14:54:37 -04:00
serg@serg.mylan
6db5e7f428 "delete from table where const" bug fixed 2003-05-03 18:08:11 +02:00
pem@mysql.com
35c82164f6 Merged 4.1 to 5.0. 2003-04-29 12:06:04 +02:00
Sinisa@sinisa.nasamreza.org
6fd764a662 Post-merge fix. 2003-04-26 15:58:39 +03:00
Sinisa@sinisa.nasamreza.org
a81dc6d9f3 A fix for DELETE with ORDER BY and LIMIT.
How come we do not have a test case for this ??
2003-04-09 18:22:17 +03:00
hf@deer.mysql.r18.ru
5d4e9f95f2 Merging 2003-04-08 19:43:24 +05:00
hf@deer.mysql.r18.ru
0428d08606 SCRUM
two KILL versions
code trimming with headquarter's suggestions
2003-04-08 19:18:33 +05:00
guilhem@mysql.com
654410a3d3 Deprecated the update log (Sprint task #792). Now --log-update
just turns on --log-bin and prints a warning. SQL_LOG_UPDATE
is handled in two ways (see mysqld.cc for comments).
2003-04-02 00:15:20 +02:00
hf@genie.(none)
f8f0b70380 SCRUM
two KILL commands implementation (version 2)
2003-03-31 13:39:46 +05:00
monty@mashka.mysql.fi
90bf074438 Merge with 4.0.11 tree to get latest bug fixes 2003-02-17 05:43:37 +02:00
monty@mashka.mysql.fi
6051b2f998 Fixed multi-table-delete for InnoDB tables
Novell patches
2003-02-17 02:14:37 +02:00
bell@sanja.is.com.ua
62902a3b4b after-review changes (577 SCRUM) 2003-02-02 23:30:01 +02:00
bell@sanja.is.com.ua
e294751c41 fixed bug in determinating uncacheable queries
new fatal_error interface to assign is_fatal_error and ne.report_error
commant about Item_row
2003-01-30 22:15:44 +02:00
bell@sanja.is.com.ua
44d8a8cdab merging 2003-01-25 13:19:46 +02:00
bell@sanja.is.com.ua
d56e23f64e fixed subselects with temporary tables (SCRUM)
fixed memory leacks
2003-01-25 02:25:52 +02:00
bar@bar.mysql.r18.ru
6bcc515739 less default_charset_info 2002-12-20 17:14:46 +04:00
monty@mashka.mysql.fi
f1d35b29bc merge fix 2002-12-06 21:15:05 +02:00
monty@mashka.mysql.fi
859b688476 Merge with 4.0.6 2002-12-05 19:38:42 +02:00
bell@sanja.is.com.ua
91bd1e4cc5 fixed error message 2002-12-04 01:32:45 +02:00
bell@sanja.is.com.ua
c6b48c6f26 fix of error handling 2002-12-01 00:11:22 +02:00
bell@sanja.is.com.ua
9da705ef2f check of using same table for changing and select 2002-11-30 19:26:18 +02:00
monty@mashka.mysql.fi
6603d75213 New multi-table-update code
New (simpler) internal timestamp handling.
More debuging to heap tables.
Small cleanups to multi-table-delete
false -> 0 and true -> 1  (We should use TRUE and FALSE)
2002-11-29 16:40:18 +02:00
bell@sanja.is.com.ua
aa8af5d6f4 reverse order in global select list allow to avoid recursion in derived tables 2002-11-27 01:12:16 +02:00
bell@sanja.is.com.ua
b8f5fc3a13 subselet in delete (SCRUM) 2002-11-25 21:27:14 +02:00
monty@mashka.mysql.fi
5dbea1b7a2 Merge with 4.0 2002-11-25 12:19:28 +02:00
bell@sanja.is.com.ua
ed99de7dcc fixed invalidation of query cache
excluded double call of 'invalidate()'
2002-11-22 00:33:15 +02:00
monty@mashka.mysql.fi
806294c573 Fixes after merge with 4.0 2002-11-21 22:25:53 +02:00
monty@mashka.mysql.fi
dac6498f9b Merge with 4.0 2002-11-21 15:56:48 +02:00
monty@mashka.mysql.fi
f86d328927 Added some compatibility modes (for the future) 2002-11-20 21:44:32 +02:00
monty@mashka.mysql.fi
adfad220f4 Merge work:/my/mysql-4.0 into mashka.mysql.fi:/home/my/mysql-4.0 2002-11-16 21:58:09 +02:00
monty@mashka.mysql.fi
1a96948e81 Small improvement to alloc_root
Add support for LIMIT # OFFSET #
Changed lock handling:  Now all locks should be stored in TABLE_LIST instead of passed to functions.
Don't call query_cache_invalidate() twice in some cases
mysql_change_user() now clears states to be equal to close + connect.
Fixed a bug with multi-table-update and multi-table-delete when used with LOCK TABLES
Fixed a bug with replicate-do and UPDATE
2002-11-16 20:19:10 +02:00
Sinisa@sinisa.nasamreza.org
262c501060 A fix for safe updates 2002-11-15 22:01:28 +02:00
Sinisa@sinisa.nasamreza.org
4e6f5f2d12 few small bug fixes ... 2002-11-15 16:37:44 +02:00
Sinisa@sinisa.nasamreza.org
93adaa6d28 Actually, I do it in order to pull new stuff 2002-11-14 22:08:25 +02:00