Commit graph

250 commits

Author SHA1 Message Date
thek@adventure.(none)
c206f3b97e Bug #30768 query cache patch for bug #21074 crashes on windows
"pthread_mutex_trylock" isn't implemented correctly for the Windows platform.

This temporary patch reverts the patch for bug#21074 for Windows until
pthread_mutex_trylock is properly implemented.
2007-10-01 12:44:29 +02:00
thek@adventure.(none)
b1d1204576 Merge adventure.(none):/home/thek/Development/cpp/bug21074/my50-bug21074
into  adventure.(none):/home/thek/Development/cpp/mysql-5.0-runtime
2007-09-03 13:46:10 +02:00
thek@adventure.(none)
a8b9bd9f67 - Fix cross compatibility issues by exchanging pthread_yield with my_sleep(0) 2007-09-03 13:42:32 +02:00
thek@adventure.(none)
0184f50f27 Merge kpettersson@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime
into  adventure.(none):/home/thek/Development/cpp/mysql-5.0-runtime
2007-09-03 10:59:44 +02:00
thek@adventure.(none)
85d7007848 Merge adventure.(none):/home/thek/Development/cpp/bug21074/my50-bug21074
into  adventure.(none):/home/thek/Development/cpp/mysql-5.0-runtime
2007-09-03 10:54:33 +02:00
thek@adventure.(none)
f5ecb35e6c Bug #21074 Large query_cache freezes mysql server sporadically under heavy load
Invaldating a subset of a sufficiently large query cache can take a long time.
During this time the server is efficiently frozen and no other operation can
be executed. This patch addresses this problem by setting a time limit on
how long time a dictionary access request can take before giving up on the 
attempt. This patch does not work for query cache invalidations issued by
DROP, ALTER or RENAME TABLE operations.
2007-09-03 10:47:24 +02:00
df@pippilotta.erinye.com
07c6ef515d Merge pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-marvel
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0.48
2007-08-23 17:43:47 +02:00
gshchepa/uchum@gleb.loc
f3d0f62d10 Fixed bug #30201.
Killing a SELECT query with KILL QUERY or KILL CONNECTION
causes a server crash if the query cache is enabled.

Normal evaluation of a query may be interrupted by the
KILL QUERY/CONNECTION statement, in this case the mysql_execute_command
function returns TRUE, and the thd->killed flag has true value.
In this case the result of the query may
be cached incompletely (omitting call to query_cache_insert inside
the net_real_write function), and next call to query_cache_end_of_result
may lead to server crash.
Thus, the query_cache_end_of_result function has been modified to abort
query cache in the case of killed thread.
2007-08-22 18:15:54 +05:00
thek@adventure.(none)
acfe3fc924 Bug#30269 Query cache eats memory
Although the query cache doesn't support retrieval of statements containing
column level access control, it was still possible to cache such statements
thus wasting memory.
  
This patch extends the access control check on the target tables to avoid
caching a statement with column level restrictions. 

Views are excepted and can be cached but only retrieved by super user account.
2007-08-21 13:43:09 +02:00
thek@adventure.(none)
a4248c2dd3 Bug #30269 Query cache eats memory
Although the query cache doesn't support retrieval of statements containing
column level access control, it was still possible to cache such statements
thus wasting memory.

This patch extends the access control check on the target tables to avoid
caching a statement with column level restrictions.
2007-08-17 16:55:20 +02:00
thek@adventure.(none)
563a626f33 Corrected merge error; missing line in debug statement. 2007-05-10 14:54:55 +02:00
thek@adventure.(none)
5e774747bc 4.1 -> 5.0 Manual merge for Bug #27792 2007-05-08 11:24:07 +02:00
jani@ua141d10.elisa.omakaista.fi
3c3b0391f8 Merge ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-4.1-main
into  ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.0-marvel
2007-03-28 20:46:42 +03:00
jani@ua141d10.elisa.omakaista.fi
5c542a4656 Fixed compiler warnings. 2007-03-22 20:32:07 +02:00
kroki/tomash@moonlight.home
f4f51a017a Merge moonlight.home:/home/tomash/src/mysql_ab/mysql-5.0
into  moonlight.home:/home/tomash/src/mysql_ab/mysql-5.0-bug23527
2007-01-25 20:10:40 +03:00
kroki/tomash@moonlight.home
68a3e96333 BUG#23527: set global query_cache_size can crash the server under
high load

MySQL server could crash if two or more threads would initiate query
cache resize at the moments very close in time.

