Commit graph

7263 commits

Author SHA1 Message Date
unknown
d0f757c063 row0upd.h, row0upd.c:
Remove wrong debug assertion and comment


innobase/row/row0upd.c:
  Remove wrong debug assertion and comment
innobase/include/row0upd.h:
  Remove wrong debug assertion and comment
2003-12-12 08:09:25 +02:00
unknown
fb9467a751 Many files:
Fix assertion failure on line 713 of row0upd.c if there is a column prefix index and the last characters in the prefix are spaces: do not assume that the length of alphabetically equal strings is the same; fix a buglet which could cause InnoDB to think that a secondary index record was not locked though it had been updated in a way which did not alpahabetically change its value, e.g., abc -> aBc


innobase/row/row0ins.c:
  Fix assertion failure on line 713 of row0upd.c if there is a column prefix index and the last characters in the prefix are spaces: do not assume that the length of alphabetically equal strings is the same; fix a buglet which could cause InnoDB to think that a secondary index record was not locked though it had been updated in a way which did not alpahabetically change its value, e.g., abc -> aBc
innobase/row/row0sel.c:
  Fix assertion failure on line 713 of row0upd.c if there is a column prefix index and the last characters in the prefix are spaces: do not assume that the length of alphabetically equal strings is the same; fix a buglet which could cause InnoDB to think that a secondary index record was not locked though it had been updated in a way which did not alpahabetically change its value, e.g., abc -> aBc
innobase/row/row0upd.c:
  Fix assertion failure on line 713 of row0upd.c if there is a column prefix index and the last characters in the prefix are spaces: do not assume that the length of alphabetically equal strings is the same; fix a buglet which could cause InnoDB to think that a secondary index record was not locked though it had been updated in a way which did not alpahabetically change its value, e.g., abc -> aBc
innobase/row/row0vers.c:
  Fix assertion failure on line 713 of row0upd.c if there is a column prefix index and the last characters in the prefix are spaces: do not assume that the length of alphabetically equal strings is the same; fix a buglet which could cause InnoDB to think that a secondary index record was not locked though it had been updated in a way which did not alpahabetically change its value, e.g., abc -> aBc
innobase/btr/btr0cur.c:
  Fix assertion failure on line 713 of row0upd.c if there is a column prefix index and the last characters in the prefix are spaces: do not assume that the length of alphabetically equal strings is the same; fix a buglet which could cause InnoDB to think that a secondary index record was not locked though it had been updated in a way which did not alpahabetically change its value, e.g., abc -> aBc
innobase/include/btr0cur.h:
  Fix assertion failure on line 713 of row0upd.c if there is a column prefix index and the last characters in the prefix are spaces: do not assume that the length of alphabetically equal strings is the same; fix a buglet which could cause InnoDB to think that a secondary index record was not locked though it had been updated in a way which did not alpahabetically change its value, e.g., abc -> aBc
innobase/include/row0upd.h:
  Fix assertion failure on line 713 of row0upd.c if there is a column prefix index and the last characters in the prefix are spaces: do not assume that the length of alphabetically equal strings is the same; fix a buglet which could cause InnoDB to think that a secondary index record was not locked though it had been updated in a way which did not alpahabetically change its value, e.g., abc -> aBc
innobase/include/sync0sync.ic:
  Fix assertion failure on line 713 of row0upd.c if there is a column prefix index and the last characters in the prefix are spaces: do not assume that the length of alphabetically equal strings is the same; fix a buglet which could cause InnoDB to think that a secondary index record was not locked though it had been updated in a way which did not alpahabetically change its value, e.g., abc -> aBc
innobase/lock/lock0lock.c:
  Fix assertion failure on line 713 of row0upd.c if there is a column prefix index and the last characters in the prefix are spaces: do not assume that the length of alphabetically equal strings is the same; fix a buglet which could cause InnoDB to think that a secondary index record was not locked though it had been updated in a way which did not alpahabetically change its value, e.g., abc -> aBc
