summaryrefslogtreecommitdiff
path: root/sql
Commit message (Collapse)AuthorAgeFilesLines
* Merge bk@192.168.21.1:mysql-4.1unknown2007-03-082-6/+32
|\ | | | | | | | | | | | | into mysql.com:/home/hf/work/mrg/mysql-4.1-opt
| * Bug#25126: Wrongly resolved field leads to a crash.unknown2007-03-042-6/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the ORDER BY clause gets fixed it's allowed to search in the current item_list in order to find aliased fields and expressions. This is ok for a SELECT but wrong for an UPDATE statement. If the ORDER BY clause will contain a non-existing field which is mentioned in the UPDATE set list then the server will crash due to using of non-existing (0x0) field. When an Item_field is getting fixed it's allowed to search item list for aliased expressions and fields only for selects. sql/sql_base.cc: Bug#25126: Wrongly resolved field leads to a crash. When an Item_field is getting fixed it's allowed to search item list for aliased expressions and fields only for selects. sql/sql_select.cc: Bug#25126: Wrongly resolved field leads to a crash. When an Item_field is getting fixed it's allowed to search item list for aliased expressions and fields only for selects. mysql-test/r/update.result: Added a test case for bug#25126: Wrongly resolved field leads to a crash. mysql-test/t/update.test: Added a test case for bug#25126: Wrongly resolved field leads to a crash.
* | Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-4.1-runtimeunknown2007-03-077-28/+82
|\ \ | | | | | | | | | | | | | | | | | | into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg0306/41
| * \ Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-4.1unknown2007-03-077-28/+82
| |\ \ | | | | | | | | | | | | | | | | | | | | | | | | into quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/mrg0306/41
| | * \ Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1-maintunknown2007-03-054-25/+58
| | |\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/ram/work/b26038/b26038.4.1
| | | * | Fix for bug #26038: X() value of empty NOT NULL POINT is neither NULL nor ↵unknown2007-02-214-25/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | NOT NULL Having maybe_null flag unset for geometry/spatial functions leads to wrong Item_func_isnull::val_int()'s results. Fix: set maybe_null flag and add is_null() methods. mysql-test/r/gis.result: Fix for bug #26038: X() value of empty NOT NULL POINT is neither NULL nor NOT NULL - test result. mysql-test/t/gis.test: Fix for bug #26038: X() value of empty NOT NULL POINT is neither NULL nor NOT NULL - test case. sql/item_geofunc.cc: Fix for bug #26038: X() value of empty NOT NULL POINT is neither NULL nor NOT NULL - set maybe_null flag for Item_geometry_func and Item_func_as_wkt. - moved length check to the beginnig of the Item_func_spatial_collection::val_str() to affect geometry collection objects at once. - changed Item_func_isempty::val_int() and Item_func_issimple::val_int() to properly handle null_value. sql/item_geofunc.h: Fix for bug #26038: X() value of empty NOT NULL POINT is neither NULL nor NOT NULL - set maybe_null flag for geometry/spatial functions. - added is_null() to Item_geometry_func and Item_func_spatial_rel classes. sql/spatial.cc: Fix for bug #26038: X() value of empty NOT NULL POINT is neither NULL nor NOT NULL - changed return type of Geometry::create_from_wkb() to be consistent with Geometry::create_from_wkt(), now it returns Geometry object or NULL in case of error. sql/spatial.h: Fix for bug #26038: X() value of empty NOT NULL POINT is neither NULL nor NOT NULL - changed return type of Geometry::create_from_wkb() to be consistent with Geometry::create_from_wkt(), now it returns Geometry object or NULL in case of error.
| | * | | Bug#24878 mysql server doesn't log incident time in "mysqld got signal 11" ↵unknown2007-02-281-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | error messages - Add printout of current time when mysqld is killed by an unhandled signal sql/mysqld.cc: Add printout of current time before the "mysqld got signal %d" message Hopefully we don't crash in the calls to 'time' or 'localtime_r' but if that should start to happen we can move the printout of time further down. At least it's now below the check for segfault inside of segfault handler.
| | * | | Merge neptunus.(none):/home/msvensson/mysql/bug10777/my41-bug10777unknown2007-02-151-1/+2
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint
| | | * | | Bug#10777 ERROR File = sql_lex.cc, Line = 93 The identifier "symbols" is ↵unknown2007-02-071-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | undefined. - Protect againt empty/corrupt lex_hash-h by writing output from gen_lex_hash to a temporary file first. sql/Makefile.am: Protect against empty lex_hash.h due to failed execution of gen_lex_hash by writing outpout to a tmp file first
| | * | | | Merge calliope.local.cmiller:/Volumes/Source/src/mysql-4.1-maint--bug25126unknown2007-02-141-1/+12
| | |\ \ \ \ | | | |_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into calliope.local.cmiller:/Volumes/Source/src/mysql-4.1-maint sql/item.cc: Auto merged mysql-test/r/order_by.result: Manual merge. mysql-test/t/order_by.test: Manual merge.
| | | * | | Bug#25126: Reference to non-existant column in UPDATE...ORDER BY... crashes ↵unknown2007-02-091-1/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | server "update existingtable set anycolumn=nonexisting order by nonexisting" would crash the server. Though we would find the reference to a field, that doesn't mean we can then use it to set some values. It could be a reference to another field. If it is NULL, don't try to use it to set values in the Item_field and instead return an error. Over the previous patch, this signals an error at the location of the error, rather than letting the subsequent deref signal it. mysql-test/r/order_by.result: Verify that all permutations work. mysql-test/t/order_by.test: Verify that all permutations work. sql/item.cc: When the field is NULL, don't dereference it when we set_field(). Instead, raise an error.
* | | | | | Merge weblab.(none):/home/marcsql/TREE/mysql-4.1-baseunknown2007-03-012-1/+25
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into weblab.(none):/home/marcsql/TREE/mysql-4.1-runtime sql/sql_parse.cc: Auto merged
| * | | | | Merge kpdesk.mysql.com:/home/thek/dev/bug23240/my41-bug23240unknown2007-02-191-0/+1
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into kpdesk.mysql.com:/home/thek/dev/mysql-4.1-runtime sql/sql_parse.cc: Auto merged
| | * | | | | Bug#23240 --init-file statements with NOW() reports '1970-01-01 11:00:00'as ↵unknown2007-02-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the date time - Starting time of a query sent by file bootstrapping wasn't initialized and starting time defaulted to 0. This later used value by the Now- item and is translated to 1970-01-01 11:00:00. - marking the time with thd->set_time() before the call to mysql_parse resolves this issue. mysql-test/r/init_file.result: Appended test case mysql-test/std_data/init_file.dat: Appended test case mysql-test/t/init_file.test: Appended test case
| * | | | | | Merge weblab.(none):/home/marcsql/TREE/mysql-4.1unknown2007-02-081-1/+24
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into weblab.(none):/home/marcsql/TREE/mysql-4.1-rtmerge
| | * | | | | | Bug#24562 (ALTER TABLE ... ORDER BY ... with complex expression asserts)unknown2007-01-181-1/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | WL#3681 (ALTER TABLE ORDER BY) Before this fix, the ALTER TABLE statement implemented an ORDER BY option with the following characteristics : 1) The order by clause accepts a list of criteria, with optional ASC or DESC keywords 2) Each criteria can be a general expression, involving operators, native functions, stored functions, user defined functions, subselects ... With this fix : 1) has been left unchanged, since it's a de-facto existing feature, that was already present in the code base and partially covered in the test suite. Code coverage for ASC and DESC was missing and has been improved. 2) has been changed to limit the kind of criteria that are permissible: now only a column name is valid. mysql-test/r/alter_table.result: Prevent ALTER TABLE ORDER BY clauses to use general expressions. mysql-test/t/alter_table.test: Prevent ALTER TABLE ORDER BY clauses to use general expressions. sql/sql_yacc.yy: Prevent ALTER TABLE ORDER BY clauses to use general expressions.
* | | | | | | | Fix for BUG#26050 "LOAD DATA INFILE breaks ACID"; the ok must be sentunknown2007-02-261-1/+3
| |_|_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to the client only after the binlog write and engine commit. No testcase for this bug, as to reproduce it, we need to "kill -9" mysqld, which we cannot do in the testsuite. But, I tested by hand. sql/sql_load.cc: D in ACID means that once the client got the ok from the server, the data is durable on disk. Implies that the ok must be sent after the binlog write and after the engine commit, not before.
* | | | | | | Merge bk-internal.mysql.com:/home/bk/mysql-4.1unknown2007-02-1319-83/+220
|\ \ \ \ \ \ \ | | |_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-4.1-maint sql/item.cc: Auto merged sql/item_cmpfunc.cc: Auto merged sql/item_cmpfunc.h: Auto merged sql/sql_select.cc: Auto merged
| * | | | | | Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-4.1-maintunknown2007-02-122-32/+40
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/tnurnberg/24660/41-24660 sql/table.cc: Auto merged
| | * | | | | | Bug#24660: "enum" field type definition problemunknown2007-02-122-32/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ENUMs weren't allowed to have character 0xff, a perfectly good character in some locales. This was circumvented by mapping 0xff in ENUMs to ',', thereby prevent actual commas from being used. Now if 0xff makes an appearance, we find a character not used in the enum and use that as a separator. If no such character exists, we throw an error. Any solution would have broken some sort of existing behaviour. This solution should serve both fractions (those with 0xff and those with ',' in their enums), but WILL REQUIRE A DUMP/RESTORE CYCLE FROM THOSE WITH 0xff IN THEIR ENUMS. :-/ That is, mysqldump with their current server, and restore when upgrading to one with this patch. mysql-test/r/type_enum.result: Bug#24660: "enum" field type definition problem Show that enums can now contain NAMES_SEP_CHAR (0xff, which is a perfectly respectable char in some locales), or ',', or both. mysql-test/t/type_enum.test: Bug#24660: "enum" field type definition problem Show that enums can now contain NAMES_SEP_CHAR (0xff, which is a perfectly respectable char in some locales), or ',', or both. sql/table.cc: Bug#24660: "enum" field type definition problem Revert fix for Bug#20922. sql/unireg.cc: Bug#24660: "enum" field type definition problem Use a field-separator for ENUM-values that is not part of those values. If impossible, throw error.
| * | | | | | | Merge siva.hindu.god:/home/tsmith/m/bk/41unknown2007-02-0817-51/+180
| |\ \ \ \ \ \ \ | | |_|/ / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into siva.hindu.god:/home/tsmith/m/bk/maint/41 sql/sql_prepare.cc: Manual merge
| | * | | | | | Merge 192.168.0.10:mysql/mysql-4.1-maintunknown2007-02-0616-47/+176
| | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into pilot.mysql.com:/home/msvensson/mysql/mysql-4.1-maint mysys/default.c: Auto merged sql/mysqld.cc: Auto merged sql/sql_prepare.cc: Auto merged
| | | * \ \ \ \ \ Merge bk-internal:/home/bk/mysql-4.1-maintunknown2007-02-061-5/+6
| | | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into pilot.mysql.com:/home/msvensson/mysql/mysql-4.1-maint
| | | | * \ \ \ \ \ Merge 192.168.0.10:mysql/mysql-4.1-maintunknown2007-02-061-5/+6
| | | | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into pilot.mysql.com:/home/msvensson/mysql/mysql-4.1-maint sql/sql_prepare.cc: Auto merged
| | | * | \ \ \ \ \ \ Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1-maintunknown2007-02-061-0/+3
| | | |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/usr/home/ram/work/bug23938/my41-bug23938 sql/item_timefunc.cc: Auto merged
| | | | * | | | | | | | fix for bug #23938: ISNULL on DATE AND CAST AS DATE returns false for null ↵unknown2006-12-041-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | values Set null_value in case of wrong data. mysql-test/r/cast.result: fix for bug #23938: ISNULL on DATE AND CAST AS DATE returns false for null values - test result. mysql-test/t/cast.test: fix for bug #23938: ISNULL on DATE AND CAST AS DATE returns false for null values - test case. sql/item_timefunc.cc: fix for bug #23938: ISNULL on DATE AND CAST AS DATE returns false for null values - set null_value in case of error.
| | | * | | | | | | | | Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1-maintunknown2007-02-051-0/+7
| | | |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/usr/home/ram/work/bug10798/my41-bug10798 sql/slave.cc: Auto merged
| | | | * | | | | | | | | Fix for bug #10798: If relay log fails to rotate, slave will crash afterunknown2006-12-181-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The relay log may not be open for some reason (e.g. disk error) after rotation, and using it causes the slave crash. Fix: check we have it open before access, return error otherwise. sql/slave.cc: Fix for bug #10798: If relay log fails to rotate, slave will crash after - check if the relay log is open before any access.
| | | * | | | | | | | | | Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1-maintunknown2007-02-011-0/+1
| | | |\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/ram/work/b26012/b26012.4.1 sql/field.h: Auto merged
| | | | * | | | | | | | | | Fix for bug #26012: missed Field_double::size_of()unknown2007-02-011-0/+1
| | | | | |_|_|_|_|_|_|/ / | | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As we have Field_double::not_fixed we must have Field_double::size_of(). sql/field.h: Fix for bug #26012: missed Field_double::size_of() - Field_double::size_of() added.
| | | * | | | | | | | | | Merge bk-internal.mysql.com:/home/bk/mysql-4.1-maintunknown2007-01-3114-41/+146
| | | |\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-4.1-maint configure.in: Auto merged mysql-test/mysql-test-run.pl: Auto merged scripts/mysqld_multi.sh: Auto merged sql/mysqld.cc: Auto merged
| | | | * \ \ \ \ \ \ \ \ \ Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1-maintunknown2007-01-318-10/+81
| | | | |\ \ \ \ \ \ \ \ \ \ | | | | | |_|_|_|/ / / / / / | | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/ram/work/b19690/b19690.4.1 sql/mysql_priv.h: Auto merged sql/mysqld.cc: Auto merged
| | | | | * | | | | | | | | fix for bug #19690: ORDER BY eliminates rows from the resultunknown2007-01-318-10/+81
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Depending on the queries we use different data processing methods and can lose some data in case of double (and decimal in 4.1) fields. The fix consists of two parts: 1. double comparison changed, now double a is equal to double b if (a-b) is less than 5*0.1^(1 + max(a->decimals, b->decimals)). For example, if a->decimals==1, b->decimals==2, a==b if (a-b)<0.005 2. if we use a temporary table, store double values there as is to avoid any data conversion (rounding). mysql-test/r/type_float.result: fix for bug #19690: ORDER BY eliminates rows from the result - test result mysql-test/t/type_float.test: fix for bug #19690: ORDER BY eliminates rows from the result - test case sql/field.cc: fix for bug #19690: ORDER BY eliminates rows from the result - use not_fixed flag instead of dec to check bounds. sql/field.h: fix for bug #19690: ORDER BY eliminates rows from the result - Field_Double::not_fixed flag introduced, which is set if dec == NOT_FIXED_DEC and is used in the ::store() to check bounds. - new constructor introduced (with not_fixed_arg parameter). sql/init.cc: fix for bug #19690: ORDER BY eliminates rows from the result - fill log_01[] array with 0.1 powers. sql/item_cmpfunc.cc: fix for bug #19690: ORDER BY eliminates rows from the result - compare_real_fixed() and compare_e_real_fixed() introduced, they consider double a == double b if a-b is less than 'precision', 'precision' is set to 5*0.1^(1 + max(a->decimals, b->decimals)), for example, if a->decimals==1, b->decimals==2, 'precision' is 0.005 - use the above functions if both arguments are fixed. sql/item_cmpfunc.h: fix for bug #19690: ORDER BY eliminates rows from the result - Arg_comparator::presision introduced. - Arg_comparator::compare_real_fixed(), Arg_comparator::compare_e_real_fixed() introduced. sql/mysql_priv.h: fix for bug #19690: ORDER BY eliminates rows from the result - log_01 array of 0.1 powers added. sql/mysqld.cc: fix for bug #19690: ORDER BY eliminates rows from the result - log_01 array of 0.1 powers added. sql/sql_select.cc: fix for bug #19690: ORDER BY eliminates rows from the result - if we create double field in a temporary table, set not_fixed flag (use proper constructor) to avoid data conversion in the Field_double::store(). Otherwise we can lose some data.
| | | | * | | | | | | | | | Merge pilot.mysql.com:/home/msvensson/mysql/bug22943/my41-bug22943unknown2007-01-298-31/+65
| | | | |\ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into pilot.mysql.com:/home/msvensson/mysql/mysql-4.1-maint sql/mysql_priv.h: Auto merged sql/set_var.cc: Auto merged sql/sql_parse.cc: Auto merged
| | | | | * | | | | | | | | | Bug#22943 syscall pruning in libmysqlunknown2007-01-298-31/+65
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Set the timeout values only where needed sql/mysql_priv.h: Add new functions for setting read and write timeout on "net" sql/mysqld.cc: - Move the setting of "read_timeout" to the value of "connect_timeout" to just before 'check_connection' which is the function where we want to use the different timeout - With the new functions to set timeout on "net", there is no need to specifically set the default wait_timeout on windows. sql/net_serv.cc: Add new functions for setting read and write timeout of "net, when server is compiled not to use alarms it will set the write/read timeout directly on connection using 'vio_timeout'(using setsockopt if socket) sql/repl_failsafe.cc: Put unused code within "#if NOT_USED" sql/set_var.cc: Use 'net_set_*_timeout' when adjusting timeout value on the current connection sql/slave.cc: The read timeout used when connecting to master server is set using 'mysql_options' in 'connect_to_master' function sql/sql_parse.cc: - Set read and write timeout values to "connect_timeout" during connect phase - Use "read_timeout" value during sslaccept phase, since this is during connect phase it implies "connect-timeout" - Set read and write timeout value back to default after connect phase - Set "read_timeout" to "wait_timeout" while waiting for client. sql/sql_repl.cc: Set "read_timeout" to "wait_timeout" while ask other mysqld to send file sql-common/client.c: Call 'vio_timeout' to set up the read and write timeout's for the newly created connection. It only need to be done once at connect time. vio/vio.c: Use 'vio_timeout' for setting timeout also on an SSL connection since they both use sockets vio/viossl.c: Remove 'vio_ssl_timeout' function
| | | * | | | | | | | | | | | Merge bk-internal.mysql.com:/home/bk/mysql-4.1unknown2007-01-311-6/+19
| | | |\ \ \ \ \ \ \ \ \ \ \ \ | | | | |/ / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-4.1-maint configure.in: Auto merged mysql-test/r/range.result: Auto merged mysql-test/t/range.test: Auto merged
| | | | * | | | | | | | | | | Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1-maintunknown2007-01-191-6/+19
| | | | |\ \ \ \ \ \ \ \ \ \ \ | | | | | |_|/ / / / / / / / / | | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/usr/home/ram/work/bug22533/my41-bug22533
| | | | | * | | | | | | | | | Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1-maintunknown2007-01-181-6/+19
| | | | | |\ \ \ \ \ \ \ \ \ \ | | | | | | |/ / / / / / / / / | | | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/usr/home/ram/work/bug22533/my41-bug22533 sql/item.cc: Auto merged
| | | | | | * | | | | | | | | Fix for bug #22533: Traditional: Too-long bit value not rejected.unknown2006-12-061-6/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: storing >=8 byte hexadecimal values we don't check data. Fix: check if the data fits the {u}longlong range. mysql-test/r/select.result: Fix for bug #22533: Traditional: Too-long bit value not rejected. - test result. mysql-test/t/range.test: Fix for bug #22533: Traditional: Too-long bit value not rejected. - adjusted. mysql-test/t/select.test: Fix for bug #22533: Traditional: Too-long bit value not rejected. - test case. sql/item.cc: Fix for bug #22533: Traditional: Too-long bit value not rejected. - limit storing value to {U}LONGLONG_MAX in numeric context.
| | * | | | | | | | | | | | | Merge neptunus.(none):/home/msvensson/mysql/my41-nmjunknown2007-02-061-5/+6
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ | | | | |_|_|_|_|_|_|/ / / / / | | | |/| | | | | | | | | | / | | | |_|_|_|_|_|_|_|_|_|_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into neptunus.(none):/home/msvensson/mysql/mysql-4.1-maint sql/sql_prepare.cc: Auto merged
| | | * | | | | | | | | | | Bug#8983 one place that isn't strict-aliasing-safeunknown2007-02-061-5/+6
| | | | |_|_|_|_|_|_|/ / / | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Backport fix from 5.0 sql/sql_prepare.cc: Avoid problems with -no-strict-aliasing in gcc 4.0+
* | | | | | | | | | | | | Merge mysql.com:/home/gluh/MySQL/Merge/4.1unknown2007-02-089-18/+56
|\ \ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into mysql.com:/home/gluh/MySQL/Merge/4.1-opt sql/item_func.cc: Auto merged
| * | | | | | | | | | | | Fixed bug #24987.unknown2007-01-302-13/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Made the function opt_sum_query to return HA_ERR_KEY_NOT_FOUND when no matches were found (instead of -1 it returned prior this patch). This changes allow us to avoid possible conflicts with return values from user-defined handler methods which also may return -1. No particular test cases are provided with this fix. sql/opt_sum.cc: Fixed bug #24987. Made the function opt_sum_query to return HA_ERR_KEY_NOT_FOUND when no matches were found (instead of -1 it returned prior this patch). This changes allow us to avoid possible conflicts with return values from user-defined handler methods which also may return -1. sql/sql_select.cc: Fixed bug #24987. Made the function opt_sum_query to return HA_ERR_KEY_NOT_FOUND when no matches were found (instead of -1 it returned prior this patch). This changes allow us to avoid possible conflicts with return values from user-defined handler methods which also may return -1.
| * | | | | | | | | | | | Fixed bug #24653.unknown2007-01-258-5/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The bug report has demonstrated the following two problems. 1. If an ORDER/GROUP BY list includes a constant expression being optimized away and, at the same time, containing single-row subselects that return more that one row, no error is reported. Strictly speaking the standard allows to ignore error in this case. Yet, now a corresponding fatal error is reported in this case. 2. If a query requires sorting by expressions containing single-row subselects that, however, return more than one row, then the execution of the query may cause a server crash. To fix this some code has been added that blocks execution of a subselect item in case of a fatal error in the method Item_subselect::exec. mysql-test/r/subselect.result: Added a test cases for bug #24653. mysql-test/t/subselect.test: Added a test cases for bug #24653. sql/filesort.cc: Fixed bug #24653. Added a check for fatal error after reading the next row from the table in the function find_all_keys. sql/item.cc: Fixed bug #24653. Down-ported calculation of the attribute with_subselect of for Item objects. sql/item.h: Fixed bug #24653. Down-ported calculation of the attribute with_subselect of for Item objects. sql/item_cmpfunc.cc: Fixed bug #24653. Down-ported calculation of the attribute with_subselect of for Item objects. sql/item_cmpfunc.h: Fixed bug #24653. Down-ported calculation of the attribute with_subselect of for Item objects. sql/item_func.cc: Fixed bug #24653. Down-ported calculation of the attribute with_subselect of for Item objects. sql/item_subselect.cc: Fixed bug #24653. Added a check for fatal error in the method Item_subselect::exec to block evaluation of subselects in erroneous situations. Down-ported calculation of the attribute with_subselect of for Item objects. sql/sql_select.cc: Fixed bug #24653. Added a check to verify that any constant expression used in ORDER BY and/or GROUP BY lists which is optimized away does not contain subselects returning more than one row. If it does a fatal error is reported.
* | | | | | | | | | | | | Test and bug fixes and removed unneccessary files.unknown2007-02-051-1/+2
| |/ / / / / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | mysys/my_getopt.c: Fixes problem with getting output lines from my_getopt in random places in tests. sql/sql_prepare.cc: Fixes problem with failing mysql_client_test on some machines. This is actually a problem with prepared statements.
* | | | | | | | | | | | Merge bk-internal.mysql.com:/home/bk/mysql-4.1unknown2007-02-023-0/+18
|\ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into chilla.local:/home/mydev/mysql-4.1-axmrg
| * | | | | | | | | | | | another valgrind error fix for 4.1(backport from 5.0)unknown2007-02-023-0/+18
| | | | | | | | | | | | |
* | | | | | | | | | | | | After merge fixunknown2007-02-021-0/+4
| | | | | | | | | | | | |
* | | | | | | | | | | | | Merge bk-internal.mysql.com:/home/bk/mysql-4.1unknown2007-02-012-0/+7
|\ \ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | into chilla.local:/home/mydev/mysql-4.1-axmrg mysql-test/r/symlink.result: Auto merged mysql-test/t/symlink.test: Auto merged sql/mysqld.cc: Auto merged
| * | | | | | | | | | | | Valgrind error fixesunknown2007-02-012-0/+7
| | |_|/ / / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Notes: This patch doesn't fix all issues in the tree and we need jani's fix for that This patch shoud not be merged into 5.0 mysql-test/r/ps.result: result fix mysql-test/r/symlink.result: result fix mysql-test/t/ps.test: test is moved to 'symlink' test mysql-test/t/symlink.test: test from 'ps' test sql/field_conv.cc: valgrind error fix: backport from 5.0 sql/mysqld.cc: release of ssl_context vio/viosslfactories.c: release of ssl_context mysql-test/valgrind.supp: New BitKeeper file ``mysql-test/valgrind.supp'' This file is backported from 5.0, added suppressing of OpenSSL errors