Commit graph

257 commits

Author SHA1 Message Date
cmiller@zippy.cornsilk.net
71a0ecee6e Merge zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-enterprise-formergecomm
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-unified02
2007-04-27 16:45:01 -04:00
iggy@recycle.(none)
13b54aa963 Bug#24732 Executables do not include Vista manifests
- Post merge cleanup.
2007-04-23 16:23:32 -04:00
istruewing@chilla.local
3f0bfd831a Merge chilla.local:/home/mydev/mysql-5.0-axmrg
into  chilla.local:/home/mydev/mysql-5.1-axmrg
2007-03-28 17:06:09 +02:00
istruewing@chilla.local
350c5da724 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  chilla.local:/home/mydev/mysql-5.1-axmrg
2007-03-28 16:57:08 +02:00
istruewing@chilla.local
32da2907f8 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  chilla.local:/home/mydev/mysql-5.1-bug26782
2007-03-23 10:27:33 +01:00
istruewing@chilla.local
3a726ab6e2 Bug#26782 - Patch: myisamchk -rq creates .MYI.MYI file on packed MyISAM tables
After merge fix
In conjunction with the newest 5.1 we always need to
create a real path name to be able to detect already
open tables.
2007-03-23 10:26:14 +01:00
istruewing@chilla.local
52debcb820 After merge fix 2007-03-22 21:28:28 +01:00
svoj@june.mysql.com
9f3320e2e1 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG25908/mysql-5.1-engines
2007-03-21 17:13:19 +04:00
svoj@mysql.com/june.mysql.com
b88e7e0f97 BUG#25908 - corrupted myisam table crashes server even after repair
Opening certain tables that have different definitions in .MYI and
.frm may result in a server crash.

Compare .MYI and .frm definition when myisam table is opened. In case
definitions are diffirent refuse to open such table.

No test case, since it requires broken table.
2007-03-21 17:12:30 +04:00
kostja@bodhi.local
bdb10baec1 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  bodhi.local:/opt/local/work/mysql-5.1-runtime
2007-03-20 00:42:11 +03:00
serg@janus.mylan
68fd66e853 wl#3700 - post-review fixes:
s/ulonglong/key_part_map/, comments
2007-03-17 00:13:25 +01:00
serg@janus.mylan
55a548cf4d Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  janus.mylan:/usr/home/serg/Abk/mysql-5.1
2007-03-16 20:33:27 +01:00
istruewing@chilla.local
02d318e4bd Merge bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  chilla.local:/home/mydev/mysql-5.1-bug26782
2007-03-16 16:44:21 +01:00
serg@janus.mylan
f813272125 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  janus.mylan:/usr/home/serg/Abk/mysql-5.1
2007-03-16 14:09:30 +01:00
istruewing@blade08.mysql.com
dba23b56e5 Merge istruewing@bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  blade08.mysql.com:/data0/istruewing/autopush/mysql-5.1-bug25289
2007-03-16 09:17:12 +01:00
holyfoot/hf@hfmain.(none)
1d0b7020b3 Merge bk@192.168.21.1:mysql-5.1
into  mysql.com:/home/hf/work/mrg/mysql-5.1-opt
2007-03-16 11:54:36 +04:00
istruewing@chilla.local
b1c5288e2e Merge chilla.local:/home/mydev/mysql-5.0-bug25289
into  chilla.local:/home/mydev/mysql-5.1-bug25289
2007-03-15 14:45:25 +01:00
holyfoot/hf@hfmain.(none)
6767673750 Merge bk@192.168.21.1:mysql-5.1
into  mysql.com:/home/hf/work/mrg/mysql-5.1-opt
2007-03-15 16:22:32 +04:00
istruewing@blade08.mysql.com
b6a66ee829 Merge istruewing@bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  blade08.mysql.com:/data0/istruewing/autopush/mysql-5.1-bug25460
2007-03-14 11:20:06 +01:00
svoj@april.(none)
94f0977b86 Merge mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-5.1-engines
2007-03-14 04:48:43 +04:00
istruewing@blade08.mysql.com
d3b7fce8cf Merge istruewing@bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  blade08.mysql.com:/data0/istruewing/autopush/mysql-5.1-bug25460
2007-03-13 17:55:04 +01:00
istruewing@chilla.local
67d97254b0 Bug#25460 - High concurrency MyISAM access causes severe mysqld crash.
The previous two patches for this bug worked together so that
no permanent table was memory mapped. The first patch tried to
avoid mapping while a table is in use. It allowed mapping only
if there was exactly one lock on the table, assuming that the
calling thread owned it. During mi_open(), a different call to
memory mapping was coded, which did not have this limitation.

