- 06 Jul, 2017 1 commit
-
-
Monty authored
The problem was that we didn't check on open of sequence if the table is a view, which is not allowed. We are now generating a proper error message for this case.
-
- 05 Jul, 2017 1 commit
-
-
Alexander Barkov authored
-
- 04 Jul, 2017 2 commits
-
-
Alexander Barkov authored
-
Alexander Barkov authored
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.
-
- 03 Jul, 2017 6 commits
-
-
Alexander Barkov authored
1. The "sf_tail" rule had a lot of rules with part markers, e.g: /* $1 */ They make the grammar really hard to read. Removing all these markers. 2. Moving the RETURNS clause into a separate sp_return_type rule, to make sf_tail even more simpler. Note, sp_return_type will be needed soon for packages anyway.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
MDEV-13228 Assertion `n < rec_offs_n_fields(offsets)' failed in rec_get_nth_field_offs upon crash recovery with compressed table In my preparatory patch for MDEV-12288, there was an off-by-one array initialization error that affected debug builds.
-
Marko Mäkelä authored
The POINT data type is being treated just like any other geometry data type in InnoDB. The fixed-length data type DATA_POINT had been introduced in WL#6942 based on a misunderstanding and without appropriate review. Because of fundamental design problems (such as a DEFAULT POINT(0 0) value secretly introduced by InnoDB), the code was disabled in Oracle Bug#20415831 fix. This patch removes the dead code and definitions that were left behind by the Oracle Bug#20415831 patch.
-
Marko Mäkelä authored
-
Alexander Barkov authored
-
- 01 Jul, 2017 6 commits
-
-
Monty authored
-
Monty authored
-
Monty authored
- Removed some not old, not used build scipts - Removed tokudb and rocksdb from 32 bit builds This enables one now to easily build 32 bit binaries on 64 bit systems
-
Monty authored
There was a missing test in CTE handling if creating a temporary table failed (in this case as a result of out of space). This caused a table handler to be used even if it was not allocated.
-
Alexander Barkov authored
-
Marko Mäkelä authored
This is preparation for MDEV-12288, which would set DB_TRX_ID=0 when purging history. Also with that change in place, delete-marked records must always refer to an undo log record via a nonzero DB_TRX_ID column. (The DB_TRX_ID is only present in clustered index leaf page records.) btr_cur_parse_del_mark_set_clust_rec(), rec_get_trx_id(): Statically allocate the offsets (should never use the heap). Add some debug assertions. Replace some use of rec_get_trx_id() with row_get_rec_trx_id(). trx_undo_report_row_operation(): Add some sanity checks that are common for all operations that produce undo log.
-
- 30 Jun, 2017 16 commits
-
-
Jacob Mathew authored
-
Monty authored
-
Monty authored
- Crude hack to get it to work. Hope Serg has a better solution at some point..
-
Monty authored
-
Monty authored
- Added variable tmp_disk_table_size - Added variable tmp_memory_table_size as an alias for tmp_table_size - Changed internal variable tmp_table_size to tmp_memory_table_size - create_info.data_file_length is now set with tmp_disk_table_size - Fixed that Aria doesn't reset max_data_file_length for internal tables - Added status flag if table is full so that we can detect this on next insert. This ensures that the table is always 'correct', but we get the error one row after the row that grow the table too big. - Removed some mutex lock for internal temporary tables
-
Monty authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Vladislav Vaintroub authored
on Windows Align innodb_pool_size up to the innodb_buf_pool_chunk_unit.
-
Alexander Barkov authored
-
Marko Mäkelä authored
The field fts_token->position is not initialized in row_merge_fts_doc_tokenize(). We cannot have that field without changing the fulltext parser plugin ABI (adding st_mysql_ftparser_boolean_info::position, as it was done in MySQL 5.7 in WL#6943). The InnoDB fulltext parser plugins "ngram" and "Mecab" that were introduced in MySQL 5.7 do depend on that field. But the simple_parser does not. Apparently, simple_parser is leaving the field as 0. So, in our fix we will assume that the missing position field is 0.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Marko Mäkelä authored
-
Igor Babaev authored
When an equality that can be pushed into a materialized derived table / view is extracted from multiple equalities and their operands are cloned then if they have some pointers to Item_equal objects those pointers must be set to NULL in the clones. Anyway they are not valid in the pushed predicates.
-
- 29 Jun, 2017 8 commits
-
-
Marko Mäkelä authored
In Mariabackup, we would want the backed-up redo log file size to be a multiple of 512 bytes, or OS_FILE_LOG_BLOCK_SIZE. However, at startup, InnoDB would be picky, requiring the file size to be a multiple of innodb_page_size. Furthermore, InnoDB would require the parameter to be a multiple of one megabyte, while the minimum granularity is 512 bytes. Because the data-file-oriented fil_io() API is being used for writing the InnoDB redo log, writes will for now require innodb_log_file_size to be a multiple of the maximum innodb_page_size (65536 bytes). To complicate matters, InnoDB startup divided srv_log_file_size by UNIV_PAGE_SIZE, so that initially, the unit was bytes, and later it was innodb_page_size. We will simplify this and keep srv_log_file_size in bytes at all times. innobase_log_file_size: Remove. Remove some obsolete checks against overflow on 32-bit systems. srv_log_file_size is always 64 bits, and the maximum size 512GiB in multiples of innodb_page_size always fits in ulint (which is 32 or 64 bits). 512GiB would be 8,388,608*64KiB or 134,217,728*4KiB. log_init(): Remove the parameter file_size that was always passed as srv_log_file_size. log_set_capacity(): Add a parameter for passing the requested file size. srv_log_file_size_requested: Declare static in srv0start.cc. create_log_file(), create_log_files(), innobase_start_or_create_for_mysql(): Invoke fil_node_create() with srv_log_file_size expressed in multiples of innodb_page_size. innobase_start_or_create_for_mysql(): Require the redo log file sizes to be multiples of 512 bytes.
-
Marko Mäkelä authored
Tablespace::shutdown(): Clear m_path. This was moved from Tablespace::~Tablespace(). LatchDebug::shutdown(): Remove a redundant condition.
-
Marko Mäkelä authored
trx_sys_print_mysql_binlog_offset(): Use 64-bit arithmetics and ib::info(). TRX_SYS_MYSQL_LOG_OFFSET: Replaces TRX_SYS_MYSQL_LOG_OFFSET_HIGH, TRX_SYS_MYSQL_LOG_OFFSET_LOW. trx_sys_update_mysql_binlog_offset(): Remove the constant parameter field=TRX_SYS_MYSQL_LOG_INFO. Use 64-bit arithmetics.
-
Marko Mäkelä authored
-
Marko Mäkelä authored
A similar change was contributed to Percona XtraBackup, but for some reason, it is not present in Percona XtraDB. Since MDEV-9566 (MariaDB 10.1.23), that change is present in the MariaDB XtraDB.
-
Marko Mäkelä authored
Change many function parameters from IORequest& to const IORequest&. Remove an unused definition of ECANCELED.
-
Marko Mäkelä authored
recv_sys_init(): Remove the parameter. recv_sys_create(): Merge to recv_sys_init(). recv_sys_mem_free(): Merge to recv_sys_close(). log_mem_free(): Merge to log_shutdown().
-
Marko Mäkelä authored
-