2003-12-12 07:51:21 +02:00
unknown
e0761fbc2b Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/dlenev/src/mysql-4.0-mydir2
2003-12-12 05:06:06 +03:00
unknown
c545b02645 Fix for Bug #1952
"SHOW TABLE STATUS very slow w/large number of tables"
Replaced old algorithm which were used in my_dir() and stored
all information about directory entries in one chunk of memory
with new one which stores file names and MY_STAT structures in
separate memroot, so now we don't need to copy this data during
reallocation of dir_entry array.


include/my_dir.h:
  Changed mystat member of FILEINFO structure to pointer since 
  this prevents unneeded memory allocation and initialization.
  Added comment about new hidden members of MY_DIR structure.
mysys/my_lib.c:
  Replaced old algorithm in my_dir() which stored all information
  about directory entries in one chunk of memory with new one 
  which stores file names and MY_STAT structures in separate
  memroot. Now we don't copy this data during reallocation of 
  array with FILEINFO structures.
  Also tuned sizes of memory chunks during first-other
  reallocations (we suppose that we either have < 100 files 
  in the directory or > 1000 of them).
sql/sql_show.cc:
  Updated only place in code where mystat member
  of FILEINFO structure is used.
2003-12-12 03:39:29 +03:00
unknown
b196f03055 Merge rurik.mysql.com:/home/igor/mysql-4.0
into rurik.mysql.com:/home/igor/dev/mysql-4.0-1
2003-12-11 15:22:41 -08:00
unknown
9570d010d5 Many files:
Fixed a bug causing a crash for multi-update/multi-delete
  with impossible where (bug #1860).


sql/sql_class.h:
  Fixed a bug causing a crash for multi-update/multi-delete
  with impossible where (bug #1860).
sql/sql_delete.cc:
  Fixed a bug causing a crash for multi-update/multi-delete
  with impossible where (bug #1860).
sql/sql_update.cc:
  Fixed a bug causing a crash for multi-update/multi-delete
  with impossible where (bug #1860).
mysql-test/t/multi_update.test:
  Fixed a bug causing a crash for multi-update/multi-delete
  with impossible where (bug #1860).
mysql-test/r/multi_update.result:
  Fixed a bug causing a crash for multi-update/multi-delete
  with impossible where (bug #1860).
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2003-12-11 14:55:48 -08:00
unknown
22c12eaeb2 chk_del() should not check key delete-chain
make a test for -inf more portable (-Inf)


client/mysqldump.c:
  make a test for -inf more portable (-Inf)
myisam/mi_check.c:
  chk_del() should not check key delete-chain
2003-12-11 16:47:50 +01:00
unknown
ba249c10c4 Added --comments mysqldump option (default value is 1).
Fixed mysqldump test.


client/mysqldump.c:
  Added --comments option (default value is 1).
mysql-test/r/mysqldump.result:
  fixed using --skip-comment option
mysql-test/t/mysqldump.test:
  fixed using --skip-comment option
2003-12-11 17:37:45 +04:00
unknown
e691523422 Disable some tests until replace can handle regexp 2003-12-11 13:50:47 +04:00
unknown
28b1f63aa7 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/my/mysql-4.0


mysys/my_thr_init.c:
  Auto merged
2003-12-11 06:24:32 +02:00
unknown
287661e66c 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)


include/config-win.h:
  Ensure that USE_SYMDIR is set for all windows versions
  (This is set in makefiles, so this is just an extra safety measure)
include/my_pthread.h:
  Fixed a possible memory leak on MacOSX when using the shared libmysql.so library (Bug #2061)
include/my_sys.h:
  my_init() now returns error code if something went wrong
include/mysql.h:
  mysql_once_init() now returns error code if something went wrong
include/mysql_com.h:
  my_init() now returns error code if something went wrong
libmysql/libmysql.c:
  mysql_server_init() and mysql_once_init() now returns error code if something went wrong (Bug #2062)
mysql-test/r/limit.result:
  Update results
mysql-test/r/select_found.result:
  Update results
mysql-test/r/union.result:
  Update results
mysql-test/t/limit.test:
  Added test for DELETE ... ORDER BY ... LIMIT (bug #1024)
mysql-test/t/select_found.test:
  Added test for problem with impossible WHERE (Bug #1468)
mysql-test/t/union.test:
  Added test for problem with alias '*' (Bug #1249)
mysys/mf_pack.c:
  Don't use my_fopen() when reading symlink information as this may cause problems when a lot of files are opened.
mysys/my_init.c:
  my_init() now returns error code if something went wrong
mysys/my_lib.c:
  More debug information
mysys/my_thr_init.c:
  Free thread keys with pthread_key_delete() instead of relying on automatic free. (Bug #2062)
sql/sql_base.cc:
  Fixed bug in UNION statement with alias '*'. (Bug #1249)
sql/sql_delete.cc:
  Fixed a bug in DELETE ... ORDER BY ... LIMIT where the rows where not deleted in the proper order. (Bug #1024).
sql/sql_select.cc:
  FOUND_ROWS() could return incorrect number of rows after a query with an impossible WHERE condition.
sql/sql_show.cc:
  SHOW DATABASES doesn't anymore show .sym files (on windows) that doesn't point to a valid directory. (Bug #1385)
sql/sql_yacc.yy:
  Allow syntax UNION DISTINCT
2003-12-11 06:24:08 +02:00
unknown
7cfbc5e933 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/kostja/mysql/mysql-4.0-return_else
2003-12-10 22:26:59 +03:00
unknown
ceab00b0c8 cleanup: if there is return from if-part, we don't need else statement 2003-12-10 22:26:31 +03:00
unknown
fc1f426e8c Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/kostja/mysql/mysql-4.0-1993
2003-12-10 17:41:15 +03:00
unknown
02cf765fba Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-4.0
into gluh.mysql.r18.ru:/home/gluh/mysql-4.0.ssl
2003-12-10 18:41:14 +04:00
unknown
568d3a5d23 proper musqldump test result
(in addition to CS 1.1623 03/12/09)
2003-12-10 18:41:13 +04:00
unknown
2e4343c85a Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-4.0
into gluh.mysql.r18.ru:/home/gluh/mysql-4.0.ssl


acinclude.m4:
  Auto merged
2003-12-10 18:41:12 +04:00
unknown
e2a8abd5b8 Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.0
into gw.mysql.r18.ru:/usr/home/ram/work/4.0.b2005
2003-12-10 18:41:12 +04:00
unknown
c49c88a514 Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.0
into deer.(none):/home/hf/work/mysql-4.0.1890
2003-12-10 18:41:11 +04:00
unknown
f195cf9d14 fix for bug #1993 'bit functions do not return unsigned values'
introduced base class Item_func_bit for bit functions


mysql-test/r/func_op.result:
  test results for bug #1993 'bit functions do not return unsigned values'
mysql-test/t/func_op.test:
  added tests for bug #1993 'bit functions do not return unsigned values'
2003-12-10 17:30:37 +03:00
unknown
635e99a90c Fix for bug# 1142 ./configure - error in file causes failure of compile (SSL option needed) 2003-12-10 17:53:55 +04:00
unknown
4c00978b43 Merge mysql.com:/home/kostja/mysql/mysql-4.0-root
into mysql.com:/home/kostja/mysql/mysql-4.0-1790
2003-12-10 15:39:38 +03:00
unknown
06d008c69d Merge mysql.com:/home/kostja/mysql/mysql-4.0-root
into mysql.com:/home/kostja/mysql/mysql-4.0-1790
2003-12-10 15:37:50 +03:00
unknown
02f56e77e0 followup to fix for bug #1790 BIT_AND() result in GROUP BY different when
SQL_BIG_RESULT used": now BIT_AND() always returns 18446744073709551615
if no rows were found.
This patch also fixes bug #1972: "BIT_AND() and BIT_OR() still return 
a *signed* 64bit value"


mysql-test/r/func_group.result:
  followup to fix for bug #1790 BIT_AND() result in GROUP BY different when 
  SQL_BIG_RESULT used": test results fixed
  bug #1972 "BIT_AND() and BIT_OR() still return a *signed* 64bit value":
  results of new tests
mysql-test/t/func_group.test:
  added tests for bug #1972 "BIT_AND() and BIT_OR() still return a 
  *signed* 64bit value"
2003-12-10 15:17:23 +03:00
unknown
4119451ba1 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/my/mysql-4.0
2003-12-10 12:13:12 +02:00
unknown
417d2b193a Add cast to remove compiler warning 2003-12-10 12:03:54 +02:00
unknown
39177af1f3 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/kostja/mysql/mysql-4.0-1335
2003-12-10 01:15:31 +03:00
unknown
b0a9299efe bug #1335 tests followup:
--disable_query_log was not a good idea, Serg says


mysql-test/r/group_by.result:
  bug #1335 tests followup:
  --disable_query_log was not a good idea, Serg says
  tests results updated
2003-12-10 01:08:10 +03:00
unknown
c8fbf887bc Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/my/mysql-4.0
2003-12-10 00:01:01 +02:00
unknown
6b97c26a29 Added checking of return value from my_once_alloc() in charset
Added checking of return value from malloc() in reg_init()


client/mysqltest.c:
  Added comment
dbug/dbug.c:
  Removed not needed test
mysys/charset.c:
  Added checking of return value from my_once_alloc()
regex/reginit.c:
  Abort if out of memory in reg_init() (unlikely)
sql/item_strfunc.cc:
  Added comment
2003-12-10 00:00:20 +02:00
unknown
870ec769f1 Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.0
into sanja.is.com.ua:/home/bell/mysql/bk/work-qc-4.0
2003-12-09 22:56:31 +02:00
unknown
daccd19657 followup 2003-12-09 21:56:11 +01:00
unknown
1c30ec0970 Fix for bug #1335: filesort is missing in EXPLAIN if ORDER BY NULL is used
mysql-test/r/group_by.result:
  test results fixed
mysql-test/t/group_by.test:
  added few explicit tests for bug #1335
2003-12-09 23:52:58 +03:00
unknown
ab3152cfca Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.0
into sanja.is.com.ua:/home/bell/mysql/bk/work-qc-4.0
2003-12-09 22:34:23 +02:00
unknown
6f1d63bfe0 Merge bk-internal:/home/bk/mysql-4.0/
into serg.mylan:/usr/home/serg/Abk/mysql-4.0


sql/mysqld.cc:
  Auto merged
2003-12-09 20:50:11 +01:00
unknown
7cfbf9e8f6 code cleanup after some reasoning
sql/mysqld.cc:
  code cleanup
2003-12-09 20:49:48 +01:00
unknown
4e85bf326e Add newline after pid in pidfile 2003-12-09 20:17:28 +02:00
unknown
610fe7ae77 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/my/mysql-4.0


sql/mysqld.cc:
  Auto merged
2003-12-09 16:21:43 +02:00
unknown
589657539c Don't limit number of tables in table cache 2003-12-09 16:21:23 +02:00
unknown
7b3d8cc93f Fix for the bugs:
#2005 Long decimal comparion bug.                                               
#2055 mysqldump should replace "-inf" numeric field values with "NULL"
2003-12-09 17:33:29 +04:00
unknown
6f96fb7956 test for the bug #1885: mysqldump does not dumps timestamp default. 2003-12-09 12:59:00 +04:00
unknown
c167af11e9 Fix for the bug #1885: mysqldump does not dumps timestamp default. 2003-12-09 12:36:57 +04:00
unknown
9a1cb59cd7 Create PID file with O_TRUNC, so that it is emptied before it is written to.
Otherwise, if the previous run ended with a crash, and the PID was 1234,
and you have rebooted the machine and the new PID is 99 then in the PID
file you will have 9934.
Note: users of mysqld_safe did not have the problem because this script
deletes the PID file before starting mysqld.
2003-12-08 20:53:46 +01:00
unknown
c121a73570 Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
2003-12-08 20:47:42 +01:00
unknown
a50761a565 Fix for BUG#2045 "Sending SIGHUP to mysqld crashes it if running with --log-bin".
The constructor of Rotate_log_event used when we are rotating our binlog or
relay log, should not assume that there is a nonzero THD available.
For example, when we are reacting to SIGHUP, the THD is 0.
In fact we don't need to use the THD in this constructor;
we can do like for Stop_log_event, and use the minimal Log_event
constructor.
If we were allowed to put Unix-specific commands in the testsuite,
I'd add a test for this (<sigh>).


sql/log.cc:
  A comment to warn that thd can be 0.
  The part about LOG_EVENT_FORCED_ROTATE_F is just to avoid segfault;
  this flag is already removed in 4.1 anyway.
sql/log_event.cc:
  A comment.
sql/log_event.h:
  The constructor of Rotate_log_event used when we are rotating our binlog or
  relay log, should not assume that there is a nonzero THD available.
  For example, when we are reacting to SIGHUP, the THD is 0.
  In fact we don't need to use the THD in this constructor;
  we can do like for Stop_log_event, and use the minimal Log_event
  constructor.
  This fixes BUG#2045 
  "Sending SIGHUP to mysqld crashes it if running with --log-bin"
2003-12-08 16:18:25 +01:00
unknown
da3e63e126 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-4.0
into gluh.mysql.r18.ru:/home/gluh/mysql-4.0.defweek


sql/mysqld.cc:
  Auto merged
2003-12-07 15:11:08 +04:00
unknown
468dcb6092 WL#1175: more default_week_formats for iso compatibility
New formats added for 'week()' function and 'default_week_format' option(4 - 7).
Next formats is supported now:
*Value* *Meaning*
  `0'     Week starts on Sunday; First Sunday of the year starts week 1.
  	  Week() returns 0-53.
  `1'     Week starts on Monday; Weeks numbered according to ISO 8601:1988.
	  Week() returns 0-53.
  `2'     Week starts on Sunday; First Sunday of the year starts week 1.
  	  Week() returns 1-53.
  `3'     Week starts on Monday; Weeks numbered according to ISO 8601:1988.
	  Week() returns 1-53.
  `4'     Week starts on Sunday; Weeks numbered according to ISO 8601:1988.
	  Week() returns 0-53.
  `5'     Week starts on Monday;  First Monday of the year starts week 1.
  	  Week() returns 0-53.
  `6'     Week starts on Sunday; Weeks numbered according to ISO 8601:1988.
	  Week() returns 1-53.
  `7'     Week starts on Monday;  First Monday of the year starts week 1.
  	  Week() returns 1-53.


mysql-test/r/func_time.result:
  Test for 'default_week_format' option and 'week' function
mysql-test/t/func_time.test:
  Test for 'default_week_format' option and 'week' function
sql/item_timefunc.cc:
  WL#1175 more default_week_formats for iso compatibility
sql/mysql_priv.h:
  WL#1175 more default_week_formats for iso compatibility
sql/mysqld.cc:
  WL#1175 more default_week_formats for iso compatibility
sql/time.cc:
  WL#1175 more default_week_formats for iso compatibility
2003-12-07 15:10:21 +04:00
unknown
f35c834d2f Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-4.0
into gluh.mysql.r18.ru:/home/gluh/mysql-4.0.pass


sql/sql_parse.cc:
  Auto merged
2003-12-07 13:36:29 +04:00
unknown
007d2e5a6b Fix for #1890 and #1959
This bug happens under Windows & Embedded server
Reason is that pthread_self() always returns NULL in this case.
This confuses thr_lock function and it doesn't stop
thread inserting in the write-locked table.

Global problem is that there's no way under Windows to get
unique thread handle for working thread.
Monty made a workaround for server - we store the thread's handle
we get when we create thread in the thread-specific variable.
This doesn't work with the embedded library for we don't control
thread creation there.

I added code that sets CurrentThreadId as the pthread_self
for the embedded library.
It seems to solve problem because it's unique and we don't use
pthread_self as a parameter for thread functions in embedded library. 


mysys/my_thr_init.c:
  setting of tmp->thread_self added
2003-12-05 21:45:19 +04:00
unknown
e425b98a01 typo fixed 2003-12-05 19:20:06 +03:00