Sergei Golubchik
9aa3564e8a
Merge branch '10.4' into 10.5
2022-02-10 21:04:51 +01:00
Sergei Golubchik
b4477ae73c
Merge branch '10.3' into 10.4
2022-02-10 20:39:13 +01:00
Sergei Golubchik
a36fc80aeb
Merge branch '10.2' into 10.3
2022-02-10 20:23:56 +01:00
Sergei Petrunia
5c89386fdb
MDEV-17785: Window functions not working in ONLY_FULL_GROUP_BY mode
...
(Backport Varun Gupta's patch + edit the commit comment)
Name resolution code produced errors for valid queries with window
functions (but not for queries which used aggregate functions as
window functions).
Name resolution code worked incorrectly, because window function
objects had is_window_func_sum_expr()=false. This was so, because
mark_as_window_func_sum_expr() was only called for aggregate functions
used as window functions.
The fix is to call it for any window function.
2022-02-07 21:43:42 +03:00
Varun Gupta
caa474f8e3
MDEV-15180: server crashed with NTH_VALUE()
...
fix_fields for the arguments of the NTH_VALUE function was updating the same reference,
so for the second argument (or after the first argument) the items were not resolved
to their corresponding field from the view as they were updating the reference to the
first argument.
2020-08-06 18:01:00 +05:30
Marko Mäkelä
50a11f396a
Merge 10.4 into 10.5
2020-08-01 14:42:51 +03:00
Marko Mäkelä
9216114ce7
Merge 10.3 into 10.4
2020-07-31 18:09:08 +03:00
Marko Mäkelä
66ec3a770f
Merge 10.2 into 10.3
2020-07-31 13:51:28 +03:00
Varun Gupta
a6410deba9
MDEV-18916: crash in Window_spec::print_partition() with decimals
...
Removed an unnecessary ifndef which was printing the window name for a named
window only in the case of debug build. The print() for the window function
should behave in the same way on both release and debug builds.
2020-07-27 13:53:33 +05:30
Marko Mäkelä
1813d92d0c
Merge 10.4 into 10.5
2020-07-02 09:41:44 +03:00
Marko Mäkelä
f347b3e0e6
Merge 10.3 into 10.4
2020-07-02 07:39:33 +03:00
Marko Mäkelä
1df1a63924
Merge 10.2 into 10.3
2020-07-02 06:17:51 +03:00
Varun Gupta
4a2e7b5368
MDEV-22984: Throw an error when arguments to window functions are window functions
...
Window function is not allowed as arguments to window functions according to the standard.
2020-06-30 18:16:01 +05:30
Alexander Barkov
33b839b2e7
MDEV-20280 PERCENTILE_DISC() rejects temporal and string input
2020-06-01 14:30:21 +04:00
Alexander Barkov
c1599821a5
Merge remote-tracking branch 'origin/10.4' into 10.5
2019-08-13 23:49:10 +04:00
Alexander Barkov
95cdc1ca5f
Merge commit '43882e764d6867c6855b1ff057758a3f08b25c55' into 10.4
2019-08-13 11:42:31 +04:00
Alexander Barkov
2dac123515
A cleanup for MDEV-20273 Add class Item_sum_min_max
- removing duplicate code
...
Reusing the MIN()/MAX() fix_length_and_dec() related code for window functions
- FIRST_VALUE()
- LAST_VALUE()
- NTH_VALUE()
- LEAD()
- LAG
2019-08-09 09:00:17 +04:00
Alexander Barkov
7fc86a73d8
MDEV-20272 PERCENTILE_DISC() crashes on a temporal type input
2019-08-07 22:44:54 +04:00
Alexander Barkov
d70dac2079
MDEV-20278 PERCENTILE_DISC() returns a wrong data type
2019-08-07 21:01:22 +04:00
Alexander Barkov
e6ff3f9d1c
MDEV-20052 Add a MEM_ROOT pointer argument to Type_handler::make_xxx_field()
2019-07-12 06:58:51 +04:00
Alexander Barkov
1b4bb3b5bb
MDEV-19124 Assertion `0' failed in Item::val_native
2019-04-02 09:13:16 +04:00
Marko Mäkelä
d88c136b9f
Merge 10.3 into 10.4
2018-10-17 19:11:42 +03:00
Varun Gupta
97a37edc97
MDEV-17137: Syntax errors with VIEW using MEDIAN
...
The syntax error happened because we had not implemented a different print for
percentile functions. The syntax is a bit different when we use percentile functions
as window functions in comparision to normal window functions.
Implemented a seperate print function for percentile functions
2018-10-16 08:11:26 -07:00
Alexander Barkov
ad8e02ac45
MDEV-17317 Add THD* parameter into Item::get_date() and stricter data type control to "fuzzydate"
2018-09-28 14:01:17 +04:00
Alexander Barkov
cb7b5fbf1c
MDEV-16910 Add class VDec
...
Adding classes VDec and VDec2_lazy, according to the task description.
This patch removes around 250 duplicate code lines.
2018-08-07 10:48:42 +04:00
Alexander Barkov
e61568ee93
Merge remote-tracking branch 'origin/10.3' into 10.4
2018-07-03 14:02:05 +04:00
Alexander Barkov
e213b20e07
MDEV-16592 Change Item::with_sum_func from a member to a virtual method
2018-06-27 14:48:03 +04:00
Alexander Barkov
ff09512e07
MDEV-16489 when lead() returns null on a datetime field, the result is treated as the literal string '[NULL]'
2018-06-20 19:36:37 +04:00
Oleksandr Byelkin
083279f783
Merge commit '6b8802e8dd5467556a024d807a1df23940b00895' into bb-10.3-fix_len_dec
2018-06-19 14:51:50 +02:00
Marko Mäkelä
0121d5a790
Merge 10.2 into 10.3
2018-06-18 15:43:59 +03:00
Oleksandr Byelkin
6b8802e8dd
MDEV-11071: Assertion `thd->transaction.stmt.is_empty()' failed in Locked_tables_list::unlock_locked_table
...
fix_length_and_dec now return result (error/OK)
2018-06-15 10:31:30 +02:00
Alexander Barkov
2412c15191
MDEV-15870 Using aggregate and window function in unexpected places can crash the server
2018-06-13 11:56:56 +04:00
Alexander Barkov
106f0b5798
MDEV-16385 ROW SP variable is allowed in unexpected context
...
The problem described in the bug report happened because the code
did not test check_cols(1) after fix_fields() in a few places.
Additionally, fix_fields() could be called multiple times for SP variables,
because they are all fixed at a early stage in append_for_log().
Solution:
1. Adding a few helper methods
- fix_fields_if_needed()
- fix_fields_if_needed_for_scalar()
- fix_fields_if_needed_for_bool()
- fix_fields_if_needed_for_order_by()
and using it in many cases instead of fix_fields() where
the "fixed" status is not definitely known to be "false".
2. Adding DBUG_ASSERT(!fixed) into Item_splocal*::fix_fields()
to catch double execution.
3. Adding tests.
As a good side effect, the patch removes a lot of duplicate code (~60 lines):
if (!item->fixed &&
item->fix_fields(..) &&
item->check_cols(1))
return true;
2018-06-05 10:25:39 +04:00
Marko Mäkelä
b006d2ead4
Merge bb-10.2-ext into 10.3
2018-02-15 10:22:03 +02:00
Alexander Barkov
95d075a0e5
MDEV-15293 CAST(AS TIME) returns bad results for LAST_VALUE(),NAME_CONST(),SP variable
2018-02-13 20:37:31 +04:00
Alexander Barkov
3cad31f2a7
Merge remote-tracking branch 'origin/10.2' into bb-10.2-ext
2018-02-08 19:06:25 +04:00
Sergei Golubchik
2eb00d1eba
fix Item_window_func::print() not to crash before fix_fields()
...
because dbug_print_item() can be invoked any time in gdb,
also before fix_fields.
this fixes a crash of main.win in debug builds
2018-02-06 14:51:31 +01:00
Marko Mäkelä
7cb3520c06
Merge bb-10.2-ext into 10.3
2017-11-30 08:16:37 +02:00
Alexander Barkov
590400f743
MDEV-14517 Cleanup for Item::with_subselect and Item::has_subquery()
2017-11-28 06:25:14 +04:00
Varun Gupta
ab5503c8c5
Updates the tests for the percentile functions
2017-11-01 23:17:15 +05:30
Varun Gupta
0ef6127c29
Date-time fields are disabled currently for the result type of percentile function
2017-11-01 23:17:15 +05:30
Varun Gupta
58a6e43513
Tests added for percentile and median functions
2017-11-01 23:17:14 +05:30
Varun Gupta
02a4a4b512
Added fix_fields for percentile function to check the type of argument and to ensure that only numeric arguments are allowed
2017-11-01 23:17:14 +05:30
Varun Gupta
6511069e7f
Added the error ER_WRONG_TYPE_FOR_PERCENTILE_CONT, which ensures that the result type for percentile_cont is always numerical
2017-11-01 23:13:01 +05:30
Varun Gupta
947ce922c9
Added the error ER_NOT_SINGLE_ELEMENT_ORDER_LIST for th percentile functions, these ensure that for the percentile
...
function we have the order list with exactly one element
2017-11-01 23:13:01 +05:30
Varun Gupta
3393005e95
Ensured that the the element in the order by clause should have a numerical time, if not throw an error
2017-11-01 23:13:01 +05:30
Varun Gupta
275ce39f05
Percentile class implemented, most of the functions have the same functionalite as the percentile cont class
2017-11-01 23:13:01 +05:30
Varun Gupta
01d2b6e9d9
Implemented the implementation of percentile functions using Item_cache instead of Cache_Item
2017-11-01 23:13:01 +05:30
Varun Gupta
31f1541f1e
Setting handler to have the return type as that of the element by which we are ordering the partition
2017-11-01 23:13:01 +05:30
Varun Gupta
18747a4baa
Added value field to Item_sum_percentile_disc
...
Check for single element in the order_list is added
2017-11-01 23:13:01 +05:30