- 19 Sep, 2017 15 commits
-
-
Vicențiu Ciorbaru authored
When creating an Item_direct_view_ref we were setting the Name_resolution_context based on TABLE_LIST::view member variable. However, for derived tables this member is NULL. To not set a wrong context, if TABLE_LIST::view is empty, use THD::lex instead.
-
Vicențiu Ciorbaru authored
Window functions can not be used as arguments to aggregate functions, as the aggregation happens before window function computation. Disallow such constructs by returning an error. In order to detect this case a change was needed in the base Item_sum_xxx::fix_fields to propagate the with_window_func flag. Item_func_group_concat requires the same change.
-
Vicențiu Ciorbaru authored
Item_cond did not correctly propagate with_window_func flag in the Item tree. Without it, we would not call Item::split_sum_func correctly and the window function's result_field would remain NULL.
-
Vicențiu Ciorbaru authored
This is backport of 25ad623d for 10.2. The issue is similar to the one from MDEV-13240. Item::save_in_field() returns an error during tmp table population in a create table from select query as we try to save an empty string as a date value when force_return_blank is set to true for window functions. MDEV-13240 Wrong warning with MAX(datetime_field) OVER (...) The problem resided in Item_window_func implementation, and it was revealed by bb-10.2-ext specific changes: Item_window_func::save_in_field() works differently in bb-10.2-ext vs 10.2: - 10.2 goes through val_str() - bb-10.2-ext goes through get_date(), due to Type_handler related changes. get_date() tries to convert empty string to DATETIME, hence the warning. During a discussion with Vicentiu, it was decided to fix Item_window_func::val_xxx() to return NULL (instead of an "empty" value, such as 0 for numbers and '' for strings) when force_return_blank is set.
-
Vicențiu Ciorbaru authored
-
Vicențiu Ciorbaru authored
-
Vicențiu Ciorbaru authored
-
Vicențiu Ciorbaru authored
-
Vicențiu Ciorbaru authored
Revert Bug #25175249 ASSERTION: (TEMPL->IS_VIRTUAL && !FIELD) || (FIELD && FIELD->PREFIX_LEN ? FIELD We don't want this in innodb/xtradb
-
Vicențiu Ciorbaru authored
-
Vicențiu Ciorbaru authored
-
Vicențiu Ciorbaru authored
-
Vicențiu Ciorbaru authored
-
Vicențiu Ciorbaru authored
-
Vicențiu Ciorbaru authored
* CMakeLists.txt erroneous duplicated lines. * Unneded differences in tabjson.cpp * Unneded space differences in jdbconn.{cpp|h}
-
- 18 Sep, 2017 25 commits
-
-
Vicențiu Ciorbaru authored
This is a squashed merge.
-
Vicențiu Ciorbaru authored
-
Vicențiu Ciorbaru authored
-
Vicențiu Ciorbaru authored
-
Vicențiu Ciorbaru authored
-
Vicențiu Ciorbaru authored
-
Guido Günther authored
At least the Debian package reads configuration from there.
-
Jan Lindström authored
Fixes Galera rsync sst on FreeBSD
-
Marko Mäkelä authored
Another fix (work around MDEV-12699): Ensure that the 1234-byte truncated page is all zero, so that after data file extension pads the page with zeroes to full page size, the page will read as a valid one (consisting of zero bytes only).
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
create libmariadbclient.so compatibility symlinks on debian
-
Sergei Golubchik authored
MDEV-13636 ALTER TABLE ... DELAY_KEY_WRITE=1 creates table copy for MyISAM table with DATA DIRECTORY/INDEX DIRECTORY options correct detection of changes in DATA/INDEX DIRECTORY
-
Sergei Golubchik authored
MDEV-13650 Backport fix for MDEV-13060 (crash when both AWS plugin and server_audit are loaded) to 10.1 MDEV-13060 Server Audit Plugin Crashes with AWS KMS plugin don't do auditing if thd is NULL. Collaterals: * copy-paste bugs server_audit.c
-
Sergei Golubchik authored
MDEV-13751 Interrupted SELECT fails with 1030: 'Got error 1 "Operation not permitted" from storage engine MyISAM' quick select returns 1, not proper HA_ERR_xxx error code, so don't send it to handler::print_error().
-
Sergei Golubchik authored
-
Sergei Golubchik authored
avoid CRYPTO_free recursively calling itself on Windows
-
Sergei Golubchik authored
InnoDB was too eager to forget the open table (m_mysql_table=NULL) and that caused it to try to open a table which was opened by the user not FK-prelocked. The server didn't expect that. After fixing this, it crashed in gcol.innodb_virtual_fk test, trying to compute virtual columns for a table that didn't have them. Because row_upd_store_row() was deleting a row from node->table, while computing virtual columns in thr->prebuilt->m_mysql_table. Which wasn't necessarily the same table, and might've not even had virtual columns, even if node->table did.
-
Sergei Golubchik authored
When printing an expression, like a/(b*c), we need to print parentheses, even though / and * have the same precedence. Basically, we should always treat the second argument as having one level higher precedence than it normally is.
-
Sergei Golubchik authored
MDEV-13623 Assertion `!table || (!table->read_set || bitmap_is_set(table->read_set, field_index))' failed in virtual longlong Field_long::val_int multi-update first runs a select to find affected rows, then performs a separate update step. On the second step WITH CHECK OPTION rows are read with rnd_read, but the first step might've been done with keyread. keyread over indexed virtual columns only reads the column's value, not dependent base columns. This is reflected in the read_set too. But on the rnd_read step base columns must be read - thus we need to update the read_set before doing updates.
-
Sergei Golubchik authored
SQL Standard (4.23.3.4 Table check constraints, part 2, SQL:2016) says that CHECK constraint rejects rows *only* if the condition is FALSE. That is, both TRUE and NULL should be allowed.
-
Sergei Golubchik authored
Same as MDEV-12725 but for federated (not X). Set and reset mysql.net->thd appropriately.
-
Sergei Golubchik authored
-
Sergei Golubchik authored
The $result variable was supposed to accumulate failures from all mysqltest processes (that analyzed all error logs in parallel). But it was mistakenly put in the loop, so it was reset for each process.
-
Sergei Golubchik authored
When slow innodb shutdown is requested, thd_destructor_proxy waits for all transactions to end, for trx_sys_any_active_transactions() == 0, and then signals purge threads to exit. But purge threads own THDs, and these THDs may own transactions too. On shutdown they'll be idle (TRX_STATE_NOT_STARTED), though, so let's skip idle transactions in trx_sys_any_active_transactions().
-