The second patch tried to remove the code duplication and just
called mi_extra() from mi_open() an thus inherited the limitation.
But on open, a thread does not have a lock on the table...

A possible solution would be to check for zero or one lock.
But since I learned that it is safe to memory map a file while
normal file I/O is done on it, I removed the restriction altogether
and allow to memory map while a table is in use.

No test case. I do not see a chance to verify with the test suite
which kind of I/O is used on a table.
2007-03-13 16:43:45 +01:00
svoj@april.(none)
31329c83c0 Merge mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG26881/mysql-5.1-engines
2007-03-13 19:05:35 +04:00
istruewing@chilla.local
3e608ee1f0 Merge chilla.local:/home/mydev/mysql-5.0-bug25673
into  chilla.local:/home/mydev/mysql-5.1-bug25673
2007-03-09 19:50:49 +01:00
gkodinov/kgeorge@magare.gmz
c03a483c51 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/WL3527-5.1-opt
2007-03-09 17:54:13 +02:00
kroki/tomash@moonlight.home
7bbea96754 Merge moonlight.home:/home/tomash/src/mysql_ab/mysql-5.1
into  moonlight.home:/home/tomash/src/mysql_ab/mysql-5.1-bug9953
2007-03-09 13:17:46 +03:00
kroki/tomash@moonlight.home
c19affef54 BUG#9953: CONVERT_TZ requires mysql.time_zone_name to be locked
The problem was that some facilities (like CONVERT_TZ() function or
server HELP statement) may require implicit access to some tables in
'mysql' database.  This access was done by ordinary means of adding
such tables to the list of tables the query is going to open.
However, if we issued LOCK TABLES before that, we would get "table
was not locked" error trying to open such implicit tables.

The solution is to treat certain tables as MySQL system tables, like
we already do for mysql.proc.  Such tables may be opened for reading
at any moment regardless of any locks in effect.  The cost of this is
that system table may be locked for writing only together with other
system tables, it is disallowed to lock system tables for writing and
have any other lock on any other table.

After this patch the following tables are treated as MySQL system
tables:
  mysql.help_category
  mysql.help_keyword
  mysql.help_relation
  mysql.help_topic
  mysql.proc (it already was)
  mysql.time_zone
  mysql.time_zone_leap_second
  mysql.time_zone_name
  mysql.time_zone_transition
  mysql.time_zone_transition_type

These tables are now opened with open_system_tables_for_read() and
closed with close_system_tables(), or one table may be opened with
open_system_table_for_update() and closed with close_thread_tables()
(the latter is used for mysql.proc table, which is updated as part of
normal MySQL server operation).  These functions may be used when
some tables were opened and locked already.

NOTE: online update of time zone tables is not possible during
replication, because there's no time zone cache flush neither on LOCK
TABLES, nor on FLUSH TABLES, so the master may serve stale time zone
data from cache, while on slave updated data will be loaded from the
time zone tables.
2007-03-09 13:12:31 +03:00
istruewing@chilla.local
651b7b7fc1 Merge chilla.local:/home/mydev/mysql-5.0-bug25673
into  chilla.local:/home/mydev/mysql-5.1-bug25673
2007-03-08 21:29:19 +01:00
istruewing@chilla.local
a44009fe75 Merge chilla.local:/home/mydev/mysql-5.0-bug25673
into  chilla.local:/home/mydev/mysql-5.1-bug25673
2007-03-08 12:13:54 +01:00
istruewing@chilla.local
ef885b8e7e Bug#26782 - Patch: myisamchk -rq creates .MYI.MYI file
on packed MyISAM tables

