Commit graph

76788 commits

Author SHA1 Message Date
Alexey Botchkov
ef737284b4 MDEV-4295 Server crashes in get_point on a query with Area, AsBinary, MultiPoint.
Need to check if the number of points is 0 for the polygon.
2013-03-19 17:25:58 +04:00
Alexey Botchkov
15a7335d77 MDEV-4296 Assertion `n_linear_rings > 0' fails in Gis_polygon::centroid_xy.
Forgotten DBUG_ASSERT should be replaced with the 'return error'.
2013-03-19 17:16:10 +04:00
unknown
2cd7cf8fe6 MDEV-4269 fix.
Item_default_value inherited form Item_field so should create temporary table field similary.
2013-03-18 15:07:52 +02:00
Alexey Botchkov
589247ae86 MDEV-4252 geometry query crashes server.
Additional fixes for possible overflows in length-related
    calculations in 'spatial' implementations.
    Checks added to the ::get_data_size() methods.
    max_n_points decreased to occupy less 2G size. An
    object of that size is practically inoperable anyway.
2013-03-18 17:58:00 +04:00
Sergei Golubchik
a4a18e0cbb MDEV-4289 Assertion `0' fails in make_sortkey with GROUP_CONCAT, MAKE_SET, GROUP BY
Item_func_make_set wasn't taking into account the first argument when
calculating maybe_null.

sql/item_strfunc.cc:
  rewrite Item_func_make_set, removing separate storage of the first argument
sql/item_strfunc.h:
  rewrite Item_func_make_set, removing separate storage of the first argument
2013-03-18 10:35:03 +01:00
Sergei Golubchik
8f607aae12 MDEV-4283 Assertion `scale <= precision' fails in strings/decimal.c
with decimals=NOT_FIXED_DEC it is possible to have 'decimals' larger
than 'max_length', it's not an error for temporal functions.
  
But when Item_func_numhybrid converts the value to DECIMAL_RESULT,
it must limit 'decimals' to be a valid scale of a decimal number.
2013-03-18 08:44:24 +01:00
Sergei Golubchik
3827d70a0e MDEV-4286 Server crashes in Protocol_text::store, stack smashing detected
AVG() returns a double, its max_length is reasonably
limited by a double number length, even if the argument
is many Kbytes long.
2013-03-17 17:44:15 +01:00
Sergei Golubchik
495fd27c0e MDEV-4284 Assertion `cmp_items[(uint)cmp_type]' fails in sql/item_cmpfunc.cc
Flip the switch and create Item_cache based on the argument's cmp_type, not argument's result_type().
Fix subselect_engine to calculate cmp_type correctly

sql/item_subselect.h:
  mdev:4284
