Commit graph

21163 commits

Author SHA1 Message Date
unknown
142a448594 Merge perch.ndb.mysql.com:/home/jonas/src/mysql-4.1
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1-ndb


sql/sql_select.cc:
  Auto merged
2006-10-27 23:56:51 +02:00
unknown
3e2dacaeaf Merge joreland@bk-internal.mysql.com:/home/bk/mysql-4.1-ndb
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1-ndb
2006-10-27 23:54:57 +02:00
unknown
7577630572 Merge perch.ndb.mysql.com:/home/jonas/src/41-work
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1-ndb
2006-10-27 23:54:24 +02:00
unknown
11ac490779 ndb - valgrind
Still leakage, make sure all unlinked operations are put back so they will be release
  (on failing blob operations, when AO_IgnoreError)


ndb/src/ndbapi/NdbConnection.cpp:
  Still leakage, make sure all unlinked operations are put back so they will be release
2006-10-27 16:32:59 +02:00
unknown
81e4c2fb08 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-4.1-ndb
into  mysql.com:/windows/Linux_space/MySQL/mysql-4.1-ndb
2006-10-25 15:17:44 +02:00
unknown
2def22731c Merge mysql.com:/windows/Linux_space/MySQL/mysql-4.1
into  mysql.com:/windows/Linux_space/MySQL/mysql-4.1-ndb
2006-10-25 11:45:47 +02:00
unknown
08ce5b3dbd Bug Duplicate key error in NDB references wrong key: Re-wrote string usage to avoid valgrind warnings 2006-10-25 11:44:40 +02:00
unknown
e3563c4e22 Merge ymer.(none):/usr/local/mysql/mysql-4.1-ndb.tmp
into  ymer.(none):/usr/local/mysql/mysql-4.1-ndb
2006-10-25 10:46:00 +02:00
unknown
c6ca641a6b Fix two small problems in the source, potentially causing user-visible
bugs.


ndb/include/util/UtilBuffer.hpp:
  Fix accessing memory after free(), if called with source and destination
  pointer the same (which should not really happen...).
  Fixes a problem in ndb_restore.
ndb/src/common/util/SimpleProperties.cpp:
  Fix typo in check of maxValue.
2006-10-25 10:37:53 +02:00
unknown
2bb8cb183c Merge bk-internal.mysql.com:/home/bk/mysql-4.1-ndb
into  willster.(none):/home/stewart/Documents/MySQL/4.1/bug19914-mk2-merge2


sql/ha_myisammrg.cc:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2006-10-25 17:24:20 +10:00
unknown
559951486a Merge perch.ndb.mysql.com:/home/jonas/src/41-work
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1-ndb
2006-10-25 08:40:34 +02:00
unknown
8335ed7316 Bug SELECT COUNT(*) sometimes returns MAX_INT on cluster tables
fixes for ndb_* tests broken by previous fix

be more careful in ndb about setting errors on failure of info call (especially
in open) 


sql/ha_ndbcluster.cc:
  fix some ndb* tests failing due to fix for 19914
  
  be more careful about setting errors on failure of info call
sql/ha_ndbcluster.h:
  fix some ndb* tests failing due to fix for 19914
  
  be more careful about setting errors on failure of info call
2006-10-23 23:46:35 +10:00
unknown
50fe8e0c2b Merge willster.(none):/home/stewart/Documents/MySQL/4.1/bug19914-mk2
into  willster.(none):/home/stewart/Documents/MySQL/4.1/bug19914-mk2-merge2


sql/sql_select.cc:
  Auto merged
2006-10-23 23:43:48 +10:00
unknown
9070859eef ndb - bug#23499 and bug#23502
Fix some too small buffers in backup
  


ndb/include/kernel/ndb_limits.h:
  backport for 5.1
  add MAX_WORDS_META_FILE for computing Backup::NO_OF_PAGES_META_FILE
ndb/src/kernel/blocks/backup/Backup.cpp:
  Make sure to set maxInsert so that we actually can handle NO_OF_META_PAGES
ndb/src/kernel/blocks/backup/Backup.hpp:
  backport for 5.1
  add MAX_WORDS_META_FILE for computing Backup::NO_OF_PAGES_META_FILE
2006-10-20 16:16:01 +02:00
unknown
b81cc9c302 ndb -
Fixed a 4.1/5.0 vs. 5.1 name change in latest SR bug fix


ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Fixed a 4.1/5.0 vs. 5.1 name change in latest SR bug fix
2006-10-20 13:38:15 +02:00
unknown
608e9207ef ndb -
Fix monster SR bug making SR with ordered indexes (or temporary tables) broken


ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Fix monster SR bug making SR with ordered indexes (or temporary tables) broken
2006-10-20 12:29:16 +02:00
unknown
0153d67e59 Merge bk-internal:/home/bk/mysql-4.1
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-opt


