- 07 Feb, 2017 1 commit
-
-
Alexander Barkov authored
This patch makes the following changes (according to the task description): - Adds Type_handler::Item_func_round_fix_length_and_dec(). - Splits the code from Item_func_round::fix_length_and_dec() into new Item_func_round methods fix_arg_int(), fix_arg_decimal(), fix_arg_double(). - Calls the new Item_func_round methods from the relevant implementations of Type_handler_xxx::Item_func_round_fix_length_and_dec(). - Adds a new error message ER_ILLEGAL_PARAMETER_DATA_TYPE_FOR_OPERATION - Makes ROUND() return the new error for GEOMETRY Additionally: - Inherits Item_func_round directly from Item_func_numhybrid as it uses nothing from Item_func_num1. - Fixes "MDEV-12000 ROUND(expr,const_expr_returning_NULL) creates DOUBLE(0,0)". Now if args[1] returns NULL, the data type is set to DOUBLE with NOT_FIXED_DEC decimals instead of 0 decimals.
-
- 02 Feb, 2017 2 commits
-
-
Alexander Barkov authored
-
Igor Babaev authored
If a window function with aggregation is over the result set of a grouping query then the argument of the aggregate function from the window function is allowed to be an aggregate function itself.
-
- 01 Feb, 2017 13 commits
-
-
Igor Babaev authored
-
Nirbhay Choubey authored
-
Alexander Barkov authored
This patch also fixes: MDEV-11815 SP variables of temporal data types do not replicate correctly Temporal values are now printed in temporal literal format, with the SQL-standard data type prefix: TIME'10:20:30', DATE'2001-01-01', TIMESTAMP'2001-01-01 10:20:30' Previously temporal values were printed using the text string notation, e.g. _latin1'10:20:30' COLLATE latin1_swedish_ci, hence the bug.
-
Georg Richter authored
A GCM encrypted ciphertext must contain an authentication tag with AES_BLOCK_SIZE length, so we need to check that the length of ciphertext is at least AES_BLOCK_SIZE.
-
Marko Mäkelä authored
Import and adapt the changes from MySQL 5.7.
-
Marko Mäkelä authored
This fixes memory leaks in tests that cause InnoDB startup to fail. buf_pool_free_instance(): Also free buf_pool->flush_rbt, which would normally be freed when crash recovery finishes. fil_node_close_file(), fil_space_free_low(), fil_close_all_files(): Relax some debug assertions to tolerate !srv_was_started. innodb_shutdown(): Renamed from innobase_shutdown_for_mysql(). Changed the return type to void. Do not assume that all subsystems were started. que_init(), que_close(): Remove (empty functions). srv_init(), srv_general_init(): Remove as global functions. srv_free(): Allow srv_sys=NULL. srv_get_active_thread_type(): Only return SRV_PURGE if purge really is running. srv_shutdown_all_bg_threads(): Do not reset srv_start_state. It will be needed by innodb_shutdown(). innobase_start_or_create_for_mysql(): Always call srv_boot() so that innodb_shutdown() can assume that it was called. Make more subsystems dependent on SRV_START_STATE_STAT. srv_shutdown_bg_undo_sources(): Require SRV_START_STATE_STAT. trx_sys_close(): Do not assume purge_sys!=NULL. Do not call buf_dblwr_free(), because the doublewrite buffer can exist while the transaction system does not. logs_empty_and_mark_files_at_shutdown(): Do a faster shutdown if !srv_was_started. recv_sys_close(): Invoke dblwr.pages.clear() which would normally be invoked by buf_dblwr_process(). recv_recovery_from_checkpoint_start(): Always release log_sys->mutex. row_mysql_close(): Allow the subsystem not to exist.
-
Marko Mäkelä authored
Display a NOTE, not a WARNING for non-default page size.
-
Marko Mäkelä authored
The necessary call was inadvertently commented out in a merge of MySQL 5.7.14 to MariaDB 10.2.1 (commit fec844ac).
-
Marko Mäkelä authored
As noted in MDEV-11947, we should disable the InnoDB doublewrite buffer during the tests, because when rewriting page checksums, innochecksum would skip the pages that are in the doublewrite buffer area. Because the doublewrite buffer is emptied on server startup and not shutdown, we should initially start with the doublewrite buffer disabled, so that there will be no warning messages for wrong page checksums in the doublewrite buffer. Also, correct the obvious typo where restart_options should have been $restart_parameters, so that InnoDB is actually verifying that the checksums were rewritten.
-
Igor Babaev authored
Now ROWS is a reserved key word, so cannot be used as an alias name.
-
Igor Babaev authored
This bug happens due to a conflict in the construct window_spec. (win_ref conflicts with the non-reserved key word ROWS). The standard SQL-2003 says that ROWS is a reserved key word. Made this key word reserved in our grammar and removed the conflict.
-
Igor Babaev authored
Now, after the implementation of mdev-8646 "Re-engineer the code for post-join operations" create_sort_index() can be called for subqueries.
-
Alexander Barkov authored
-
- 31 Jan, 2017 4 commits
-
-
Alexander Barkov authored
Adding keywords the following keywords into the "keyword" rules: - EXCLUDE - UNBOUNDED - PRECEDING - FOLLOWING - TIES - OTHERS They are non-reserved words in the SQL standard (checked in a SQL-2011 draft), and they don't cause any conflicts in sql_yacc.yy.
-
Marko Mäkelä authored
Call trx_purge_state() only once, to avoid a race condition if the value changes while the conditions are being evaluated.
-
Marko Mäkelä authored
Also, work around MDEV-11948 by disabling native asynchronous I/O.
-
Marko Mäkelä authored
Remove the debug parameter innodb_force_recovery_crash that was introduced into MySQL 5.6 by me in WL#6494 which allowed InnoDB to resize the redo log on startup. Let innodb.log_file_size actually start up the server, but ensure that the InnoDB storage engine refuses to start up in each of the scenarios.
-
- 30 Jan, 2017 5 commits
-
-
Sergei Golubchik authored
this fixes occasional main.cte_recursive failures
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Sergei Golubchik authored
this fixes the crash in innodb.101_compatibility test
-
Sergei Golubchik authored
on shutdown it might happen that 1. the server starts killing THDs 2. it sets thd->killed in srv_purge_coordinator 3. srv_purge_coordinator notices that and tells srv_workers to exit 4. srv_worker will notice that and will start exiting, ... assert here ... 5. server sets thd->killed in worker threads that is, it might happen that the assert is tested before srv_worker's THD got the kill signal. this fixes various random crashes (on this assertion) on shutdown in tests
-
- 29 Jan, 2017 3 commits
-
-
Sergei Golubchik authored
ninja doesn't like when a dummy target name matches a generated file name
-
Sergei Golubchik authored
fix the check (must be have_ not HAVE_) also remove -O1 and -Wno-error, they aren't not needed for asan
-
Sergei Golubchik authored
also move *.zip files from t/ to std_data/
-
- 28 Jan, 2017 3 commits
-
-
Igor Babaev authored
The temporary tables created for recursive table references should be closed in close_thread_tables(), because they might be used in the statements like ANALYZE WITH r AS (...) SELECT * from r where r is defined through recursion.
-
Sergei Golubchik authored
that failed main.mysqlbinlog
-
Sergei Golubchik authored
1. wait for thd_destructor_proxy thread to start after creating it. this ensures that the thread is ready to receive a shutdown signal whenever we want to send it. 2. join it at shutdown, this guarantees that no innodb THD will exist after innobase_end(). this fixes crashes and memory leaks in main.mysqld_option_err (were innodb was started and then immediately shut down).
-
- 27 Jan, 2017 9 commits
-
-
Marko Mäkelä authored
-
Marko Mäkelä authored
As noted in MDEV-8841, any test that kills the server must issue FLUSH TABLES, so that tables of crash-unsafe storage engines will not be corrupted. Consistently issue this statement after any call mtr.add_suppression() calls. Also, do not invoke shutdown_server directly, but use helpers instead.
-
Jan Lindström authored
Skip test if system can't do trim operation.
-
Marko Mäkelä authored
InnoDB would refuse to start up if there is a mismatch on the size of the system tablespace files. However, before this check is conducted, the system tablespace may already have been heavily modified. InnoDB should perform the size check as early as possible. recv_recovery_from_checkpoint_finish(): Move the recv_apply_hashed_log_recs() call to innobase_start_or_create_for_mysql(). innobase_start_or_create_for_mysql(): Test the mutex functionality before doing anything else. Use a compile_time_assert() for a sizeof() constraint. Check the size of the system tablespace as early as possible.
-
Marko Mäkelä authored
recv_scan_log_recs(): Remember if redo log apply is needed, even if starting up in innodb_read_only mode. recv_recovery_from_checkpoint_start_func(): Refuse innodb_read_only startup if redo log apply is needed.
-
Marko Mäkelä authored
-
Jan Lindström authored
Do wait only if innodb_num_page_compressed_trim_op shows that we have succeed to do at least few trim operations (and that will happen on insert if possible).
-
Jan Lindström authored
Added flush tables to avoid corruption of mtr/test_suppressions table.
-
Jan Lindström authored
-