- 11 Feb, 2012 2 commits
-
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
Protocol documentation (http://forge.mysql.com/wiki/MySQL_Internals_ClientServer_Protocol) says that initial packet sent by client if client wants SSL, consists of client capability flags only (4 bytes or 2 bytes edependent on protocol versionl). Some clients happen to send more in the initial SSL packet (C client, Python connector), while others (Java, .NET) follow the docs and send only client capability flags. A change that broke Java client was a newly introduced check that frst client packet has 32 or more bytes. This is generally wrong, if client capability flags contains CLIENT_SSL. Also, fixed the code such that read max client packet size and charset in the first packet prior to SSL handshake. With SSL, clients do not have to send this info, they can only send client flags. This is now fixed such that max packet size and charset are not read prior to SSL handshake, in case of SSL they are read from the "complete" client authentication packet after SSL initialization.
-
- 23 Jan, 2012 1 commit
-
-
Sergei Golubchik authored
-
- 21 Jan, 2012 1 commit
-
-
Igor Babaev authored
The function subselect_uniquesubquery_engine::copy_ref_key has to take into account that when EXPLAIN is processed the array of store_key object created for any TABLE_REF may contain elements for constant items. These items should be ignored by thefunction.
-
- 12 Jan, 2012 4 commits
-
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
-
Sergei Golubchik authored
1. on windows: don't hang when there's no console, that is, _getch() returns -1. 2. on windows: _getch() returns an int, not char. to distinguish between (char)255 and (int)-1 3. everywhere. isspace(pos[-1]) == ' ' never worked, isspace() returns a boolean, not a char. the never-worked loop was removed to preserve the existing behavior.
-
- 30 Dec, 2011 1 commit
-
-
Sergei Golubchik authored
test added.
-
- 29 Dec, 2011 1 commit
-
-
Sergei Golubchik authored
-
- 14 Jan, 2012 2 commits
-
-
Igor Babaev authored
was actually a duplicate of LP bug #888456 fixed in mariadb-5.2.
-
Igor Babaev authored
Adjusted results for a few test cases.
-
- 13 Jan, 2012 1 commit
-
-
Igor Babaev authored
Completed the fix for this bug. Note: in 5.3 the affected 'if' statement in Item_in_subselect::single_value_transformer() starting with the condition (thd->variables.sql_mode & MODE_ONLY_FULL_GROUP_BY) should be removed altogether. The change from table.cc is not needed either. This is because in 5.3 - min/max transformation for subqueries are done at the optimization phase - evaluation of the expensive subqueries is done at the execution phase. Added an EXPLAIN EXTENDED to the test case for bug #12329653.
-
- 10 Jan, 2012 2 commits
-
-
Vladislav Vaintroub authored
-
Vladislav Vaintroub authored
-
- 08 Jan, 2012 1 commit
-
-
Michael Widenius authored
configure.in: Added testing of STRNDUP (not found on solaris) mysql-test/include/wait_until_connected_again.inc: Also test for error 2005 (can happen on windows) mysql-test/include/wait_until_disconnected.inc: Also test for error 2005 (can happen on windows) mysql-test/suite/innodb_plugin/r/innodb_bug30423.result: Number of rows is not stable (found difference on Solaris) mysql-test/suite/innodb_plugin/t/innodb_bug30423.test: Number of rows is not stable (found difference on Solaris) plugin/auth_pam/auth_pam.c: Use internal strndup if it doesn't exist on system (solaris) Changed code so that it should also compile on solaris.
-
- 07 Jan, 2012 2 commits
-
-
Michael Widenius authored
-
Michael Widenius authored
-
- 05 Jan, 2012 1 commit
-
-
unknown authored
Problem was in caching 'eq_ref' dependency between calls of remove_const() for ORDER BY and GROUP BY lists.
-
- 04 Jan, 2012 1 commit
-
-
Michael Widenius authored
-
- 02 Jan, 2012 1 commit
-
-
Vladislav Vaintroub authored
Fix embedded/windows tests- move COND_manager and LOCK_manager to sql_manager.cc, to prevent race condition that results into accessing already destroyed critical section
-
- 30 Dec, 2011 1 commit
-
-
Igor Babaev authored
The cause of this bug was the same as for bug 902356 fixed for 5.3.
-
- 29 Dec, 2011 2 commits
-
-
Igor Babaev authored
A table expression with a natural join or a USING clause is transformed into an equivalent expression with equi-join ON conditions. If a reference to a virtual column happened to occur only in these generated equi-join conditions then it was not erroneously marked in the TABLE::vcol_set bitmap. This could lead to wrong results for queries containing natural join expressions or USING clauses.
-
Igor Babaev authored
The method Item_sum_num::fix_fields() calculated the value of the flag Item_sum_num::maybe_null in some cases incorrectly.
-
- 28 Dec, 2011 1 commit
-
-
Igor Babaev authored
The MIN/MAX optimization cannot be applied to a subquery if its WHERE clause contains a conjunctive condition depending on an outer reference.
-
- 27 Dec, 2011 1 commit
-
-
Igor Babaev authored
The MIN/MAX optimizer code from the function opt_sum_query erroneously did not take into account conjunctive conditions that did not depend on any table, yet were not identified as constant items. These could be items containing rand() or PS/SP parameters. These items are supposed to be evaluated at the execution phase. That's why if such conditions can be extracted from the WHERE condition the MIN/MAX optimization is not applied as currently it is always done at the optimization phase. (In 5.3 expensive subqueries are also evaluated only at the execution phase. So, if a constant condition with such subquery can be extracted from the WHERE clause the MIN/MAX optimization should not be applied in 5.3.) IF an IN/ALL/SOME predicate with a constant left part is transformed into an EXISTS subquery the resulting subquery should not be considered uncacheable if the right part of the predicate is not uncacheable. Backported the function dbug_print_item() from 5.3. The function is used only for debugging.
-
- 23 Dec, 2011 1 commit
-
-
Vladislav Vaintroub authored
-
- 22 Dec, 2011 2 commits
-
-
Vladislav Vaintroub authored
- dijkstra_shortest_paths() needs a Graph as first parameter, in case of reverse_graph we now need to use its m_g member - use boost::tuples::tie() on all places where tie() was used . Reason - fix the build with Visual Studio 10 SP1 (which includes std:tr1:tie, thus creating ambiguity)
-
Sergei Golubchik authored
-
- 21 Dec, 2011 2 commits
-
-
Michael Widenius authored
sql/sql_parse.cc: Only call ha_maria::implicit_commit if aria is enabled
-
unknown authored
-
- 20 Dec, 2011 1 commit
-
-
Igor Babaev authored
The function st_table::mark_virtual_columns_for_write() did not take into account the fact that for any table the value of st_table::vfield is 0 when there are no virtual columns in the table definition.
-
- 19 Dec, 2011 1 commit
-
-
Igor Babaev authored
If the sorted table belongs to a dependent subquery then the function create_sort_index() should not clear TABLE:: select and TABLE::select for this table after the sort of the table has been performed, because these members are needed for the second execution of the subquery.
-
- 13 Dec, 2011 2 commits
-
-
Michael Widenius authored
Updated version number in configure
-
Michael Widenius authored
mysql-test/suite/maria/r/maria-recovery3.result: Added test case for recovery bug mysql-test/suite/maria/t/maria-recovery3.test: Added test case for recovery bug storage/maria/ha_maria.cc: Don't print query twice to log storage/maria/ma_delete.c: More DBUG_PRINT storage/maria/ma_key_recover.c: Added new asserts to detect errors earlier storage/maria/ma_recovery.c: Update all states when moving a non-transactional file to transactional. This fixes lp:887051
-
- 12 Dec, 2011 3 commits
-
-
Sergei Golubchik authored
-
unknown authored
-
unknown authored
The range optimizer incorrectly chose a loose scan for group by when there is a correlated WHERE condition. This range access method cannot be executed for correlated conditions also with the "range checked for each record" because generally the range access method can change for each outer record. Loose scan destructively changes the query plan and removes the GROUP operation, which will result in wrong query plans if another range access is chosen dynamically.
-
- 11 Dec, 2011 1 commit
-
-
unknown authored
Removed previous patch of this problem.
-
- 08 Dec, 2011 1 commit
-
-
unknown authored
Analysis: The class member QUICK_GROUP_MIN_MAX_SELECT::seen_first_key was not reset between subquery re-executions. Thus each subsequent execution continued from the group that was reached by the previous subquery execution. As a result loose scan reached end of file much earlier, and returned empty result where it shouldn't. Solution: Reset seen_first_key before each re-execution of the loose scan.
-