2013-03-17 11:41:25 +01:00
Sergei Golubchik
019f7425b7 MDEV-4281 Assertion `maybe_null && item->null_value' fails in make_sortkey on CASE with different return types, GROUP_CONCAT, GROUP BY
Fix Item::get_date() to mark the item NULL when returning an error.
2013-03-17 07:41:22 +01:00
unknown
ecd4bf62d4 MDEV-4272 fix.
Incorrect NULL value handling in Item_func_conv_charset fixed.
2013-03-14 19:07:20 +02:00
Michael Widenius
de5d2550af OPTION is now a valid identifier (not a reserved word)
mysql-test/r/keywords.result:
  Test that option works as table/column/variable
mysql-test/suite/funcs_1/r/storedproc.result:
  OPTION is now a valid identifier
mysql-test/suite/funcs_1/t/storedproc.test:
  OPTION is now a valid identifier
mysql-test/t/keywords.test:
  Test that option works as table/column/variable
sql/sql_yacc.yy:
  OPTION is now a valid identifier
2013-03-14 18:39:22 +02:00
Elena Stepanova
b0f5c4dbe1 MDEV-4214 : main.partition_rename_longfilename fails on eCryptFS
Adding an include file which checks whether long names are supported
2013-03-14 16:52:20 +04:00
Sergei Golubchik
372bc22bfa MDEV-4265 5.5 is slower than 5.3 because of many str_to_datetime calls
get_datetime_value() should not double-cache its own Item_cache_temporal items,
but it *should* cache other Item_cache items, such as Item_cache_str.

sql/item.h:
  shortcut, to avoid going through the switch in Item::cmp_type()
sql/item_cmpfunc.cc:
  even if the item is Item_cache_str - it still needs to be converted and cached.
sql/item_timefunc.h:
  all descendants of Item_temporal_func always have cmp_type==TIME_RESULT.
  Even Item_date_add_interval, that might have field_type == MYSQL_TYPE_STRING.
2013-03-13 22:33:52 +01:00
Sergei Golubchik
d24c8d9af1 fix innodb failures on solaris 2013-03-11 21:00:08 +01:00
Vladislav Vaintroub
dad1c7a45a Fix clang warning (suggest parentheses) 2013-03-12 21:06:46 +01:00
Vladislav Vaintroub
81542bde3d MDEV-4267 : do not copy sql_yacc.cc and sql_yacc.h from unpacked source tarball into build directory, if usable bison is installed on the build machine.
This is done in order to avoid possibly stale bison output files in the build directory.
2013-03-12 20:11:05 +01:00
Vladislav Vaintroub
2ede76c1d7 MDEV-4224 : func_math test fails, when clang 3.0 compiler is used.
The reason for the problem was  negation of signed longlong value  LONGLON
G_MIN in  Item_func_neg::int_op() - the result of this operation is not defined
(in C/C++ standard).

With this patch, LONGLONG_MIN is handled as special value, and negation is
avoided.
2013-03-12 20:09:49 +01:00
Alexey Botchkov
511b943263 MDEV-4252 geometry query crashes server.
The bug was found by Alyssa Milburn.
      If the number of points of a geometry feature read from
      binary representation is greater than 0x10000000, then
      the (uint32) (num_points * 16) will cut the higher byte,
      which leads to various errors.
      Fixed by additional check if (num_points > max_n_points).
2013-03-10 23:08:05 +04:00
Igor Babaev
926b0f54c9 Fixed bug mdev-4250.
This is a bug in the legacy code. It did not manifest itself because
it was masked by other bugs that were fixed by the patches for
mdev-4172 and mdev-4177.
2013-03-08 00:25:26 -08:00
Vladislav Vaintroub
888db0ec09 Fix typo (clang issued warning that =+ was used where += was intended) 2013-03-06 22:22:24 +01:00
unknown
108a0a1823 MDEV-4241 fix.
Field_enum incorrectly inherited decimals() from Field_string.
Field_enum should be always integer in numeric context.
2013-03-06 21:10:58 +02:00
Vladislav Vaintroub
806e6cda27 MDEV-4249 : when autodetecting default client charset on Windows, fallback to GetACP() whenever GetConsoleCP() returns 0 (i.e appkication does not have a console , which is the case for GUI apps, Windows services etc) 2013-03-06 13:30:40 +01:00
Alexander Barkov
421c885446 The i386 specific code improving character set conversion on the ASCII range
was not enabled on x86_64 machines. Enabling it. Gives up to 18 times
conversion performance improvement.

modified:
  sql/sql_string.cc
2013-03-11 13:50:17 +04:00
Sergei Golubchik
8dad7dfa6a 5.3->5.5 merge 2013-03-10 12:46:56 +01:00
Sergei Golubchik
9d8ee74b38 MDEV-4186 Test case main.myisampack fails on ppc32 (only)
fix the declaration to use the correct type for st_handler_check_param::sort_buffer_length.
remove redundant casts.
2013-03-08 19:09:45 +01:00
Sergei Golubchik
8f1b1ab5b0 MDEV-4175 auth_socket to build on OpenBSD / Bitrig 2013-03-08 19:09:15 +01:00
Sergei Golubchik
0d9a6d52d7 merge with XtraDB as of Percona-Server-5.5.30-rel30.1 2013-03-08 19:08:45 +01:00
Sergei Golubchik
086b54c281 Percona-Server-5.5.30-rel30.1.tar.gz 2013-03-08 13:13:46 +01:00
Sergei Golubchik
e4e5c9fd14 hack in dependencies to imitate mysql-*.rpm even better 2013-03-06 09:38:08 +01:00
Sergei Golubchik
3bfd88d1d6 MDEV-4068 rpm scriptlet chown command dangerous
add --mysqld option to my_print_defaults
change server-postin script to use that
2013-03-06 09:32:13 +01:00
Sergei Golubchik
62b9be6542 MDEV-4066 semisync_master + temporary tables causes memory leaks
close (and auto-drop) temporary tables before
rolling back the last transaction in the connection.
2013-03-05 17:49:37 +01:00
Alexey Botchkov
7fb55ee807 TODO-424 geometry query crashes server.
The bug was found by Alyssa Milburn.
        If the number of points of a geometry feature read from
        binary representation is greater than 0x10000000, then
        the (uint32) (num_points * 16) will cut the higher byte,
        which leads to various errors.
        Fixed by additional check if (num_points > max_n_points).
2013-03-06 01:45:25 +04:00
Michael Widenius
ab1c228836 Fix for assert found by mysql-test-run
sql/sql_table.cc:
  Don't call allow_access_to_protected_table() if we haven't protected table against usage.
  Table is mainly protected against usage when one disables keys with alter table.
2013-03-05 20:15:36 +02:00
Michael Widenius
e2a72fefb4 Fixed issue with LOCK TABLE + ALTER TABLE ENABLE KEYS + SHOW commands.
sql/sql_table.cc:
  Remove version protection from share when repair has been done.
  Without this one can't run SHOW commands on the table if it was locked until it's unlocked.
sql/table.h:
  Allow one to remove version protection with allow_access_to_protected_table()
2013-03-05 00:53:18 +02:00
unknown
9b993fda63 Fix wrong install location for DEB supportfiles. 2013-03-04 12:49:35 +01:00
Igor Babaev
fe6c8d4238 Merge 2013-03-02 14:04:11 -08:00
Igor Babaev
bd305d6b21 Fixed bug mdev-4220.
This bug is a regression bug. The regression was introduced by
the patch for mdev-3851, that tried to weaken the condition when
a ref access with an extended key can be converted to an eq_ref
access. The patch incorrectly formed this condition. As a result,
while improving performance for some queries, the patch caused 
worse performance for another queries.
2013-03-02 12:36:32 -08:00
Vladislav Vaintroub
6c4f41ff32 MDEV-4216 : export additional functions mysql_get_timeout_value(),mysql_get_timeout_value_ms(), mysql_get_socket() from shared client library. They are documented as part of async API.
Also, remove  functions mysql_close_slow_part_start() and mysql_close_slow_part_cont() from exports - they are not documented anywhere.
2013-03-01 20:58:19 +01:00
Daniel Bartholomew
7f47237fb6 Removed the obsolete instructions from the MySQL 5.1 manual. Instead provide a link to https://kb.askmonty.org/en/compiling-mariadb-from-source/ 2013-03-01 11:36:15 -05:00
Michael Widenius
4cace76d4d Automatic merge 2013-03-01 18:09:06 +02:00
Michael Widenius
8ed283d882 Fixed bug MPDEV-628 / LP:989055 - Querying myisam table metadata may corrupt the table.
The issue was that there was that SHOW commands could open the table in the store engine, even in cases
where it should not be allowed to do that (ie, the storage engines meta data for that table was under big changes).

The cases where this should not be allowed are:
- ALTER TABLE DISABLE KEYS
- ALTER TABLE ENABLE KEYS
- REPAIR TABLE
- OPTIMIZE TABLE
- DROP TABLE

This patch adds a new mode, protected_against_usage(). If this is used then the SHOW command will wait until the table
is accessable. This is implemented by re-using the already exising 'version' flag for TABLE_SHARE.
It also added functions to be used to change TABLE_SHARE->version instead of changing it directly.
	


mysql-test/r/myisam-metadata.result:
  Added test case
mysql-test/t/myisam-metadata.test:
  Added test case
sql/mysqld.cc:
  Start from refresh_version 2 as 0 and 1 are reserved.
sql/sql_admin.cc:
  Added MYSQL_OPEN_FOR_REPAIR
  Updated call to wait_while_table_is_used()
sql/sql_base.cc:
  Updated call to wait_while_table_is_used()
  - Allow one to specify how the table should be removed (for all commands except show or for all commands).
  - Don't allow one to reopen the table if one has called share->protect_against_usage()
sql/sql_base.h:
  Added TDC_RT_REMOVE_NOT_OWN_AND_MARK_NOT_USABLE, which is used to mark that no one can reopen this table, except with MYSQL_OPEN_FOR_REPAIR .
  - Added MYSQL_OPEN_FOR_REPAIR
  - Updated prototype for wait_while_table_is_used()
sql/sql_table.cc:
  Updated call to wait_while_table_is_used()
  Use MYSQL_OPEN_FOR_REPAIR for open tables that where repaired.
sql/sql_truncate.cc:
  Updated call to wait_while_table_is_used()
sql/table.cc:
  Use set_refresh_version()
sql/table.h:
  Added functions to be used to change TABLE_SHARE->version instead of changing it directly
2013-03-01 18:01:44 +02:00
unknown
492c3b09d2 Fix compile error when building with DBUG, but without DEBUG_SYNC. 2013-03-01 14:58:19 +01:00
Sergey Petrunya
1a998ee239 Merge 5.3->5.5 2013-03-01 11:44:10 +04:00
Sergey Petrunya
4ad2fd7cdf Fix compile error on windows in fix for mdev-4177. 2013-03-01 08:23:35 +04:00
Igor Babaev
8fb2919e1d Merge 2013-02-28 17:09:56 -08:00
Sergei Golubchik
9d72bbf84c merge with XtraDB as of Percona-Server-5.5.29-rel30.0 2013-02-28 23:56:17 +01:00
Igor Babaev
90c0f3d3ab Fixed bug mdev-4209
Do not include BLOB fields into the key to access the temporary
table created for a materialized view/derived table.
BLOB components are not allowed in keys.
2013-02-28 14:35:46 -08:00
Sergei Golubchik
213f1c76a0 5.3->5.5 merge 2013-02-28 22:47:29 +01:00
Sergei Golubchik
a9f12c27c3 Percona-Server-5.5.29-rel30.0.tar.gz 2013-02-28 22:23:45 +01:00
Sergei Golubchik
c4341d5095 5.2 -> 5.3 2013-02-28 21:48:47 +01:00