When fixing the indexes with "myisamchk -rq" after compressing
the table with "myisampack", an optionally supplied extension
".MYI" of the index file was not detected. The extension was
appended unconditionally. The result was ".MYI.MYI".

Now an extension is no longer appended if present already.
Thanks to David Shrewsbury for providing this patch.

Another problem was a misplaced parenthesis. We did never unpack
the file name ("~/..") and always returned a real path.

No test case. This is manually tested with the utilities
"myisampack" and "myisamchk".
2007-03-07 16:30:13 +01:00
gkodinov/kgeorge@macbook.gmz
b9c82eaa89 WL#3527: Extend IGNORE INDEX so places where index is ignored
can be specified
Currently MySQL allows one to specify what indexes to ignore during
join optimization. The scope of the current USE/FORCE/IGNORE INDEX 
statement is only the FROM clause, while all other clauses are not 
affected.

However, in certain cases, the optimizer
may incorrectly choose an index for sorting and/or grouping, and
produce an inefficient query plan.

This task provides the means to specify what indexes are
ignored/used for what operation in a more fine-grained manner, thus
making it possible to manually force a better plan. We do this
by extending the current IGNORE/USE/FORCE INDEX syntax to:

IGNORE/USE/FORCE INDEX [FOR {JOIN | ORDER | GROUP BY}]

so that:
- if no FOR is specified, the index hint will apply everywhere.
- if MySQL is started with the compatibility option --old_mode then
  an index hint without a FOR clause works as in 5.0 (i.e, the 
  index will only be ignored for JOINs, but can still be used to
  compute ORDER BY).

See the WL#3527 for further details.
2007-03-05 19:08:41 +02:00
svoj@june.mysql.com
31322ca0cb Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.1
into  mysql.com:/home/svoj/devel/mysql/BUG26238/mysql-5.1-engines
2007-03-02 14:17:55 +04:00
kent@kent-amd64.(none)
061093e08b Merge mysql.com:/home/kent/bk/mysql-5.1.16-release
into  mysql.com:/home/kent/bk/mysql-5.1.16-build
2007-02-27 20:24:43 +01:00
serg@janus.mylan
30321673a2 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  janus.mylan:/usr/home/serg/Abk/mysql-5.1
2007-02-26 16:12:40 +01:00
kent/mysqldev@mysql.com/production.mysql.com
f52c75e109 mi_open.c:
#if => #ifdef
2007-02-26 00:44:12 +01:00
monty@mysql.com/narttu.mysql.fi
f0ae3ce9b9 Fixed compiler warnings
Fixed compile-pentium64 scripts
Fixed wrong estimate of update_with_key_prefix in sql-bench
Merge bk-internal.mysql.com:/home/bk/mysql-5.1 into mysql.com:/home/my/mysql-5.1
Fixed unsafe define of uint4korr()
Fixed that --extern works with mysql-test-run.pl
Small trivial cleanups
This also fixes a bug in counting number of rows that are updated when we have many simultanous queries
Move all connection handling and command exectuion main loop from sql_parse.cc to sql_connection.cc
Split handle_one_connection() into reusable sub functions.
Split create_new_thread() into reusable sub functions.
Added thread_scheduler; Preliminary interface code for future thread_handling code.

Use 'my_thread_id' for internal thread id's
Make thr_alarm_kill() to depend on thread_id instead of thread
Make thr_abort_locks_for_thread() depend on thread_id instead of thread
In store_globals(), set my_thread_var->id to be thd->thread_id.
Use my_thread_var->id as basis for my_thread_name()
The above changes makes the connection we have between THD and threads more soft.

