- 25 May, 2007 1 commit
-
-
unknown authored
On some Linux distributions with both LinuxThreads and NPTL glibc versions available, statically built binaries can crash, because linker defaults to LinuxThreads when linking statically, but calls to external libraries (like libnss) are resolved to NPTL versions. Since there is nothing we can do in the code to work that around, just give user an advice on how to fix that, if a crash happened on such a binary/OS combination. sql/mysqld.cc: Advise a user on possible solutions in case of a crash in a statically built binary on a system with both LinuxThreads and NPTL available.
-
- 19 May, 2007 2 commits
-
-
unknown authored
into pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
-
unknown authored
- The SQL commands used by mysql_upgrade are written to be run with sql_mode set to '' - thus the scripts should change sql_mode for the session to make sure the SQL is legal. mysql-test/r/mysql_upgrade.result: Update test result mysql-test/t/mysql_upgrade.test: The SQL commands used by mysql_upgrade are written to be run with sql_mode set to '' - thus the scripts should change sql_mode for the session to make sure the SQL is legal. scripts/mysql_system_tables_fix.sql: Set sql_mode to '' before running the SQL commands to fix system tables - backport from 5.1
-
- 18 May, 2007 6 commits
-
-
unknown authored
into pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
-
unknown authored
into pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint client/mysqltest.c: Auto merged mysql-test/mysql-test-run.pl: Auto merged mysql-test/r/mysqltest.result: Auto merged mysql-test/t/mysqltest.test: SCCS merged
-
unknown authored
- Final touchups client/mysqltest.c: Final touch ups, rename sorted_results to sorted_result mysql-test/r/mysqltest.result: Update test result mysql-test/t/mysqltest.test: Update results with additional subtests for empty result set, NULL values and 1024 rows
-
unknown authored
into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50
-
unknown authored
in number_to_datetime(), zero out the MYSQL_TIME structure before setting values, to ensure that all fields are initialized; in particular, ensure that ->neg is set to zero (fixes valgrind warning "Conditional jump ... depends on uninitialised value" in make_date_time) sql-common/my_time.c: in number_to_datetime(), zero out the MYSQL_TIME structure before setting values, to ensure that all fields are initialized; in particular, ensure that ->neg is set to zero (fixes valgrind warning "Conditional jump ... depends on uninitialised value" in make_date_time)
-
unknown authored
Fixed a problem and compiler warning on 64bit platforms so that they only allocated UINT_MAX number of BUFFPEKS. sql/filesort.cc: Fixed a problem and compiler warning on 64bit platforms so that they only allocated UINT_MAX number of BUFFPEKS.
-
- 17 May, 2007 8 commits
-
-
unknown authored
into damien-katzs-computer.local:/Users/dkatz/50_div_zero
-
unknown authored
Fixed a compiler warning on platforms where uint != ulong from the first pushed fix. sql/filesort.cc: fixed a compiler warning on platforms where uint != ulong
-
unknown authored
into siva.hindu.god:/home/tsmith/m/bk/maint/50
-
unknown authored
into siva.hindu.god:/home/tsmith/m/bk/maint/50
-
unknown authored
into siva.hindu.god:/home/tsmith/m/bk/maint/50 mysql-test/r/type_datetime.result: Auto merged mysql-test/t/outfile.test: Auto merged mysql-test/t/type_datetime.test: Auto merged sql/field.cc: Auto merged sql/item.cc: Auto merged sql/item.h: Auto merged sql/item_cmpfunc.cc: Auto merged sql/item_func.cc: Auto merged sql/item_func.h: Auto merged sql/my_decimal.h: Auto merged sql/mysql_priv.h: Auto merged sql/sp.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_class.h: Auto merged
-
unknown authored
into siva.hindu.god:/home/tsmith/m/bk/maint/41
-
unknown authored
into damien-katzs-computer.local:/Users/dkatz/50_div_zero
-
unknown authored
Fix bad merge of test results mysql-test/r/ps_6bdb.result: Fix bad merge of test results
-
- 16 May, 2007 15 commits
-
-
unknown authored
Added checks to detect integer overflow and fixed other bugs on the error path. myisam/sort.c: Replaced a break statement with a goto statement so that a failure will instead break sql/filesort.cc: Fixed an allocation routine to detect integer overflow, and as an optimization a check that prevents the number of buffpeks being larger than can possibly fit into memory. Fixed several unchecked error codes. Changed an index variable from int to uint to the match the type of the variable it's being compared with. Replaced a break statement with a goto statement so that a failure will instead break out of the higher level while-loop, instead of just the nested for-loop.
-
unknown authored
- Fix spelling error mysql-test/mysql-test-run.pl: Fix spelling error
-
unknown authored
- Change from "query_sorted <query>" to "sorted_results" client/mysqltest.c: Replace "query_sorted <query>" with the ability to turn on "one shot result sorting" with the command "sorted_results" mysql-test/r/mysqltest.result: Update test and result mysql-test/t/mysqltest.test: Update test and result
-
unknown authored
into pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint client/mysqltest.c: Auto merged
-
unknown authored
client/mysqltest.c: Make it possible for test scripts to know what protocol is being used
-
unknown authored
BDB results fixed (not p/o 5.1 fix) mysql-test/r/ps_6bdb.result: Now we get a note when we insert a datetime value into a date column
-
unknown authored
into pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
-
unknown authored
Made year 2000 handling more uniform Removed year 2000 handling out from calc_days() The above removes some bugs in date/datetimes with year between 0 and 200 Now we get a note when we insert a datetime value into a date column For default values to CREATE, don't give errors for warning level NOTE Fixed some compiler failures Added library ws2_32 for windows compilation (needed if we want to compile with IOCP support) Removed duplicate typedef TIME and replaced it with MYSQL_TIME Better (more complete) fix for: Bug#21103 "DATE column not compared as DATE" Fixed properly Bug#18997 "DATE_ADD and DATE_SUB perform year2K autoconversion magic on 4-digit year value" Fixed Bug#23093 "Implicit conversion of 9912101 to date does not match cast(9912101 as date)" include/my_time.h: Removed not used define YY_MAGIC_BELOW Added prototype for year_2000_handling() mysql-test/r/date_formats.result: Updated results (fixed bug in date_format() with year < 99 mysql-test/r/func_sapdb.result: Added more testing of make_date() mysql-test/r/ps_2myisam.result: Now we get a note when we insert a datetime value into a date column mysql-test/r/ps_3innodb.result: Now we get a note when we insert a datetime value into a date column mysql-test/r/ps_4heap.result: Now we get a note when we insert a datetime value into a date column mysql-test/r/ps_5merge.result: Now we get a note when we insert a datetime value into a date column mysql-test/r/ps_7ndb.result: Now we get a note when we insert a datetime value into a date column mysql-test/r/strict.result: zero-year in str_to_date() throws warning in strict mysql-test/r/type_date.result: Added test for date conversions mysql-test/r/type_datetime.result: Added testcase for datetime to date conversion. mysql-test/t/date_formats.test: Added testing of dates < 200 mysql-test/t/func_sapdb.test: More testing of makedate() mysql-test/t/type_date.test: Added test for date conversions mysql-test/t/type_datetime.test: Added testcase for datetime to date conversion sql/field.cc: Give note if we insert a datetime value in a date field Don't give notes if we are doing internal test conversions (like from convert_constant_item()) More documentation (store functions can now return '3' to inform that the function did return a NOTE (not warning or error)) Revert some changes in Field_newdate::store() to get more optimal code Field::set_warning() will now ignore notes if CHECK_FIELD_IGNORE is set. New parameters to make_truncated_value_warning() sql/field.h: Give note if we insert a datetime value in a date field Don't give notes if we are doing internal test conversions (like from convert_constant_item()) More documentation (store functions can now return '3' to inform that the function did return a NOTE (not warning or error)) Revert some changes in Field_newdate::store() to get more optimal code Field::set_warning() will now ignore notes if CHECK_FIELD_IGNORE is set. New parameters to make_truncated_value_warning() sql/item.cc: Give note if we insert a datetime value in a date field Don't give notes if we are doing internal test conversions (like from convert_constant_item()) More documentation (store functions can now return '3' to inform that the function did return a NOTE (not warning or error)) Revert some changes in Field_newdate::store() to get more optimal code Field::set_warning() will now ignore notes if CHECK_FIELD_IGNORE is set. New parameters to make_truncated_value_warning() sql/item.h: TIME -> MYSQL_TIME sql/item_cmpfunc.cc: Don't print notes in convert_constant_item() sql/item_func.h: TIME -> MYSQL_TIME sql/item_timefunc.cc: New parameters to make_truncated_value_warning() Moved year 2000 handling out from calc_days() sql/item_timefunc.h: TIME -> MYSQL_TIME sql/my_decimal.cc: TIME -> MYSQL_TIME sql/my_decimal.h: TIME -> MYSQL_TIME sql/mysql_priv.h: Added error level to make_truncated_value_warning() sql/protocol.cc: TIME -> MYSQL_TIME sql/protocol.h: TIME -> MYSQL_TIME sql/sp.cc: TIME -> MYSQL_TIME sql/sql_base.cc: Make testing of result value of save_in_field() uniform sql/sql_class.h: TIME -> MYSQL_TIME sql/sql_show.cc: TIME -> MYSQL_TIME sql/structs.h: TIME -> MYSQL_TIME sql/time.cc: Added error level to make_truncated_value_warning() sql/tztime.cc: TIME -> MYSQL_TIME sql/tztime.h: TIME -> MYSQL_TIME sql/unireg.cc: For default values to CREATE, don't give errors for warning level NOTE (Fixed failed CREATE when we give a datetime value to a date field) sql-common/my_time.c: Added year_2000_handling() Removed year 2000 handling from calc_daynr()
-
unknown authored
into pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
-
unknown authored
into pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint
-
unknown authored
- mysqldump generated output that set OLD_SQL_MODE twice, to different values (for triggers), or not at all (for routines) in some cases. client/mysqldump.c: Only save SQL_MODE in dump_triggers if in --compact mode. Otherwise, it's already been saved in write_header(). Likewise for dumpe_routines, where it was never saved. mysql-test/r/mysqldump.result: mysqldump output has subtly changed. Adjust test-results. This also shows OLD_SQL_MODE is always set exactly once now
-
unknown authored
- Since isinf() portability across various platforms and compilers is a complicated question, we should not use it directly. Instead, the my_isinf() macro should be used, which is defined as an alias to the system-defined isinf() if it is safe to use, or a workaround implementation otherwise configure.in: Added a check to define HAVE_ISINF only if it can be used in C++ code as well. include/my_global.h: Define my_isinf() as an alias to isinf(), if it is available in both C and C++ code. Otherwise, define it to a workaround implementation. sql/item_func.cc: Replaced isinf() with my_isinf(). strings/strtod.c: Replaced isinf() with my_isinf().
-
unknown authored
sql/sql_insert.cc: Do not access delayed thread memory without a mutex.
-
unknown authored
into vajra.(none):/opt/local/work/mysql-5.0-21483 sql/sp_head.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_insert.cc: Auto merged sql/sql_lex.h: Auto merged
-
unknown authored
Bug#21483 "Server abort or deadlock on INSERT DELAYED with another implicit insert" Also fixes and adds test cases for bugs: 20497 "Trigger with INSERT DELAYED causes Error 1165" 21714 "Wrong NEW.value and server abort on INSERT DELAYED to a table with a trigger". Post-review fixes. Problem: In MySQL INSERT DELAYED is a way to pipe all inserts into a given table through a dedicated thread. This is necessary for simplistic storage engines like MyISAM, which do not have internal concurrency control or threading and thus can not achieve efficient INSERT throughput without support from SQL layer. DELAYED INSERT works as follows: For every distinct table, which can accept DELAYED inserts and has pending data to insert, a dedicated thread is created to write data to disk. All user connection threads that attempt to delayed-insert into this table interact with the dedicated thread in producer/consumer fashion: all records to-be inserted are pushed into a queue of the dedicated thread, which fetches the records and writes them. In this design, client connection threads never open or lock the delayed insert table. This functionality was introduced in version 3.23 and does not take into account existence of triggers, views, or pre-locking. E.g. if INSERT DELAYED is called from a stored function, which, in turn, is called from another stored function that uses the delayed table, a deadlock can occur, because delayed locking by-passes pre-locking. Besides: * the delayed thread works directly with the subject table through the storage engine API and does not invoke triggers * even if it was patched to invoke triggers, if triggers, in turn, used other tables, the delayed thread would have to open and lock involved tables (use pre-locking). * even if it was patched to use pre-locking, without deadlock detection the delayed thread could easily lock out user connection threads in case when the same table is used both in a trigger and on the right side of the insert query: the delayed thread would not release locks until all inserts are complete, and user connection can not complete inserts without having locks on the tables used on the right side of the query. Solution: These considerations suggest two general alternatives for the future of INSERT DELAYED: * it is considered a full-fledged alternative to normal INSERT * it is regarded as an optimisation that is only relevant for simplistic engines. Since we missed our chance to provide complete support of new features when 5.0 was in development, the first alternative currently renders infeasible. However, even the second alternative, which is to detect new features and convert DELAYED insert into a normal insert, is not easy to implement. The catch-22 is that we don't know if the subject table has triggers or is a view before we open it, and we only open it in the delayed thread. We don't know if the query involves pre-locking until we have opened all tables, and we always first create the delayed thread, and only then open the remaining tables. This patch detects the problematic scenarios and converts DELAYED INSERT to a normal INSERT using the following approach: * if the statement is executed under pre-locking (e.g. from within a stored function or trigger) or the right side may require pre-locking, we detect the situation before creating a delayed insert thread and convert the statement to a conventional INSERT. * if the subject table is a view or has triggers, we shutdown the delayed thread and convert the statement to a conventional INSERT. mysql-test/r/insert.result: Update test results. mysql-test/t/insert.test: Add a test case for Bug#21483, Bug#20497, Bug#21714 (INSERT DELAYED and stored routines, triggers). sql/sp_head.cc: Upgrade lock type to TL_WRITE when computing the pre-locking set. sql/sql_base.cc: Use a new method. sql/sql_insert.cc: INSERT DELAYED and pre-locking: - if under pre-locking, upgrade the lock type to TL_WRITE and proceed as a normal write - if DELAYED table has triggers, also request a lock upgrade. - make sure errors in the delayed thread are propagated correctly sql/sql_lex.h: Add a method to check if a parsed tree refers to stored routines.
-
- 15 May, 2007 7 commits
-
-
unknown authored
into amd64.(none):/src/bug24732/my50-bug24732 mysql-test/mysql-test-run.pl: Auto merged
-
unknown authored
-
unknown authored
- Manifest requires four part application version. - mysqld does not need requireAdministrator rights to run. sql/CMakeLists.txt: Bug#24732 Executables do not include Vista manifests - Request less permissive set of privileges. win/create_manifest.js: Bug#24732 Executables do not include Vista manifests - Manifest requires four part application version.
-
unknown authored
- Give some more protection against "too long socket name by setting the max length when to use a tmpdir for sockets to 70 mysql-test/mysql-test-run.pl: Give some more protection against "too long socket name by setting the max ength when to use a tmpdir for sockets to 70
-
unknown authored
into vajra.(none):/opt/local/work/mysql-5.0-runtime
-
unknown authored
into vajra.(none):/opt/local/work/mysql-5.0-runtime sql/item.cc: Auto merged sql/item_func.cc: Auto merged sql/mysql_priv.h: Auto merged sql/set_var.cc: Auto merged sql/sql_class.h: Auto merged sql/sql_insert.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_prepare.cc: Auto merged sql/sql_yacc.yy: Auto merged
-
unknown authored
into vajra.(none):/opt/local/work/mysql-4.1-runtime
-
- 14 May, 2007 1 commit
-
-
unknown authored
-