An error occurred fetching the project authors.
- 20 Mar, 2007 1 commit
-
-
gkodinov/kgeorge@macbook.local authored
To correctly decide which predicates can be evaluated with a given table the optimizer must know the exact set of tables that a predicate depends on. If that mask is too wide (refer to non-existing tables) the optimizer can erroneously skip a predicate. One such case of wrong table usage mask were the aggregate functions. The have a all-1 mask (meaning depend on all tables, including non-existent ones). Fixed by making a real used_tables mask for the aggregates. The mask is constructed in the following way : 1. OR the table dependency masks of all the arguments of the aggregate. 2. If all the arguments of the function are from the local name resolution context and it is evaluated in the same name resolution context where it is referenced all the tables from that name resolution context are OR-ed to the dependency mask. This is to denote that an aggregate function depends on the number of rows it processes. 3. Handle correctly the case of an aggregate function optimization (such that the aggregate function can be pre-calculated and made a constant). Made sure that an aggregate function is never a constant (unless subject of a specific optimization and pre-calculation). One other flaw was revealed and fixed in the process : references were not calling the recalculation method for used_tables of their targets.
-
- 31 Dec, 2006 1 commit
-
-
kent@mysql.com/kent-amd64.(none) authored
Corrected spelling in copyright text Makefile.am: Don't update the files from BitKeeper Many files: Removed "MySQL Finland AB & TCX DataKonsult AB" from copyright header Adjusted year(s) in copyright header Many files: Added GPL copyright text Removed files: Docs/Support/colspec-fix.pl Docs/Support/docbook-fixup.pl Docs/Support/docbook-prefix.pl Docs/Support/docbook-split Docs/Support/make-docbook Docs/Support/make-makefile Docs/Support/test-make-manual Docs/Support/test-make-manual-de Docs/Support/xwf
-
- 23 Dec, 2006 1 commit
-
-
kent@mysql.com/kent-amd64.(none) authored
Changed header to GPL version 2 only
-
- 22 Dec, 2006 1 commit
-
-
cmiller@zippy.cornsilk.net authored
When only one row was present, the subtraction of nearly the same number resulted in catastropic cancellation, introducing an error in the VARIANCE calculation near 1e-15. That was sqrt()ed to get STDDEV, the error was escallated to near 1e-8. The simple fix of testing for a row count of 1 and forcing that to yield 0.0 is insufficient, as two rows of the same value should also have a variance of 0.0, yet the error would be about the same. So, this patch changes the formula that computes the VARIANCE to be one that is not subject to catastrophic cancellation. In addition, it now uses only (faster-than-decimal) floating point numbers to calculate, and renders that to other types on demand.
-
- 28 Nov, 2006 1 commit
-
-
gkodinov/kgeorge@macbook.gmz authored
When implicitly converting string fields to numbers the string-to-number conversion error was not sent to the client. Added code to send the conversion error as warning. We also need to prevent generation of warnings from the places where val_xxx() methods are called for the sole purpose of updating the Item::null_value flag. To achieve that a special function is added (and called) : update_null_value(). This function will set the no_errors flag and will call val_xxx(). The warning generation in Field_string::val_xxx() will use the flag when generating the conversion warnings.
-
- 31 Oct, 2006 1 commit
-
-
gkodinov/kgeorge@macbook.gmz authored
Item::val_xxx() may be called by the server several times at execute time for a single query. Calls to val_xxx() may be very expensive and sometimes (count(distinct), sum(distinct), avg(distinct)) not possible. To avoid that problem the results of calculation for these aggregate functions are cached so that val_xxx() methods just return the calculated value for the second and subsequent calls.
-
- 18 Oct, 2006 1 commit
-
-
kroki/tomash@moonlight.intranet authored
(COUNT(*) = 1) not working in SELECT inside prepared statement. Note: the warning was introduced in 5.0 and 5.1, 4.1 is OK with the original fix. The problem was that in 5.0 and 5.1 clear() for group functions may access hybrid_type member, and this member is initialized in fix_fields(). So we should not call clear() from item cleanup() methods, as cleanup() may be called for unfixed items.
-
- 10 Oct, 2006 1 commit
-
-
kroki/tomash@moonlight.intranet authored
statement. The problem was that during statement re-execution if the result was empty the old result could be returned for group functions. The solution is to implement proper cleanup() method in group functions.
-
- 20 Apr, 2006 1 commit
-
-
igor@rurik.mysql.com authored
-
- 12 Apr, 2006 1 commit
-
-
evgen@moonbone.local authored
used In a simple queries a result of the GROUP_CONCAT() function was always of varchar type. But if length of GROUP_CONCAT() result is greater than 512 chars and temporary table is used during select then the result is converted to blob, due to policy to not to store fields longer than 512 chars in tmp table as varchar fields. In order to provide consistent behaviour, result of GROUP_CONCAT() now will always be converted to blob if it is longer than 512 chars. Item_func_group_concat::field_type() is modified accordingly.
-
- 30 Mar, 2006 1 commit
-
-
evgen@sunlight.local authored
After merge fix for bug#15560 item_sum.h: After merge fix for bug#15560
-
- 29 Mar, 2006 1 commit
-
-
evgen@moonbone.local authored
The GROUP_CONCAT uses its own temporary table. When ROLLUP is present it creates the second copy of Item_func_group_concat. This copy receives the same list of arguments that original group_concat does. When the copy is set up the result_fields of functions from the argument list are reset to the temporary table of this copy. As a result of this action data from functions flow directly to the ROLLUP copy and the original group_concat functions shows wrong result. Since queries with COUNT(DISTINCT ...) use temporary tables to store the results the COUNT function they are also affected by this bug. The idea of the fix is to copy content of the result_field for the function under GROUP_CONCAT/COUNT from the first temporary table to the second one, rather than setting result_field to point to the second temporary table. To achieve this goal force_copy_fields flag is added to Item_func_group_concat and Item_sum_count_distinct classes. This flag is initialized to 0 and set to 1 into the make_unique() member function of both classes. To the TMP_TABLE_PARAM structure is modified to include the similar flag as well. The create_tmp_table() function passes that flag to create_tmp_field(). When the flag is set the create_tmp_field() function will set result_field as a source field and will not reset that result field to newly created field for Item_func_result_field and its descendants. Due to this there will be created copy func to copy data from old result_field to newly created field.
-
- 28 Feb, 2006 1 commit
-
-
evgen@moonbone.local authored
used In a simple queries a result of the GROUP_CONCAT() function was always of varchar type. But if length of GROUP_CONCAT() result is greater than 512 chars and temporary table is used during select then the result is converted to blob, due to policy to not to store fields longer than 512 chars in tmp table as varchar fields. In order to provide consistent behaviour, result of GROUP_CONCAT() now will always be converted to blob if it is longer than 512 chars. Item_func_group_concat::field_type() is modified accordingly.
-
- 12 Dec, 2005 1 commit
-
-
igor@rurik.mysql.com authored
Post review corrections in comments.
-
- 30 Nov, 2005 1 commit
-
-
ramil@mysql.com authored
- use rint() in some other val_int() methods as well.
-
- 22 Nov, 2005 1 commit
-
-
ramil@mysql.com authored
-
- 15 Oct, 2005 1 commit
-
-
igor@rurik.mysql.com authored
allowed set functions aggregated in outer subqueries, allowed nested set functions.
-
- 08 Sep, 2005 2 commits
-
-
igor@rurik.mysql.com authored
Post-merge fix.
-
igor@rurik.mysql.com authored
-
- 07 Sep, 2005 1 commit
-
-
igor@rurik.mysql.com authored
Added test cases for bug #12863. item_sum.cc, item_sum.h: Fixed bug #12863. Added a flag to Item_func_group_concat set to FALSE after concatenation of the first element of a group.
-
- 02 Sep, 2005 1 commit
-
-
konstantin@mysql.com authored
- current_arena to stmt_arena: the thread may have more than one 'current' arenas: one for runtime data, and one for the parsed tree of a statement. Only one of them is active at any moment. - set_item_arena -> set_query_arena, because Item_arena was renamed to Query_arena a while ago - set_n_backup_item_arena -> set_n_backup_active_arena; the active arena is the arena thd->mem_root and thd->free_list are currently pointing at. - restore_backup_item_arena -> restore_active_arena (with the same rationale) - change_arena_if_needed -> activate_stmt_arena_if_needed; this method sets thd->stmt_arena active if it's not done yet.
-
- 02 Jul, 2005 1 commit
-
-
bell@sanja.is.com.ua authored
-
- 01 Jul, 2005 1 commit
-
-
bell@sanja.is.com.ua authored
-
- 17 Jun, 2005 1 commit
-
-
bell@sanja.is.com.ua authored
-
- 05 May, 2005 1 commit
-
-
holyfoot@hf-ibm.(none) authored
Mostly about precision/decimals of the results of the operations
-
- 04 May, 2005 1 commit
-
-
msvensson@neptunus.(none) authored
- Introduce ifdefs so we can control when to use #pragma interface on cygwin
-
- 30 Apr, 2005 1 commit
-
-
dlenev@brandersnatch.localdomain authored
(aka "deinit is not called when calling udf from trigger"). We should call udf_deinit() function during cleanup phase after prepared (or ordinary) statement execution instead of calling it from Item's desctructor. No test case is provided since it is hard to test UDF's from our test suite.
-
- 03 Apr, 2005 1 commit
-
-
serg@serg.mylan authored
minor cleanups XA tests
-
- 21 Mar, 2005 1 commit
-
-
jimw@mysql.com authored
-
- 17 Mar, 2005 1 commit
-
-
konstantin@mysql.com authored
-
- 15 Mar, 2005 1 commit
-
-
konstantin@mysql.com authored
Item_sum_count_distinct, and deploy Unique for use with COUNT(DISTINCT) if there is no blob column in the list of DISTINCT arguments.
-
- 13 Mar, 2005 1 commit
-
-
konstantin@mysql.com authored
implementation of AVG(DISTINCT) which utilizes the approach with Fields. The patch implemented in October is portede to the up-to-date tree containing DECIMAL type. Tests for AVG(DISTINCT) (although there is not much to test provided that SUM(DISTINCT) works), cleanups for COUNT(DISTINCT) and GROUP_CONCAT() will follow in another changeset.
-
- 07 Mar, 2005 1 commit
-
-
pem@mysql.comhem.se authored
-
- 01 Mar, 2005 1 commit
-
-
jani@ua141d10.elisa.omakaista.fi authored
-
- 25 Feb, 2005 2 commits
-
-
svoj@mysql.com authored
This bug is also known as WL#1639.
-
monty@mysql.com authored
(Found during build process)
-
- 22 Feb, 2005 2 commits
-
-
monty@mysql.com authored
-
monty@mysql.com authored
Change string->float conversion to delay division as long as possible. This gives us more exact integer->float conversion for numbers of type '123.45E+02' (Bug #7740)
-
- 19 Feb, 2005 1 commit
-
-
monty@mysql.com authored
Lots of small fixes to multi-precision-math path Give Note for '123.4e' Added helper functions type 'val_string_from_real() Don't give warnings for end space for string2decimal() Changed storage of values for SP so that we can detect length of argument without strlen() Changed interface for str2dec() so that we must supple the pointer to the last character in the buffer
-
- 08 Feb, 2005 1 commit
-
-
hf@deer.(none) authored
-