Added a lot of DBUG_PRINT() and DBUG_ASSERT() functions
Fixed compiler warnings
Fixed core dumps when running with --debug
Removed setting of signal masks (was never used)
Made event code call pthread_exit() (portability fix)
Fixed that event code doesn't call DBUG_xxx functions before my_thread_init() is called.
Made handling of thread_id and thd->variables.pseudo_thread_id uniform.
Removed one common 'not freed memory' warning from mysqltest
Fixed a couple of usage of not initialized warnings (unlikely cases)
Suppress compiler warnings from bdb and (for the moment) warnings from ndb
2007-02-23 13:13:55 +02:00
istruewing@chilla.local
62171d25cf Bug#25460 - High concurrency MyISAM access causes severe mysqld crash.
Decreased code duplication by calling memory mapping
function through mi_extra().
2007-02-22 09:12:07 +01:00
kent/mysqldev@mysql.com/production.mysql.com
bc8ef579ed mi_open.c:
Can only use mi_dynmap_file() if HAVE_MMAP is defined
2007-02-21 18:52:11 +01:00
serg@janus.mylan
689eed7406 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  janus.mylan:/usr/home/serg/Abk/mysql-5.1
2007-02-21 11:36:23 +01:00
istruewing@chilla.local
1b35f19223 Bug#25460 - High concurrency MyISAM access causes severe mysqld crash.
Under high load it was possible that memory mapping was started on a table
while other threads were working with the table.

I fixed the start of memory mapping so that it is done at the first table
open or when the requesting thread is using the table exclusively only.
2007-02-13 16:33:32 +01:00
svoj@june.mysql.com
4a6770e06e Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.1
into  mysql.com:/home/svoj/devel/mysql/merge/mysql-5.1-engines
2007-02-05 15:31:20 +04:00
svoj@june.mysql.com
b6f39522de Merge mysql.com:/home/svoj/devel/mysql/WL3567/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/WL3567/mysql-5.1-engines
2007-01-31 18:57:54 +04:00
serg@janus.mylan
a07fd5fa8f WL#3700: Handler API change: all index search methods - that is,
index_read(), index_read_idx(), index_read_last(), and
records_in_range() - instead of 'uint keylen' argument take
'ulonglong keypart_map', a bitmap showing which keyparts are
present in the key value.
Fallback method is provided for handlers that are lagging behind.
2007-01-29 10:40:26 +01:00
monty@narttu.mysql.fi
bb464613ce Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  mysql.com:/home/my/mysql-5.1
2007-01-29 01:57:07 +02:00
monty@mysql.com/narttu.mysql.fi
410fc81a72 After merge fixes
Removed a lot of compiler warnings
Removed not used variables, functions and labels
Initialize some variables that could be used unitialized (fatal bugs)
%ll -> %l
2007-01-29 01:47:35 +02:00
monty@narttu.mysql.fi
8a80e36ac3 Merge mysql.com:/home/my/mysql-5.0
into  mysql.com:/home/my/mysql-5.1
Merge of 'remove compiler warnings when using -Wshadow'
2007-01-27 03:46:45 +02:00
svoj@april.(none)
3efc296508 Merge mysql.com:/home/svoj/devel/bk/mysql-5.1
into  mysql.com:/home/svoj/devel/mysql/merge/mysql-5.1-engines
2007-01-25 01:44:30 +04:00
svoj@june.mysql.com
77515e27f7 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG24401/mysql-5.1-engines
2007-01-24 11:54:38 +04:00
svoj@june.mysql.com
0b0dfe6f64 Merge mysql.com:/home/svoj/devel/mysql/BUG24401/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG24401/mysql-5.1-engines
2007-01-23 16:36:29 +04:00
istruewing@chilla.local
2a0ca5df8c Merge chilla.local:/home/mydev/mysql-5.0-bug24607
into  chilla.local:/home/mydev/mysql-5.1-bug24607
2007-01-19 13:08:09 +01:00