sql/sql_base.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
2006-10-20 10:57:38 +02:00
unknown
f8b8f69233 Merge mysql.com:/windows/Linux_space/MySQL/mysql-4.1
into  mysql.com:/windows/Linux_space/MySQL/mysql-4.1-ndb
2006-10-19 14:58:43 +02:00
unknown
59c4b5ba20 Bug Duplicate key error in NDB references wrong key: use MAX_KEY to signal unknown key: Added string initialization 2006-10-19 14:57:04 +02:00
unknown
2576c4c0c9 Merge mysql.com:/home/svoj/devel/mysql/BUG23175/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/engines/mysql-4.1-engines


mysql-test/r/repair.result:
  Manual merge.
mysql-test/t/repair.test:
  Manual merge.
2006-10-19 17:35:09 +05:00
unknown
9bfaab57fa Merge dl145s.mysql.com:/data/bk/team_tree_merge/mysql-4.1
into  dl145s.mysql.com:/data/bk/team_tree_merge/MERGE/mysql-4.1-opt


sql/sql_select.cc:
  Auto merged
2006-10-19 14:34:56 +02:00
unknown
f841b546b0 Merge mysql.com:/home/svoj/devel/mysql/BUG22562/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/engines/mysql-4.1-engines
2006-10-19 17:33:22 +05:00
unknown
a4a09cd2cd Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into  chilla.local:/home/mydev/mysql-4.1-merge
2006-10-19 09:44:51 +02:00
unknown
1028185ac1 ndb - bug#23200
Make sure postExecute is not run for blobs if AO_IgnoreError


ndb/src/ndbapi/NdbConnection.cpp:
  If AO_IgnoreError, error codes arent always set on individual operations, making postExecute impossible
2006-10-18 16:48:44 +02:00
unknown
364cda0a6e Merge mysql.com:/windows/Linux_space/MySQL/mysql-4.1
into  mysql.com:/windows/Linux_space/MySQL/mysql-4.1-ndb


mysql-test/r/ndb_update.result:
  Auto merged
2006-10-18 16:34:43 +02:00
unknown
48cf65c037 BUG#23175 - MYISAM crash/repair failed during repair
Repair table could crash a server if there is not sufficient
memory (myisam_sort_buffer_size) to operate. Affects not only
repair, but also all statements that use create index by sort:
repair by sort, parallel repair, bulk insert.

Return an error if there is not sufficient memory to store at
least one key per BUFFPEK.

Also fixed memory leak if thr_find_all_keys returns an error.


myisam/sort.c:
  maxbuffer is number of BUFFPEK-s for repair. It is calculated
  as records / keys. keys is number of keys that can be stored
  in memory (myisam_sort_buffer_size). There must be sufficient
  memory to store both BUFFPEK-s and keys. It was checked
  correctly before this patch. However there is another
  requirement that wasn't checked: there must be sufficient
  memory for at least one key per BUFFPEK, otherwise repair
  by sort/parallel repair cannot operate.
  
  Return an error if there is not sufficient memory to store at
  least one key per BUFFPEK.
  
  Also fixed memory leak if thr_find_all_keys returns an error.
mysql-test/r/repair.result:
  A test case for BUG#23175.
mysql-test/t/repair.test:
  A test case for BUG#23175.
2006-10-18 17:57:29 +05:00
unknown
e71520abe3 Merge bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  chilla.local:/home/mydev/mysql-4.1-bug12240


sql/sql_select.cc:
  Auto merged
2006-10-17 09:33:58 +02:00
unknown
53924bdc77 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-4.1-opt
into  rakia.(none):/home/kgeorge/mysql/autopush/B14019-4.1-opt
2006-10-16 14:42:51 +03:00
unknown
29929bb610 Merge chilla.local:/home/mydev/mysql-4.1--team
into  chilla.local:/home/mydev/mysql-4.1-bug12240
2006-10-16 13:01:41 +02:00
unknown
750a2a0b86 BUG#14019 : group by converts literal string to column name
When resolving unqualified name references MySQL was not
   checking what is the item type for the reference. Thus
   e.g a string literal item that has by convention a name
   equal to its string value will also work as a reference to 
   a SELECT list item or a table field.
   Fixed by allowing only Item_ref or Item_field to referenced by
   (unqualified) name.


mysql-test/r/func_gconcat.result:
  Bug : group by converts literal string to column name
   - removed undeterministic testcase : order by a constant 
     means no order.
mysql-test/r/group_by.result:
  Bug : group by converts literal string to column name
   - test case
