- 22 Jun, 2016 4 commits
-
-
Monty authored
MDEV-10219 rpl.rpl_parallel_temptable failed in buildbot: Assertion `!table || !table->in_use || table->in_use == _current_thd()' failed Problem was that table->in_use was not properly set when dropping a temporary for the slave.
-
Monty authored
-
Monty authored
Decimals with float, double and decimal now works the following way: - DECIMAL_NOT_SPECIFIED is used when declaring DECIMALS without a firm number of decimals. It's only used in asserts and my_decimal_int_part. - FLOATING_POINT_DECIMALS (31) is used to mark that a FLOAT or DOUBLE was defined without decimals. This is regarded as a floating point value. - Max decimals allowed for FLOAT and DOUBLE is FLOATING_POINT_DECIMALS-1 - Clients assumes that float and double with decimals >= NOT_FIXED_DEC are floating point values (no decimals) - In the .frm decimals=FLOATING_POINT_DECIMALS are used to define floating point for float and double (31, like before) To ensure compatibility with old clients we do: - When storing float and double, we change NOT_FIXED_DEC to FLOATING_POINT_DECIMALS. - When creating fields from .frm we change for float and double FLOATING_POINT_DEC to NOT_FIXED_DEC - When sending definition for a float/decimal field without decimals to the client as part of a result set we convert NOT_FIXED_DEC to FLOATING_POINT_DECIMALS. - variance() and std() has changed to limit the decimals to FLOATING_POINT_DECIMALS -1 to not get the double converted floating point. (This was to preserve compatiblity) - FLOAT and DOUBLE still have 30 as max number of decimals. Bugs fixed: variance() printed more decimals than we support for double values. New behaviour: - Strings now have 38 decimals instead of 30 when converted to decimal - CREATE ... SELECT with a decimal with > 30 decimals will create a column with a smaller range than before as we are trying to preserve the number of decimals. Other changes - We are now using the obsolete bit FIELDFLAG_LEFT_FULLSCREEN to specify decimals > 31 - NOT_FIXED_DEC is now declared in one place - For clients, NOT_FIXED_DEC is always 31 (to ensure compatibility). On the server NOT_FIXED_DEC is DECIMAL_NOT_SPECIFIED (39) - AUTO_SEC_PART_DIGITS is taken from DECIMAL_NOT_SPECIFIED - DOUBLE conversion functions are now using DECIMAL_NOT_SPECIFIED instead of NOT_FIXED_DEC
-
Monty authored
Added my_global.h to PerconeFT to avoid "error <my_config.h> MUST be included first"
-
- 19 Jun, 2016 1 commit
-
-
Elena Stepanova authored
Some rdiff files in storage_engine test suite need to be updated accordingly
-
- 14 Jun, 2016 1 commit
-
-
Sergey Vojtovich authored
General spell fixing in comments and strings
-
- 13 Jun, 2016 2 commits
-
-
Sergei Golubchik authored
MDEV-10098 main.create_delayed fails with ps-protocol: assertion `global_status_var.global_memory_used >= 0' failed Remove the assert. We cannot verify that global_memory_used value is valid (>=0) because some of updates are cached in individual THD's (e.g. THD1 can have +300 cached, while the other THD2 can have -300 cached. If the second THD exists before the first one, global_memory_used will be -300 temporarily). Instead add the assert just before the exit, when all THDs been already destroyed.
-
Sergei Golubchik authored
always update global_status_var.global_memory_used through update_global_memory_status()
-
- 10 Jun, 2016 6 commits
-
-
Nirbhay Choubey authored
Since a query can now refer to the same temporary table multiple times, find_dup_table()/find_table_in_list() have been updated to also consider this new possibility.
-
Nirbhay Choubey authored
Temporary table being created by outer statement should not be visible to inner statement. And if inner statement creates a table with same name. The whole statement should fail with ER_TABLE_EXISTS_ERROR. Implemented by temporarily de-linking the TABLE_SHARE being created by outer statement so that it remains hidden to the inner statement.
-
Nirbhay Choubey authored
mysqld maintains a list of TABLE objects for all temporary tables created within a session in THD. Here each table is represented by a TABLE object. A query referencing a particular temporary table for more than once, however, failed with ER_CANT_REOPEN_TABLE error because a TABLE_SHARE was allocate together with the TABLE, so temporary tables always had only one TABLE per TABLE_SHARE. This patch lift this restriction by separating TABLE and TABLE_SHARE objects and storing TABLE_SHAREs for temporary tables in a list in THD, and TABLEs in a list within their respective TABLE_SHAREs.
-
Nirbhay Choubey authored
Add generic temporary table related tests.
-
Nirbhay Choubey authored
-
Sergey Vojtovich authored
- unused TABLE_SHARE::deleting and TABLE_LIST::deleting flags were removed - kill_delayed_threads_for_table() and intern_close_table() are now private methods of table cache - removed free_share flag of closefrm(): it was never used for temporary tables and was rarely useful for regular tables
-
- 08 Jun, 2016 3 commits
-
-
Sergei Golubchik authored
make INFORMATION_SCHEMA.PROCESSLIST.MEMORY_USED bigint
-
Sergei Golubchik authored
MDEV-10180 main.events_restart fails on valgrind builder: void THD::inc_thread_count(): Assertion `!abort_loop' failed. remove an overly strong assert
-
Otto Kekäläinen authored
-
- 07 Jun, 2016 2 commits
-
-
Sergey Vojtovich authored
Replaced hard-coded cache line size. Changes based on Daniel Black's work.
-
Alexey Kopytov authored
Bug #79636: CACHE_LINE_SIZE should be 128 on AArch64 Bug #79637: Hard-coded cache line size Bug #79638: Reconcile CACHE_LINE_SIZE with CPU_LEVEL1_DCACHE_LINESIZE Bug #79652: Suspicious padding in srv_conc_t - changed CPU_LEVEL1_DCACHE_LINESIZE to default to 128 bytes on POWER and AArch64 architectures in cases when no value could be detected by CMake using getconf - changed CACHE_LINE_SIZE definition in ut0counter.h to be an alias of CPU_LEVEL1_DCACHE_LINESIZE - changed a number of hard-coded 64-byte cache line size values in the InnoDB code - fixed insufficient padding for srv_conc members in srv0conc.cc Ported to Mariadb by Daniel Black <daniel.black@au.ibm.com> Added s390 cache size of 256 at same time.
-
- 05 Jun, 2016 1 commit
-
-
Sergei Golubchik authored
-
- 04 Jun, 2016 8 commits
-
-
Sergei Golubchik authored
that fixes many rpl tests failures
-
Sergei Golubchik authored
move thread_count handling into THD: * increment thread_count in THD constructor * decrement thread_count in THD destructor * never modify thread_count directly!
-
Sergei Golubchik authored
because thread_count means just that: number of THDs and shutdown code looks at it to know when to free shared data structures that THD uses. This fixes random crashes in ~THD on shutdown
-
Sergei Golubchik authored
it's always assert_<statement>, not <do something>_if_<condition>
-
Sergei Golubchik authored
between net_end() and ha_close_connection() this fixes lockups in main.locked_temporary-5955 and some other innodb tests.
-
Sergei Golubchik authored
this also fixes tokudb.type_year failure (in ./mtr tokudb.type_timestamp tokudb.type_year)
-
Sergei Golubchik authored
according to the standard, the gtrid/bqual pair must be "globally unique", so XIDs are equal if their gtrids and bquals are identical, formatID simply tells how gtrid/bqual were generated. But if formatID == -1 (it means "null") gtrid/bqual don't have any value at all. This fixes main.xa_sync failure in ./mtr main.quary_cache_debug main.xa_sync
-
Monty authored
- To ensure that mallocs are marked for the correct THD, even if it's allocated in another thread, I added the thread_id to the THD constructor - Added st_my_thread_var to thr_lock_info_init() to avoid a call to my_thread_var - Moved things from THD::THD() to THD::init() - Moved some things to THD::cleanup() - Added THD::free_connection() and THD::reset_for_reuse() - Added THD to CONNECT::create_thd() - Added THD::thread_dbug_id and st_my_thread_var->dbug_id. These are needed to ensure that we have a constant thread_id used for debugging with a THD, even if it changes thread_id (=connection_id) - Set variables.pseudo_thread_id in constructor. Removed not needed sets.
-
- 02 Jun, 2016 3 commits
-
-
Jan Lindström authored
MDEV-10168 - Remove btr_search_n_succ and btr_search_n_hash_fail counters
-
Daniel Black authored
-
Alexander Barkov authored
-
- 01 Jun, 2016 9 commits
-
-
Vladislav Vaintroub authored
for running obsolete versions of Windows
-
Vladislav Vaintroub authored
-
Nirbhay Choubey authored
- Fix build failure when built without wsrep (Win) - Update the expected warning in sys_vars.wsrep_start_position
-
Sergey Vojtovich authored
As a side effect tc_remove_all_unused_tables() has to call tc_wait_for_mdl_deadlock_detector() once per TABLE object now, while it called it only once before. This should be acceptable since actual wait will still be performed only once. It only adds redundant checks for all_tables_refs.
-
Sergey Vojtovich authored
This is mostly needed to hide all references to free_tables, so that further implementation of multi-instance list can be done completely inside table_cache.cc
-
Sergey Vojtovich authored
-
Alexander Barkov authored
-
Alexander Barkov authored
Allowing GROUP_CONCAT(... ORDER BY ..) in queries with ROLLUP. The story of the related code: 1. The original patch from Wax commit: 0b505fb4 date: Tue Mar 18 03:07:40 2003 opt_gorder_clause reused the regular order_clause, which already had some protection against ROLLUP queries: order_clause: ORDER_SYM BY { LEX *lex=Lex; if (lex->current_select->linkage != GLOBAL_OPTIONS_TYPE && lex->current_select->select_lex()->olap != UNSPECIFIED_OLAP_TYPE) { net_printf(lex->thd, ER_WRONG_USAGE, "CUBE/ROLLUP", "ORDER BY"); YYABORT; } } order_list; The assumption that ORDER BY in group_concat() had to have the same ROLLUP restriction (with order_clause) was wrong. Moreover, GROUP_CONCAT() in select_item_list was not affected by this restriction, because WITH ROLLUP goes after select_item_list and therefore sel->olap is always equal to UNSPECIFIED_OLAP_TYPE during select_item_list. GROUP BY was not affected for two reasons: - it goes before WITH ROLLUP and sel->olap is still UNSPECIFIED_OLAP_TYPE - Aggregate functions like AVG(), GROUP_CONCAT() in GROUP BY are not allowed So only GROUP_CONCAT() in HAVING and ORDER BY clauses were erroneously affected by this restriction. 2. Bug#27848 rollup in union part causes error with order of union commit: 3f6073ae Author: unknown <igor@olga.mysql.com> 2007-12-15 01:42:46 The condition in the ROLLUP protection code became more complex. Note, opt_gconcat_order still reused the regular order_clause. 3. Bug#16347426 ASSERTION FAILED: (SELECT_INSERT && !TABLES->NEXT_NAME_RESOLUTION_TABLE) || !TAB commit: 2d836633 author: Chaithra Gopalareddy <chaithra.gopalareddy@oracle.com> date: 2013-04-14 06:00:49 opt_gorder_clause was refactored not to use order_clause and to collect information directly to select->gorder_list. The ROLLUP protection code was duplicated from order_clause to the new version of opt_gorder_clause.
-
Nirbhay Choubey authored
- Validate the specified wsrep_start_position value by also checking the return status of wsrep->sst_received. This also ensures that changes in wsrep_start_position is not allowed when the node is not in JOINING state. - Do not allow decrease in seqno within same UUID. - The initial checkpoint in SEs should be [0...:-1].
-