- 03 Apr, 2007 9 commits
-
-
unknown authored
B-g#27501: 5.0 significantly more sys ("kernel") time than 4.1 \ due to getrusage() calls Even if profiling is turned off, the parser makes calls to reset the state at the beginning of each query. That would eventually instantiate a PROFILE_ENTRY, which does indeed capture resource usage. Instead, now check that profiling is active before progressing far into the storage/expiration of old entries in the history. This has the pleasant side-effect that queries to toggle profiling are not recorded in the history. mysql-test/r/profiling.result: Now after we turn off profiling, the beginning of the next query refuses to enter the profiling code and it discards the info. sql/sql_profile.cc: Add the same condition twice: Once to abort storing previous query information and the other to abort initialization for this query that is starting. We do this symmetrically, before and after expiring old history entries, so that the counts are correct.
-
unknown authored
B-g#26600: table PROFILING in INFORMATION SCHEMA has wrong data type B-g#27047[partial]: INFORMATION_SCHEMA table cannot have BIGINT \ fields No Information_schema table has ever needed floating-point data before. Transforming all floating point to a string and back to a number causes a real data problem on Windows, where the libc may pad the exponent with more leading zeroes than we expect and the significant digits are truncated away. This also makes interpreting an unimplemented type as a string into a fatal error in debug builds. Thus, we will catch problems when we try to use those types in new I_S tables. sql/sql_show.cc: Add floating-point types to Information_schema output.
-
unknown authored
B-g#27060: SQL Profile utility may not be reporting right duration \ for each step Whenever the profiler is reset at the beginning of a query, there's a "hidden" profiling entry that represents that point in time. It has no status description, as those are set by state changes and no such point has yet been encountered. That profiling entry is not in the list of entries generated when we change states. The profiling code had the problem that each step of printing profiling data subtracted the previous "step"'s data, but gave the label to that data of the current step, which is wrong. The label/ state refers to the period beginning with that profiling data, not ending with it. Now, give a label to the first profiling pseudo-entry, so that we have a name to assign to the period that ends with the first state change. Now also use the state name of the previous step in showing the delta values that end with this step. sql/sql_profile.cc: Store a status of "initializing" whenever we construct the first profile entry -- the one that gets reset whenever we're starting a new query, before the server sets a real status. Additionally, associate the previous status with the time period that ends with the current profile entry's stats. Since we need yet another piece of info from the previous profiling entry, take out the piecemeal ways we currently do it and make a general pointer to the whole thing.
-
unknown authored
Patch contributed by Jocelyn Fournier. CLA received 2007-02-27. B-g#25347: mysqlcheck -A -r doesn't repair table marked as crashed mysqlcheck tests nullness of the engine type to know whether the "table" is a view or not. That also falsely catches tables that are severly damaged. Instead, use SHOW FULL TABLES to test whether a "table" is a view or not. (Don't add new function. Instead, get original data a smarter way.) Make it safe for use against databases before when views appeared. client/mysqlcheck.c: Use SHOW FULL TABLES to test better whether a name in the table list is one of a view. Checking that the engine is NULL is insufficient. Implemented suggestion from jimw that involved removing most of original patch and getting data a better way mysql-test/r/mysqlcheck.result: Verify that tables that have NULL/unreadable engine types are processed and not interpreted as views. mysql-test/t/mysqlcheck.test: Verify that tables that have NULL/unreadable engine types are processed and not interpreted as views.
-
unknown authored
B-g#24795: SHOW PROFILE implementation Don't use memory roots to store profiling information, because memory roots make freeing the data a no-op, and thus long-running processes with profiling turned on the whole time could eventually use all available memory. Instead, use regular heap allocation and deallocation calls to manage profiling data. Replace the leaky List usage with a similar- behaving structure named "Queue". sql/sql_profile.cc: Don't use C++ iterators on our simple Queue implementation. They're not implemented and we don't really need them. Rip out idea of swapping out the thd's mem_root. sql/sql_profile.h: Rip out idea of needing a mem_root. Implement a Queue that looks and behaves very similarly to memroot- using List.
-
unknown authored
Fixed bug #27362: crash at evaluation of IN predicate when one of its argument happened to be a decimal expression returning the NULL value. The crash was due to the fact the function in_decimal::set did not take into account that val_decimal() could return 0 if the decimal expression had been evaluated to NULL. mysql-test/r/func_in.result: Added a test case for bug #27362. mysql-test/t/func_in.test: Added a test case for bug #27362. sql/item_cmpfunc.cc: Fixed bug #27362: crash at evaluation of IN predicate when one of its argument happened to be a decimal expression returning the NULL value. The crash was due to the fact the function in_decimal::set did not take into account that val_decimal() could return 0 if the decimal expression had been evaluated to NULL.
-
unknown authored
-
unknown authored
The test fails, and it shouldn't. mysql-test/r/information_schema.result: The query to generate this list is pretty bogus in any case. Listing all columns of a particular type tells us nothing at all.
-
unknown authored
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-community VC++Files/sql/mysqld.vcproj: Auto merged include/config-win.h: Auto merged myisam/mi_open.c: Auto merged mysql-test/r/information_schema_db.result: Auto merged ndb/src/common/util/File.cpp: Auto merged sql/Makefile.am: Auto merged sql/ha_archive.cc: Auto merged sql/ha_berkeley.cc: Auto merged sql/ha_myisam.cc: Auto merged sql/ha_myisammrg.cc: Auto merged sql/ha_ndbcluster.cc: Auto merged sql/item_cmpfunc.cc: Auto merged sql/item_func.cc: Auto merged sql/lock.cc: Auto merged sql/log_event.cc: Auto merged sql/repl_failsafe.cc: Auto merged sql/set_var.cc: Auto merged sql/set_var.h: Auto merged sql/sp_head.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_cache.cc: Auto merged sql/sql_class.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_delete.cc: Auto merged sql/sql_insert.cc: Auto merged sql/sql_lex.cc: Auto merged sql/sql_lex.h: Auto merged sql/sql_prepare.cc: Auto merged sql/sql_repl.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_show.cc: Auto merged sql/sql_table.cc: Auto merged sql/sql_update.cc: Auto merged sql/sql_view.cc: Auto merged sql/sql_yacc.yy: Auto merged sql/table.h: Auto merged support-files/mysql.spec.sh: Auto merged configure.in: Manual merge. include/my_dbug.h: Manual merge. sql/mysql_priv.h: Manual merge. sql/mysqld.cc: Manual merge. sql/slave.cc: Manual merge. sql/sql_parse.cc: Manual merge.
-
- 20 Mar, 2007 9 commits
-
-
unknown authored
into trift2.:/MySQL/M50/clone-5.0
-
unknown authored
into trift2.:/MySQL/M50/test-help-5.0 mysql-test/t/help.test: Auto merged mysql-test/r/help.result: Manual merge: 5.0 has warnings "Field 'url' doesn't have a default value" which 4.1 doesn't have.
-
unknown authored
Shift the ID values up into a range where they will not collide with those which we use for real data, when we fill the system tables. Will be merged up to 5.0 where it is needed for 5.0.38. mysql-test/r/help.result: Fix the result file according to the changed ID values in "help.test". mysql-test/t/help.test: Now that (at least in 5.0) the system tables are filled with real data, inserting rows vith ID values 1 .. 5 will fail in release build tests (it did in 5.0.38) like it should already have done in customer installations. Shift the ID values up into a high area where they will not conflict, also make the distinct for the different kinds of values (= unique throughout the test). No change to the logic.
-
unknown authored
into trift2.:/MySQL/M50/test-help-5.0
-
unknown authored
Shift the ID values up into a range where they will not collide with those which we use for real data, when we fill the system tables. Will be merged up to 5.0 where it is needed for 5.0.38. mysql-test/t/help.test: Now that (at least in 5.0) the system tables are filled with real data, inserting rows vith ID values 1 .. 5 will fail in release build tests (it did in 5.0.38) like it should already have done in customer installations. Shift the ID values up into a high area where they will not conflict, also make the distinct for the different kinds of values (= unique throughout the test). No change to the logic.
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/mar20/mysql-5.0-release
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/mar20/b27231/50 sql/sql_class.cc: Auto merged
-
unknown authored
- Problem: data separators were copied to a fixed-size buffer on the stack; memcpy was used, without bounds checking; a server crash could result if long FIELDS ENCLOSED BY, etc., was given - Fix: write the separators directly, instead of copying to a buffer first (in select_export::send_data()) sql/sql_class.cc: In select_export::send_data(), write data separators directly, instead of copying into a fixed-size memory buffer before writing. This avoids a buffer overflow when very large separators are specified.
-
unknown authored
No need to set LICENSE or USE_SYMDIR from project files make_win_bin_dist: Changed location of SQL initialization files to be "share/" scripts/make_win_bin_dist: Changed location of SQL initialization files to be "share/" VC++Files/libmysqld/libmysqld.vcproj: No need to set LICENSE or USE_SYMDIR from project files VC++Files/mysqldemb/mysqldemb.vcproj: No need to set LICENSE or USE_SYMDIR from project files VC++Files/mysys/mysys.vcproj: No need to set LICENSE or USE_SYMDIR from project files VC++Files/sql/mysqld.vcproj: No need to set LICENSE or USE_SYMDIR from project files VC++Files/vio/vio.vcproj: No need to set LICENSE or USE_SYMDIR from project files
-
- 19 Mar, 2007 6 commits
-
-
unknown authored
Removed accidently added my_winsem.c make_win_bin_dist: Corrected test for relwithdebinfo target mysql.sln: Specify that comp_err depends on zlib VC++Files/mysys/mysys.vcproj: Removed accidently added my_winsem.c VC++Files/mysql.sln: Specify that comp_err depends on zlib scripts/make_win_bin_dist: Corrected test for relwithdebinfo target
-
unknown authored
Restore accidently removed line scripts/make_win_bin_dist: Restore accidently removed line
-
unknown authored
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
-
unknown authored
into trift2.:/MySQL/M50/clone-5.0
-
unknown authored
netware/Makefile.am: "libmysql.imp" must survive a "make clean" for the NetWare builds.
-
unknown authored
into pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.0-release scripts/make_win_bin_dist: Auto merged
-
- 18 Mar, 2007 1 commit
-
-
unknown authored
- 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
-
- 17 Mar, 2007 1 commit
-
-
unknown authored
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.
-
- 16 Mar, 2007 2 commits
-
-
unknown authored
- 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
-
unknown authored
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.
-
- 15 Mar, 2007 6 commits
-
-
unknown authored
into mysql.com:/home/svoj/devel/bk/mysql-5.0-engines
-
unknown authored
into mockturtle.local:/home/dlenev/src/mysql-4.1-merge
-
unknown authored
into mockturtle.local:/home/dlenev/src/mysql-5.0-merge
-
unknown authored
into mockturtle.local:/home/dlenev/src/mysql-5.0-bg25966-2 sql/mysqld.cc: Auto merged
-
unknown authored
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.
-
unknown authored
TABLE ... WRITE". 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. In 5.* versions memory hogging was added to CPU hogging. Moreover in those versions 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.
-
- 14 Mar, 2007 6 commits
-
-
unknown authored
into mysql.com:/home/kent/bk/tmp/mysql-5.0-build
-
unknown authored
into mysql.com:/home/kent/bk/tmp/mysql-4.1-build
-
unknown authored
Updated to version 0.6 of the text EXCEPTIONS-CLIENT: Updated to version 0.6 of the text
-
unknown authored
into mysql.com:/home/kent/bk/tmp/mysql-5.0-build configure.in: Auto merged
-
unknown authored
into mysql.com:/home/kent/bk/tmp/mysql-5.0-build
-
unknown authored
into mysql.com:/home/kent/bk/tmp/mysql-4.1-build
-