| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
into host.loc:/home/uchum/work/5.1-opt
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Queries like:
SELECT ROW(1, 2) IN (SELECT t1.a, 2)
FROM t1 GROUP BY t1.a
or
SELECT ROW(1, 2) IN (SELECT t1.a, 2 FROM t2)
FROM t1 GROUP BY t1.a
lead to assertion failure in the
Item_in_subselect::row_value_transformer method in debugging
build, or to unexpected error message in release build:
ERROR 1247 (42S22): Reference '<list ref>' not supported (forward
reference in item list)
Unexpected error message and assertion failure have been
eliminated.
|
| |\
| | |
| | |
| | | |
into kaamos.(none):/data/src/opt/mysql-5.0-opt
|
| | |\
| | | |
| | | |
| | | | |
into magare.gmz:/home/kgeorge/mysql/autopush/B31887-5.0-opt
|
| |\ \ \
| | |/ /
| | | |
| | | | |
into kaamos.(none):/data/src/opt/mysql-5.0-opt
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
into kaamos.(none):/data/src/opt/mysql-5.1-opt
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | | |
into mysql.com:/misc/mysql/34749/51-34749
|
| | |\ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
into mysql.com:/misc/mysql/34749/51-34749
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
NAME_CONST('whatever', -1) * MAX(whatever) bombed since -1 was
not seen as constant, but as FUNCTION_UNARY_MINUS(constant)
while we are at the same time pretending it was a basic const
item. This confused the aggregate handlers in exciting ways.
We now make NAME_CONST() behave more consistently.
|
| | | | | | | |
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | | |
into kaamos.(none):/data/src/opt/mysql-5.1-opt
|
| | |\ \ \ \ \ \
| | | | |_|_|_|/
| | | |/| | | |
| | | | | | | | |
into magare.gmz:/home/kgeorge/mysql/work/B31887-5.1-opt
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
when executed in version 5
Zero fill is a field attribute only. So we can't always
propagate constants for zerofill fields : the values and
expression results don't have that flag.
Fixed by converting the const value to a string and
using that in const propagation when the context allows it.
Disable const propagation for fields with ZEROFILL flag in
all the other cases.
|
| |\ \ \ \ \ \ \
| | |/ / / / / /
| | | | | | | |
| | | | | | | | |
into kaamos.(none):/data/src/opt/mysql-5.1-opt
|
| | |\ \ \ \ \ \
| | | | |_|_|_|/
| | | |/| | | |
| | | | | | | | |
into kaamos.(none):/data/src/opt/mysql-5.1-opt
|
| | | |\ \ \ \ \
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
into kaamos.(none):/data/src/opt/mysql-5.0-opt
|
| | | | |_|_|/ /
| | | |/| | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Two disjuncts containing equalities of the form key=const1 and key=const2 can
be merged into one if const1 is equal to const2. To check it the common
collation of the constants were used rather than the collation of the field key.
For example when the default collation of the constants was cases insensitive
while the collation of the field was case sensitive, then two or-ed equality
predicates key='b' and key='B' incorrectly were merged into one f='b'. As a
result ref access was used instead of range access and wrong result sets were
returned in many cases.
Fixed the problem by comparing constant in the or-ed predicate with collation of
the key field.
|
| | |\ \ \ \ \ \
| | | | |/ / / /
| | | |/| | / /
| | | |_|_|/ /
| | |/| | | | |
into mbp.:/Users/kaa/src/opt/bug33389/my51-bug25162
|
| | | |/ / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
or trigger crashes server
Under some circumstances a combination of VIEWs, subselects with outer
references and PS/SP/triggers could lead to use of uninitialized memory
and server crash as a result.
Fixed by changing the code in Item_field::fix_fields() so that in cases
when the field is a VIEW reference, we first check whether the field
is also an outer reference, and mark it appropriately before returning.
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
into buzz.(none):/home/davi/mysql-5.1-runtime
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
must match the order which they were declared in the class definition.
|
| | |_|_|_|/
| |/| | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The problem is that passing anything other than a integer to a limit
clause in a prepared statement would fail. This limitation was introduced
to avoid replication problems (e.g: replicating the statement with a
string argument would cause a parse failure in the slave).
The solution is to convert arguments to the limit clause to a integer
value and use this converted value when persisting the query to the log.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
between 5.0 and 5.1.
The problem was that in the patch for Bug#11986 it was decided
to store original query in UTF8 encoding for the INFORMATION_SCHEMA.
This approach however turned out to be quite difficult to implement
properly. The main problem is to preserve the same IS-output after
dump/restore.
So, the fix is to rollback to the previous functionality, but also
to fix it to support multi-character-set-queries properly. The idea
is to generate INFORMATION_SCHEMA-query from the item-tree after
parsing view declaration. The IS-query should:
- be completely in UTF8;
- not contain character set introducers.
For more information, see WL4052.
|
| |/ / / /
|/| | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
but not collation.
The problem here was that text literals in a view were always
dumped with character set introducer. That lead to loosing
collation information.
The fix is to dump character set introducer only if it was
in the original query. That is now possible because there
is no problem any more of loss of character set of string
literals in views -- after WL#4052 the view is dumped
in the original character set.
|
| | | | | |
|
|\ \ \ \ \
| |/ / / /
| | | | |
| | | | | |
into mysql.com:/Users/davi/mysql/mysql-5.1-runtime
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The unsignedness of large integer user variables was not being
properly preserved when feeded to prepared statements. This was
happening because the unsigned flags wasn't being updated when
converting the user variable is converted to a parameter.
The solution is to copy the unsigned flag when converting the
user variable to a parameter and take the unsigned flag into
account when converting the integer to a string.
|
| |\ \ \
| | | | |
| | | | |
| | | | | |
into linux-st28.site:/home/martin/mysql/src/bug31797/my50-bug31797-pushee
|
|\ \ \ \ \
| | |_|/ /
| |/| | |
| | | | | |
into ramayana.hindu.god:/home/tsmith/m/bk/maint/51
|
| |\ \ \ \
| | | | | |
| | | | | |
| | | | | | |
into linux-st28.site:/home/martin/mysql/src/bug31797/my51-bug31797-pushee
|
| | |\ \ \ \
| | | | |/ /
| | | |/| |
| | | | | | |
into linux-st28.site:/home/martin/mysql/src/bug31797/my51-bug31797
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
The name resolution for correlated subqueries and HAVING clauses
failed to distinguish which of two was being performed when there
was a reference to an outer aliased field.
Fixed by adding the condition that HAVING clause name resulotion
is being performed.
|
|\ \ \ \ \ \
| |/ / / / /
| | | | | |
| | | | | | |
into ramayana.hindu.god:/home/tsmith/m/bk/maint/51
|
| |\ \ \ \ \
| | | |_|/ /
| | |/| | |
| | | | | | |
into macbook.gmz:/Users/kgeorge/mysql/work/B33256-5.1-opt
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
w/ Field_date instead of Field_newdate
Field_date was still used in temp table creation.
Fixed by using Field_newdate consistently throughout the server
except when reading tables defined with older MySQL version.
No test suite is possible because both Field_date and Field_newdate
return the same values in all the metadata calls.
|
| | |\ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
into linux-st28.site:/home/martin/mysql/src/bug32848/my50-bug32848
|
| |\ \ \ \ \ \
| | | | | | | |
| | | | | | | |
| | | | | | | | |
into linux-st28.site:/home/martin/mysql/src/bug32848/my51-bug32848
|
| | |\ \ \ \ \ \
| | | | |/ / / /
| | | |/| / / /
| | | |_|/ / /
| | |/| | | | |
into linux-st28.site:/home/martin/mysql/src/bug32848/my51-bug32848-gca
|
| | | | |/ /
| | | |/| |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
There were two problems when inferring the correct field types resulting from
UNION queries.
- If the type is NULL for all corresponding fields in the UNION, the resulting
type would be NULL, while the type is BINARY(0) if there is just a single
SELECT NULL.
- If one SELECT in the UNION uses a subselect, a temporary table is created
to represent the subselect, and the result type defaults to a STRING type,
hiding the fact that the type was unknown(just a NULL value).
Fixed by remembering whenever a field was created from a NULL value and pass
type NULL to the type coercion if that is the case, and creating a string field
as result of UNION only if the type would otherwise be NULL.
|
|\ \ \ \ \ \
| |/ / / / /
| | | | | |
| | | | | | |
into janus.mylan:/usr/home/serg/Abk/mysql-5.1
|
| |\ \ \ \ \
| | | |_|/ /
| | |/| | |
| | | | | | |
into mysql.com:/home/gluh/MySQL/Merge/5.1-opt
|
| | |\ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
into mysql.com:/home/gluh/MySQL/Merge/5.0-opt
|
| | | | |_|/
| | | |/| |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Both arguments of the function NAME_CONST must be constant expressions.
This constraint is checked in the Item_name_const::fix_fields method.
Yet if the argument of the function was not a constant expression no
error message was reported. As a result the client hanged waiting for a
response.
Now the function Item_name_const::fix_fields reports an error message
when any of the additional context conditions imposed on the function
NAME_CONST is not satisfied.
|
| |\ \ \ \ \
| | | | | | |
| | | | | | |
| | | | | | | |
into mysql.com:/home/gluh/MySQL/Merge/5.1-opt
|
| | |\ \ \ \ \
| | | | |/ / /
| | | |/| | |
| | | | | | | |
into magare.gmz:/home/kgeorge/mysql/work/B32400-5.1-opt
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
only on some occasions
Referencing an element from the SELECT list in a WHERE
clause is not permitted. The namespace of the WHERE
clause is the table columns only. This was not enforced
correctly when resolving outer references in sub-queries.
Fixed by not allowing references to aliases in a
sub-query in WHERE.
|
| |\ \ \ \ \ \
| | |/ / / / /
| |/| | / / /
| | | |/ / /
| | |/| | | |
into mysql.com:/home/ram/work/b32559/b32559.5.1
|
| | |/ / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: passing a non-constant name to the NAME_CONST function results in a crash.
Fix: check the NAME_CONST name argument; return fake item type if we got
non-constant argument(s).
|
|\ \ \ \ \
| |/ / / /
|/| | | |
| | | | | |
into zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
|
| | | | | |
|