The problem was introduced with the fix of bug 21051 in 5.0 and 5.1:
simultaneous query cache resizes would wait for the first one in
progress, but then each thread would try to finish the operation,
accessing the data that was already reset (attempt to dereference
'bins' pointer, which may be NULL already).

The solution is to check after synchronization if another thread has
done the reset already (test 'query_cache_size > 0' again).

No test case is provided because the bug is a subject to a race.
2007-01-25 20:00:12 +03:00
kent@mysql.com/kent-amd64.(none)
226a5c833f Many files:
Changed header to GPL version 2 only
2006-12-23 20:17:15 +01:00
df@kahlann.erinye.com
da7820c37d Merge dfischer@bk-internal.mysql.com:/home/bk/mysql-5.0-marvel
into  kahlann.erinye.com:/home/df/mysql/build/mysql-5.0-build
2006-12-01 13:02:54 +01:00
monty@mysql.com/narttu.mysql.fi
601e6f4b2a Fixed compiler warnings
Don't assert if my_thread_end() is called twice (common case)
2006-11-30 21:56:03 +02:00
kostja@bodhi.local
5fea0724bc Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.local:/opt/local/work/mysql-5.0-runtime
2006-11-29 02:44:12 +03:00
monty@mysql.com/nosik.monty.fi
e825879800 Remove compiler warnings
(Mostly in DBUG_PRINT() and unused arguments)
Fixed bug in query cache when used with traceing (--with-debug)
Fixed memory leak in mysqldump
Removed warnings from mysqltest scripts (replaced -- with #)
2006-11-20 22:42:06 +02:00
bell@desktop.sanja.is.com.ua
d56ab5afb6 Fix of debbuging mode of query cache (proposed by Monty reviewed by me). 2006-11-17 08:18:10 +02:00
kroki/tomash@moonlight.intranet
0f0ddc398a BUG#21051: RESET QUERY CACHE very slow when query_cache_type=0
There were two problems: RESET QUERY CACHE took a long time to complete
and other threads were blocked during this time.

The patch does three things:
  1 fixes a bug with improper use of test-lock-test_again technique.
      AKA Double-Checked Locking is applicable here only in few places.
  2 Somewhat improves performance of RESET QUERY CACHE.
      Do my_hash_reset() instead of deleting elements one by one.  Note
      however that the slowdown also happens when inserting into sorted
      list of free blocks, should be rewritten using balanced tree.
  3 Makes RESET QUERY CACHE non-blocking.
      The patch adjusts the locking protocol of the query cache in the
      following way: it introduces a flag flush_in_progress, which is
      set when Query_cache::flush_cache() is in progress.  This call
      sets the flag on enter, and then releases the lock.  Every other
      call is able to acquire the lock, but does nothing if
      flush_in_progress is set (as if the query cache is disabled).
      The only exception is the concurrent calls to
      Query_cache::flush_cache(), that are blocked until the flush is
      over.  When leaving Query_cache::flush_cache(), the lock is
      acquired and the flag is reset, and one thread waiting on
      Query_cache::flush_cache() (if any) is notified that it may
      proceed.
2006-08-22 11:47:52 +04:00
kostja@bodhi.local
a2c0cdd75b Merge bodhi.local:/opt/local/work/tmp_merge
into  bodhi.local:/opt/local/work/mysql-5.0-runtime-merge-41
2006-07-08 02:30:07 +04:00
bar@mysql.com
3855520138 WL#2928 Date Translation NRE
(implemented by by Josh Chamas)
2006-07-04 17:40:40 +05:00
aivanov@mysql.com
612266ec90 Fixed BUG#15758: "Holding adaptive search latch in
innobase_query_caching_of_table_permitted()".
 Applied the patch due to Heikki Tuuri.
 Also removed superfluous #ifdefs.
2006-04-07 23:58:17 +04:00
konstantin@mysql.com
6502e6bba7 Merge mysql.com:/opt/local/work/mysql-4.1-7209-new
into  mysql.com:/opt/local/work/mysql-5.0-merge
2006-01-04 17:49:45 +03:00
konstantin@mysql.com
f7d6fa6f17 A fix for Bug#7209 "Client error with "Access Denied" on updates
when high concurrency": remove HASH::current_record and make it
an external search parameter, so that it can not be the cause of a 
race condition under high concurrent load.
The bug was in a race condition in table_hash_search,
when column_priv_hash.current_record was overwritten simultaneously
by multiple threads, causing the search for a suitable grant record
to fail.
No test case as the bug is repeatable only under concurrent load.
2006-01-04 17:35:30 +03:00
bell@sanja.is.com.ua
7796a79477 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1
into  sanja.is.com.ua:/home/bell/mysql/bk/work-merge1-5.0
2005-12-01 14:38:29 +02:00
bell@sanja.is.com.ua
12d1bf1231 We should skip beggining '(' characters when test query on possibility
to be in the query cache. (BUG#14652)
2005-12-01 14:26:19 +02:00
bell@sanja.is.com.ua
39689634ac We should not skip temptable view along with other derived
tables during query tables registration. (BUG#15119)
2005-12-01 12:01:38 +02:00
bell@sanja.is.com.ua
6143c6543e Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into  sanja.is.com.ua:/home/bell/mysql/bk/work-owner7-5.0
2005-10-28 00:24:13 +03:00
bell@sanja.is.com.ua
1b164c7b83 support of view underlying tables and SP functions security check added (BUG#9505) (WL#2787) 2005-10-28 00:18:23 +03:00
ramil@mysql.com
de26178f75 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/usr/home/ram/work/5.0.b10303
2005-10-24 11:36:29 +05:00
msvensson@neptunus.(none)
92b1d080c9 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/bug13231/my50-bug13231
2005-09-30 16:51:35 +02:00
msvensson@neptunus.(none)
9b7a3bec70 Bug #13231 mysqltest: fails to dectect when mysql_next_result fails
- Packets out of order when reading cached data stored by a normal select from a ps or vice versa.
 - Add pkt_nr to query cache flags
2005-09-29 10:25:44 +02:00
evgen@moonbone.local
0032165acf Fix bug #13424 locking view with query cache enabled crashes server
For LOCK view is opened but not prepared thus leaving 'table' field set to
NULL. invalidate_locked_for_write() wasn't checking that and call to 
invalidate_table(NULL) crashes server.

To invalidate_locked_for_write() added check that ensures that table is
completely opened.
2005-09-26 19:08:26 +04:00
bell@sanja.is.com.ua
352c7b9cbc Merge sanja.is.com.ua:/home/bell/mysql/bk/work-4.1
into  sanja.is.com.ua:/home/bell/mysql/bk/work-mrg-5.0
2005-09-06 20:51:15 +03:00
ramil@mysql.com
68acf8fdea fix (bug #10303: Misleading Last_query_cost value). 2005-09-06 15:00:35 +05:00
bell@sanja.is.com.ua
1bff548cb3 Merge sanja.is.com.ua:/home/bell/mysql/bk/work-4.0
into  sanja.is.com.ua:/home/bell/mysql/bk/work-4.1
2005-09-06 12:18:23 +03:00
bell@sanja.is.com.ua
10c0ef69e7 support of concurent query cache resizing (BUG#12848) 2005-09-06 11:16:53 +03:00
lars@mysql.com
c79ba8e346 BUG#12532: Added more memory in malloc for slave query cache 2005-08-19 16:25:55 +02:00
acurtis@xiphis.org
b9476f7d50 Merge xiphis.org:/usr/home/antony/work2/mysql-4.1
into  xiphis.org:/usr/home/antony/work2/merge-5.0
2005-08-11 12:18:53 +01:00
bell@51.0.168.192.in-addr.arpa
4f26fa5184 merge 2005-08-11 10:20:06 +03:00
bell@52.0.168.192.in-addr.arpa
1dff783854 block using QC in case of having tables locked by LOCK... (BUG#12385) 2005-08-10 18:58:55 +03:00
bell@sanja.is.com.ua
f5833989ba Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-5.0
into  sanja.is.com.ua:/home/bell/mysql/bk/work-bug1-5.0
2005-07-23 07:55:07 +03:00
bell@sanja.is.com.ua
bfdb6ca3cf store SERVER_MORE_RESULTS_EXISTS in key of query cache (BUG#6897) 2005-07-23 07:51:25 +03:00
monty@mishka.local
2278e0319c Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mishka.local:/home/my/mysql-5.0
2005-07-18 19:03:01 +03:00
monty@mishka.local
78c65b5adc Cleanups during review
Changed defaults option --instance to --defaults-group-suffix
Changed option handling to allow --defaults-file, --defaults-extra-file and --defaults-group-suffix to be given in any order
Changed MYSQL_INSTANCE to MYSQL_GROUP_SUFFIX
mysql_print_defaults now understands --defaults-group-suffix
Remove usage of my_tempnam() (not safe function)
if( -> if ( and while( to while (
2005-07-18 15:33:18 +03:00
bell@sanja.is.com.ua
2e96c47a82 post-merge fixes 2005-07-05 12:23:13 +03:00