| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
ps-protocol
Problem: thd->thread_specific_used flag is not set executing a statement
containig connection_id() function using PS protocol, that leads to
improper binlog event creation.
Fix: set the flag in the Item_func_connection_id::fix_fields().
|
|
|
|
|
|
|
|
|
|
| |
restores from mysqlbinlog out
Problem: using "mysqlbinlog | mysql" for recoveries the connection_id()
result may differ from what was used when issuing the statement.
Fix: if there is a connection_id() in a statement, write to binlog
SET pseudo_thread_id= XXX; before it and use the value later on.
|
|
|
|
|
|
|
|
| |
The cast operation ignored the cases when the precision and/or the scale exceeded
the limits, 65 and 30 respectively. No errors were reported in these cases.
For some queries this may lead to an assertion abort.
Fixed by throwing errors for such cases.
|
|
|
|
| |
Removed the ability to cache queries containing "UUID()".
|
|
|
|
| |
Item_decimal_typecast::print properly implemented
|
|
|
|
| |
Changed header to GPL version 2 only
|
|
|
|
| |
issue an error in case of DECIMAL(M,N) if N > M
|
|
|
|
|
|
|
|
|
| |
invoker name
The bug was fixed similar to how context switch is handled in
Item_func_sp::execute_impl(): we store pointer to current
Name_resolution_context in Item_func_current_user class, and use
its Security_context in Item_func_current_user::fix_fields().
|
|
|
|
|
|
|
|
|
|
|
|
| |
CONNECTION_ID() was implemented as a constant Item, i.e. an instance of
Item_static_int_func class holding value computed at creation time.
Since Items are created on parsing, and trigger statements are parsed
on table open, the first connection to open a particular table would
effectively set its own CONNECTION_ID() inside trigger statements for
that table.
Re-implement CONNECTION_ID() as a class derived from Item_int_func, and
compute connection_id on every call to fix_fields().
|
|
|
|
| |
DAYOFWEEK(), and WEEKDAY().
|
|
|
|
|
|
|
| |
PROCEDUREs/FUNCTIONs.
"Interleaved SPs execution is now binlogged properly, "SELECT spfunc()" is binlogged too.
The known remaining issue is binlogging/replication of "a routine is deleted while it is executed" scenario.
|
| |
|
|
|
|
| |
number of seconds (which can include microseconds). (Bug #6760)
|
|
|
|
| |
correct value of CURRENT_USER() in SP with "security definer" (BUG#7291)
|
|\
| |
| |
| | |
into mdk10.(none):/home/reggie/bk/mysql-5.0
|
| |
| |
| |
| | |
function" into 4.1 tree.
|
| |\
| | |
| | |
| | | |
into mysql.com:/home/dlenev/src/mysql-4.1-merges
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
function".
We should not cache queries using CURRENT_USER() function as we do it
for some other functions, e.g. USER() function.
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
fixing test results accordingly.
func_system.test:
New test that illegal mix of collations does not happen anymore.
item_strfunc.h:
safe_charset_converter() was added for system constants.
item_strfunc.cc:
safe_charset_converter() was added for system constants.
item_func.cc, item.h, item.cc:
Bug#8291: Illegal collation mix with USER() function.
After discussion with PeterG and Serge, a new coercibility
level for "system constants" was introduced, between
COERRIBLE and IMPLICIT. Thus:
SELECT col1 = USER() FROM t1; - is done according to col1 collation.
SELECT 'string' = USER(); - is done according to USER() collation.
At the same time, "nagg" and "strong" members were removed as unused.
item_create.cc:
Version is a system constant too.
|
| | | |
|
|\ \ \
| |/ /
| | |
| | | |
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
|
| | |
| | |
| | |
| | | |
remove a change that broke the test
|
|\ \ \
| |/ / |
|
| | | |
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | | |
"uint *errors" is now a non-optional parameter in String:copy()
and copy_and_convert().
|
|\ \ \
| |/ /
| | |
| | |
| | | |
(Includes merge of arena code in 4.1 and 5.0)
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
server".
Instead of trying to open time zone tables during calculation of CONVERT_TZ() function
or setting of @@time_zone variable we should open and lock them with the rest of
statement's table (so we should add them to global table list) and after that use such
pre-opened tables for loading info about time zones.
|
| | |
| | |
| | |
| | | |
its correct printing added (BUG#4663)
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | | |
statement].
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Added basic per-thread time zone functionality (based on public
domain elsie-code). Now user can select current time zone
(from the list of time zones described in system tables).
All NOW-like functions honor this time zone, values of TIMESTAMP
type are interpreted as values in this time zone, so now
our TIMESTAMP type behaves similar to Oracle's TIMESTAMP WITH
LOCAL TIME ZONE (or proper PostgresSQL type).
WL#1266 "CONVERT_TZ() - basic time with time zone conversion
function".
Fixed problems described in Bug #2336 (Different number of warnings
when inserting bad datetime as string or as number). This required
reworking of datetime realted warning hadling (they now generated
at Field object level not in conversion functions).
Optimization: Now Field class descendants use table->in_use member
instead of current_thd macro.
|
| | |
| | |
| | |
| | |
| | |
| | | |
- For simple character sets: from_uni convertion table.
- For UCA: alternative weight arrays.
Use mbminlen instead of MY_CS_NONTEXT
|
|\ \ \
| |/ / |
|
| |\ \
| | | |
| | | |
| | | | |
into serg.mylan:/usr/home/serg/Abk/mysql-4.1
|
| | | | |
|
| |\ \ \
| | |/ /
| |/| |
| | | | |
into mashka.mysql.fi:/home/my/mysql-4.1
|
| | | | |
|
| |/ /
| | |
| | |
| | | |
UUID() function
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | | |
WL#1163 (Making spatial code optional)
Pack of changes to do in sql/ code.
|
|\ \ \
| | | |
| | | |
| | | | |
into mysql.com:/dbdata/psergey/mysql-5.0-imerge-unique
|
| |\ \ \
| | |/ / |
|
| | | |
| | | |
| | | |
| | | | |
All tests pass (client_test included)
|
|/ / / |
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Syntax for TIMESTAMPADD:
TIMESTAMPADD(interval, integer_expression, datetime_expression)
interval:= FRAC_SECOND | SECOND | MINUTE | HOUR | DAY | WEEK | MONTH |
QUARTER | YEAR
Supported SQL_TSI_ prefix (like SQL_TSI_SECOND)
Syntax for TIMESTAMPDIFF:
TIMESTAMPDIFF(interval, datetime_expression1, datetime_expression2)
interval:= FRAC_SECOND | SECOND | MINUTE | HOUR | DAY | WEEK | MONTH |
QUARTER | YEAR
Supported SQL_TSI_ prefix (like SQL_TSI_SECOND)
|
|\ \ \ \
| |_|/ /
|/| | | |
|
| |\ \ \
| | |/ / |
|