mysql-test/t/func_gconcat.test:
  Bug : group by converts literal string to column name
   - removed undeterministic testcase : order by a constant 
     means no order.
mysql-test/t/group_by.test:
  Bug : group by converts literal string to column name
   - test case
sql/sql_base.cc:
  Bug : group by converts literal string to column name
   - resolve unqualified by name refs only for real references
2006-10-16 13:10:25 +03:00
unknown
ae49659711 Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug9678
2006-10-13 14:44:21 +04:00
unknown
39b42b762b Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.0
into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-4.1-bug9678


BitKeeper/deleted/.del-lib_vio.c~d779731a1e391220:
  Use local.
include/violite.h:
  Use local.
sql/net_serv.cc:
  Use local.
vio/viosocket.c:
  Use local.
2006-10-13 14:26:28 +04:00
unknown
855c4e063d ndb - bug#23210
Fix race-condition between COPY_GCIREQ (GCP) and lcpSetActiveStatusEnd
  Solution is _not_ to copy sysfileData from COPY_GCIREQ from "self"


ndb/src/kernel/blocks/ERROR_codes.txt:
  Add error insert for dealying of copy sysfileData
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  1) Add error insert for delaying of sysfileData
  2) Change to that master is _not_ copying sysfileData from COPY_GCIREQ
     as it might be updating it while COPY_GCIREQ is "in the fly"
2006-10-12 14:02:48 +02:00
unknown
403cc15508 Merge bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  chilla.local:/home/mydev/mysql-4.1-bug8283-one


include/my_sys.h:
  Auto merged
2006-10-11 22:28:06 +02:00
unknown
31754c57bd BUG#22562 - REPAIR TABLE .. USE_FRM causes server crash on Windows and server
hangs on Linux

If REPAIR TABLE ... USE_FRM is issued for table that is located in different
than default database server crash could happen.

In reopen_name_locked_table take database name from table_list (user specified
or default database) instead of from thd (default database).

Affects 4.1 only.


mysql-test/r/repair.result:
  A test case for BUG#22562.
mysql-test/t/repair.test:
  A test case for BUG#22562.
sql/sql_base.cc:
  In reopen_name_locked_table take database name from table_list (user specified
  or default database) instead of from thd (default database).
2006-10-11 20:34:20 +05:00
unknown
e129548155 Merge perch.ndb.mysql.com:/home/jonas/src/mysql-4.1
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1-ndb
2006-10-11 14:15:57 +02:00
unknown
536fe1fafa Merge perch.ndb.mysql.com:/home/jonas/src/41-work
into  perch.ndb.mysql.com:/home/jonas/src/mysql-4.1-ndb
2006-10-11 14:13:53 +02:00
unknown
ddc5ae3801 Bug#12240 - Rows Examined in Slow Log showing incorrect number?
Examined rows are counted for every join part. The per-join-part
counter was incremented over all iterations. The result variable
was replaced at the end of every iteration. The final result was
the number of examined rows by the join part that ended its
execution as the last one. The numbers of other join parts was
lost.

Now we reset the per-join-part counter before every iteration and
add it to the result variable at the end of the iteration. That
way we get the sum of all iterations of all join parts.

No test case. Testing this needs a look into the slow query log.
I don't know of a way to do this portably with the test suite.


sql/sql_select.cc:
  Bug#12240 - Rows Examined in Slow Log showing incorrect number?
  Fixed reseting and accumulation of examined rows counts.
2006-10-11 12:24:59 +02:00
unknown
1ba54cad96 Merge bk-internal:/home/bk/mysql-4.1-rpl
into  neptunus.(none):/home/msvensson/mysql/mysql-4.1
2006-10-11 10:12:59 +02:00
unknown
aa788dce98 Merge mysql.com:/home/bkroot/mysql-4.1-rpl
into  mysql.com:/home/bk/MERGE/mysql-4.1-merge
2006-10-10 21:58:24 +02:00
unknown
679b5848f3 Merge chilla.local:/home/mydev/mysql-4.1-bug8283
into  chilla.local:/home/mydev/mysql-4.1-bug8283-one


myisam/mi_check.c:
  Auto merged
myisam/mi_packrec.c:
  Auto merged
myisam/sort.c:
  Auto merged
mysql-test/r/myisam.result:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Manual merge
mysql-test/t/myisam.test:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Manual merge
2006-10-09 19:40:16 +02:00
unknown
3109da7719 Bug#8283 - OPTIMIZE TABLE causes data loss
OPTIMIZE TABLE with myisam_repair_threads > 1 performs a non-quick 
parallel repair. This means that it does not only rebuild all 
indexes, but also the data file.

Non-quick parallel repair works so that there is one thread per 
index. The first of the threads rebuilds also the new data file.

