Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/bdb/bdb.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/client/mysql.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/client/mysql_upgrade.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/client/mysqladmin.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/client/mysqlclient.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/client/mysqldump.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/client/mysqlimport.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/client/mysqlshow.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/client/mysqltest.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/comp_err/comp_err.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/dbug/dbug.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/heap/heap.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/innobase/innobase.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/libmysql/libmysql.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/libmysqld/examples/test_libmysqld.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/libmysqld/libmysqld.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/libmysqltest/myTest.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/my_print_defaults/my_print_defaults.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/myisam/myisam.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/myisam_ftdump/myisam_ftdump.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/myisamchk/myisamchk.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/myisamlog/myisamlog.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/myisammrg/myisammrg.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/myisampack/myisampack.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/mysql.sln:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/mysqlbinlog/mysqlbinlog.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/mysqlcheck/mysqlcheck.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/mysqldemb/mysqldemb.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/mysqlserver/mysqlserver.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/mysys/mysys.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/perror/perror.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/regex/regex.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/replace/replace.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/sql/gen_lex_hash.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/sql/mysqld.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/strings/strings.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/test1/test1.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/tests/mysql_client_test.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/thr_test/thr_test.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/vio/vio.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
VC++Files/zlib/zlib.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
extra/yassl/taocrypt/taocrypt.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
extra/yassl/yassl.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
ndb/src/cw/cpcc-win32/C++/CPC_GUI.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
scripts/make_win_bin_dist:
Major cleanup of old Visual Studio project files, aligning engines etc
server-tools/instance-manager/mysqlmanager.vcproj:
Major cleanup of old Visual Studio project files, aligning engines etc
Using a MEMORY table BTREE index for scanning for updatable rows
could lead to an infinite loop.
Everytime a key was inserted into a btree index, the position
in the index scan was cleared. The search started from the
beginning and found the same key again.
Now we do not clear the position on key insert an more.
heap/hp_write.c:
Bug#26996 - Update of a Field in a Memory Table ends with wrong result
Removed the index-scan-breaking nulling of last_pos.
The comment behind this line ("For heap_rnext/heap_rprev")
was misleading. It should have been "Breaks heap_rnext/heap_rprev".
mysql-test/r/heap_btree.result:
Bug#26996 - Update of a Field in a Memory Table ends with wrong result
Added test result.
mysql-test/t/heap_btree.test:
Bug#26996 - Update of a Field in a Memory Table ends with wrong result
Added test.
- Support both "release" and "relwithdebinfo" targets
- Copy ".pdb" and ".pdb" files for the server and instance manager
- Removed the examples directory, unsupported
- Handle both old and new builds in the same script, "-debug" and "-nt"
extensions, directory "data" and "share" in different location
scripts/make_win_bin_dist:
- Support both "release" and "relwithdebinfo" targets
- Copy ".pdb" and ".pdb" files for the server and instance manager
- Removed the examples directory, unsupported
- Handle both old and new builds in the same script, "-debug" and "-nt"
extensions, directory "data" and "share" in different location
sql/item_cmpfunc.cc:
Ensure both operands of a comparison are cast to "ulonglong", not just one only.
Without this, some 64-bit big-endian hosts failed test "func_in" when 5.0.38 builds were started.
Patch provided by Timothy.
- Build sql files for netware from the mysql_system_tables*.sq files
- Fix comments about mysql_create_system_tables.sh
- Use mysql_install_db.sh to create system tables for mysql_test-run-shell
- Fix mysql-test-run.pl to also look in share/mysql for the msyql_system*.sql files
Changeset coded today by Magnus Svensson, just the application to 5.0.38 is by Joerg Bruehe.
BitKeeper/deleted/.del-init_db.sql~e2b8d0c8390e8023:
Delete: netware/init_db.sql
BitKeeper/deleted/.del-test_db.sql:
Delete: netware/test_db.sql
BitKeeper/etc/ignore:
Added netware/init_db.sql netware/test_db.sql to the ignore list
mysql-test/install_test_db.sh:
Use mysql_install_db from install_test_db(which is used by mysql-test-run-shell)
to install the system tables
mysql-test/mysql-test-run.pl:
Look for the mysql_system_tables*.sql also in share/mysql
netware/Makefile.am:
Build netware/init_db.sql and netware/test_db.sql from
the sources in scripts/msyql_system_tables*.sql
scripts/make_binary_distribution.sh:
netware/init_db.sql and netware/test_db.sql are now built by the Makefiles
from the scripts/mysql_system_tables*.sql files
sql/mysql_priv.h:
Update comment remindging to update the MySQL system table definitions
when adding a new SQL_MODE
sql/sql_acl.h:
Update comment reminding to update the MySQL System tables
when changing the ACL defines
mysql-test/r/loaddata.result:
Fix bug#27212: Do not try to read a file which is not contained in a binary distribution,
because it will be missing when the tests are run during release build or by a customer.
mysql-test/t/loaddata.test:
Fix bug#27212: Do not try to read a file which is not contained in a binary distribution,
because it will be missing when the tests are run during release build or by a customer.
- Build sql files for netware from the mysql_system_tables*.sq files
- Fix comments about mysql_create_system_tables.sh
- Use mysql_install_db.sh to create system tables for mysql_test-run-shell
- Fix mysql-test-run.pl to also look in share/mysql for the msyql_system*.sql files
BitKeeper/deleted/.del-init_db.sql~e2b8d0c8390e8023:
Rename: netware/init_db.sql -> BitKeeper/deleted/.del-init_db.sql~e2b8d0c8390e8023
BitKeeper/deleted/.del-test_db.sql:
Rename: netware/test_db.sql -> BitKeeper/deleted/.del-test_db.sql
BitKeeper/etc/ignore:
Added netware/init_db.sql netware/test_db.sql to the ignore list
mysql-test/install_test_db.sh:
Use mysql_install_db from install_test_db(which is used bu mysql-test-run-shell)
to install the system tables
mysql-test/mysql-test-run.pl:
Look for the mysql_system_tables*.sql also in share/mysql
netware/Makefile.am:
Build netware/init_db.sql and netware/test_db.sql from
the sources in scripts/msyql_system_tables*.sql
scripts/make_binary_distribution.sh:
netware/init_db.sql and netware/test_db.sql are now built by the Makefiles
from the scripts/mysql_system_tables*.sql files
sql/mysql_priv.h:
Update comment remindging to update the MySQL system table definitions
when adding a new SQL_MODE
sql/sql_acl.h:
Update comment reminding to update the MySQL System tables
when changing the ACL defines
Problem: to handle a situation when the size of event on the master is greater than max_allowed_packet on slave, we checked for the wrong constant (ER_NET_PACKET_TOO_LARGE instead of CR_NET_PACKET_TOO_LARGE).
Solution: test for the client "packet too large" error code instead of the server one in slave I/O thread.
mysql-test/r/rpl_packet.result:
Added test case for bug #23775 "Replicated event larger that max_allowed_packet infinitely re-transmits"
mysql-test/t/rpl_packet.test:
Added test case for bug #23775 "Replicated event larger that max_allowed_packet infinitely re-transmits"
sql/slave.cc:
Test for the client "packet too large" error code instead of the server one in slave I/O thread.
UPDATE if the row wasn't actually changed.
This bug was caused by fix for bug#19978. It causes AFTER UPDATE triggers
not firing if a row wasn't actually changed by the update part of the
INSERT .. ON DUPLICATE KEY UPDATE.
Now triggers are always fired if a row is touched by the INSERT ... ON
DUPLICATE KEY UPDATE.
sql/sql_insert.cc:
Bug#27006: AFTER UPDATE triggers not fired with INSERT ... ON DUPLICATE KEY
UPDATE if the row wasn't actually changed.
Now triggers are always fired if a row is touched by the INSERT ... ON
DUPLICATE KEY UPDATE.
mysql-test/r/trigger.result:
Added a test case for the bug#27006: AFTER UPDATE triggers not fired with INSERT ... ON DUPLICATE KEY
UPDATE if the row wasn't actually changed.
mysql-test/t/trigger.test:
Added a test case for the bug#27006: AFTER UPDATE triggers not fired with INSERT ... ON DUPLICATE KEY
UPDATE if the row wasn't actually changed.
when index is used
When the table contained TEXT columns with empty contents
('', zero length, but not NULL) _and_ strings starting with
control characters like tabulator or newline, the empty values
were not found in a "records in range" estimate. Hence count(*)
missed these records.
The reason was a different set of search flags used for key
insert and key range estimation.
I decided to fix the set of flags used in range estimation.
Otherwise millions of databases around the world would require
a repair after an upgrade.
The consequence is that the manual must be fixed, which claims
that TEXT columns are compared with "end space padding". This
is true for CHAR/VARCHAR but wrong for TEXT. See also bug 21335.
myisam/mi_range.c:
Bug#26231 - select count(*) on myisam table returns wrong value
when index is used
Added SEARCH_UPDATE to the search flags so that it compares
like write/update/delete operations do. Only so it expects
the keys at the place where they have been inserted.
myisam/mi_search.c:
Bug#26231 - select count(*) on myisam table returns wrong value
when index is used
Added some comments to explain how _mi_get_binary_pack_key()
works.
mysql-test/r/myisam.result:
Bug#26231 - select count(*) on myisam table returns wrong value
when index is used
Added a test.
mysql-test/t/myisam.test:
Bug#26231 - select count(*) on myisam table returns wrong value
when index is used
Added test result.
into magare.gmz:/home/kgeorge/mysql/autopush/B26261-5.0-opt
sql/mysql_priv.h:
Auto merged
sql/sql_insert.cc:
Auto merged
sql/sql_prepare.cc:
Auto merged
mysql-test/r/insert_update.result:
SCCS merged
mysql-test/t/insert_update.test:
SCCS merged
INSERT uses query_id to verify what fields are
mentioned in the fields list of the INSERT command.
However the check for that is made after the
ON DUPLICATE KEY is processed. This causes all
the fields mentioned in ON DUPLICATE KEY to be
considered as mentioned in the fields list of
INSERT.
Moved the check up, right after processing the
fields list.
mysql-test/r/insert_update.result:
Bug #26261: test case
mysql-test/t/insert_update.test:
Bug #26261: test case
sql/mysql_priv.h:
Bug #26261: moved the check inside mysql_prepare_insert
sql/sql_insert.cc:
Bug #26261: move the check inside mysql_prepare_insert
before setting up the ON DUPLICATE KEY part
sql/sql_prepare.cc:
Bug #26261: moved the check inside mysql_prepare_insert
The crash happens when 'skip-grant-tables' is enabled.
We skip the filling of I_S privilege tables
if acl_cache is not initialized.
mysql-test/r/skip_grants.result:
test result
mysql-test/t/skip_grants.test:
test case
sql/sql_acl.cc:
skip filling of I_S privilege tables
if acl_cache is not initialized
into dev3-240.dev.cn.tlan:/home/justin.he/mysql/mysql-5.0/mysql-5.0-ndb-bj-merge
ndb/src/mgmclient/CommandInterpreter.cpp:
Auto merged
ndb/src/mgmsrv/ConfigInfo.cpp:
Auto merged
ndb/src/ndbapi/NdbScanFilter.cpp:
Auto merged
- test suites developed by QA
- additional 'fast' test options
Makefile.am:
Added test options to cover
- test suites developed by QA
- additional 'fast' test options
touched but not actually changed.
The LAST_INSERT_ID() is reset to 0 if no rows were inserted or changed.
This is the case when an INSERT ... ON DUPLICATE KEY UPDATE updates a row
with the same values as the row contains.
Now the LAST_INSERT_ID() values is reset to 0 only if there were no rows
successfully inserted or touched.
The new 'touched' field is added to the COPY_INFO structure. It holds the
number of rows that were touched no matter whether they were actually
changed or not.
sql/sql_class.h:
Bug#27033: 0 as LAST_INSERT_ID() after INSERT .. ON DUPLICATE if rows were
touched but not actually changed.
The new 'touched' field is added to the COPY_INFO structure. It holds the
number of rows that were touched no matter whether they were actually
changed or not.
mysql-test/r/insert_update.result:
Added a test case for the bug#27033: 0 as LAST_INSERT_ID() after INSERT .. ON DUPLICATE if rows were
touched but not actually changed.
mysql-test/t/insert_update.test:
Added a test case for the bug#27033: 0 as LAST_INSERT_ID() after INSERT .. ON DUPLICATE if rows were
touched but not actually changed.
sql/sql_insert.cc:
Bug#27033: 0 as LAST_INSERT_ID() after INSERT .. ON DUPLICATE if rows were
touched but not actually changed.
Now the LAST_INSERT_ID() values is reset to 0 only if there were no rows
successfully inserted or touched.
TABLE ... WRITE".
Memory and CPU hogging occured when connection which had to wait for table
lock was serviced by thread which previously serviced connection that was
killed (note that connections can reuse threads if thread cache is enabled).
One possible scenario which exposed this problem was when thread which
provided binlog dump to replication slave was implicitly/automatically
killed when the same slave reconnected and started pulling data through
different thread/connection.
The problem also occured when one killed particular query in connection
(using KILL QUERY) and later this connection had to wait for some table
lock.
This problem was caused by the fact that thread-specific mysys_var::abort
variable, which indicates that waiting operations on mysys layer should
be aborted (this includes waiting for table locks), was set by kill
operation but was never reset back. So this value was "inherited" by the
following statements or even other connections (which reused the same
physical thread). Such discrepancy between this variable and THD::killed
flag broke logic on SQL-layer and caused CPU and memory hogging.
This patch tries to fix this problem by properly resetting this member.
There is no test-case associated with this patch since it is hard to test
for memory/CPU hogging conditions in our test-suite.
sql/mysqld.cc:
We should not forget to reset THD::mysys_var::abort after kill operation
if we are going to use thread to which this operation was applied for
handling of other connections.
sql/sp_head.cc:
We should not forget to reset THD::mysys_var::abort after kill operation
if we are going to use thread to which this operation was applied for
handling of further statements.
sql/sql_parse.cc:
We should not forget to reset THD::mysys_var::abort after kill operation
if we are going to use thread to which this operation was applied for
handling of further statements.