The problem was that all threads shared the read io cache on the
old data file. If there were holes (deleted records) in the table,
the first thread skipped them, writing only contiguous, non-deleted
records to the new data file. Then it built the new index so that
its entries pointed to the correct record positions. But the other
threads didn't know the new record positions, but put the positions
from the old data file into the index.

The new design is so that there is a shared io cache which is filled
by the first thread (the data file writer) with the new contiguous
records and read by the other threads. Now they know the new record
positions.

Another problem was that for the parallel repair of compressed
tables a common bit_buff and rec_buff was used. I changed it so
that thread specific buffers are used for parallel repair.

A similar problem existed for checksum calculation. I made this
multi-thread safe too.


include/my_sys.h:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Redesign of io_cache_share.
include/myisam.h:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Redesign of checksum calculation in mi_check.c.
  'calc_checksum' is now in myisamdef.h:st_mi_sort_param.
myisam/mi_check.c:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Implemented a new parallel repair design.
  Using a synchronized shared read/write cache.
  Allowed for thread specific bit_buff, rec_buff, and calc_checksum.
myisam/mi_open.c:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Added DBUG output.
myisam/mi_packrec.c:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Allowed for thread specific bit_buff and rec_buff.
myisam/myisamdef.h:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Commented on checksum calculation variables.
  Allowed for thread specific bit_buff.
  Added DBUG output for better table crash detection.
myisam/sort.c:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Added implications of the new parallel repair design.
  Renamed 'info' -> 'sort_param'.
  Added DBUG output.
mysql-test/r/myisam.result:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Added test results.
mysql-test/t/myisam.test:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Added test cases.
mysys/mf_iocache.c:
  Bug#8283 - OPTIMIZE TABLE causes data loss
  Redesign of io_cache_share.
  We do now allow a writer to synchronize himself with the
  readers of a shared cache. When all threads join in the lock,
  the writer copies the data from his write buffer to the shared
  read buffer.
2006-10-09 19:26:55 +02:00
unknown
6abdffe4f6 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1
into  may.pils.ru:/home/svoj/devel/bk/mysql-4.1-engines
2006-10-08 15:11:17 +05:00
unknown
311abf108b ndb - bug#22893
Add checking of REDO to earlier during SR
      so take-over of node can be performed
      if it can't be restarted using logs
      (which btw is really weird...as it _should_ be able to use logs of other node in node group)

  Otherwise cluster could be started and 1 fragment on one node could not have been restored
  Making the cluster inconsisten, VERY BAD


ndb/src/kernel/blocks/dbdih/Dbdih.hpp:
  Break-out methods which searches for REDO for a fragment, so it can be used earlier during SR
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
  Add checking of REDO to earlier during SR
    so take-over of node can be performed
    if it can't be restarted using logs
    (which btw is really weird...as it _should_ be able to use logs of other node in node group)
2006-10-06 16:05:46 +02:00
unknown
a6a93d6f19 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG22937/mysql-4.1-engines
2006-10-06 15:18:25 +05:00
unknown
47a70282f9 BUG#22937 - Valgrind failure in 'merge' test (ha_myisammrg.cc:329)
This is addition to fix for bug21617. Valgrind reports an error when
opening merge table that has underlying tables with less indexes than
in a merge table itself.

Copy at most min(file->keys, table->key_parts) elements from rec_per_key array.
This fixes problems when merge table and subtables have different number of keys.


sql/ha_myisammrg.cc:
  Copy at most min(file->keys, table->key_parts) elements from rec_per_key array.
  This fixes problems when merge table and subtables have different number of keys.
2006-10-06 15:17:42 +05:00
unknown
b7d1c48213 Per discussion with pekka removed non-deterministic test case for bug#21381. 2006-10-06 14:47:58 +05:00
unknown
f463cb389b Addition to fix for bug#10974. Fixed spelling. 2006-10-06 10:54:47 +05:00
unknown
9387a593c7 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG21381/mysql-4.1-engines
2006-10-05 18:56:10 +05:00
unknown
2268afedea BUG#21381 - Engine not notified about multi-table UPDATE IGNORE
Though this is not storage engine specific problem, I was able to
repeat this problem with BDB and NDB engines only. That was the
reason to add a test case into ndb_update.test. As a result
different bad things could happen.

BDB has removed duplicate rows which is not expected.
NDB returns an error.

For multi table update notify storage engine about UPDATE IGNORE
as it is done in single table UPDATE.


mysql-test/r/ndb_update.result:
  A test case for bug#21381.
mysql-test/t/ndb_update.test:
  A test case for bug#21381.
sql/sql_update.cc:
  For multi table update notify storage engine about UPDATE IGNORE
  as it is done in single table UPDATE.
2006-10-05 18:23:53 +05:00