Commit Graph

183 Commits

Author SHA1 Message Date
bb6641b63e [cherry-pick](branch-21) add more signatures for lag/lead fucntion (#47940) (#48076) 2025-02-19 20:41:40 +08:00
8c6c642462 branch-2.1: [fix](nereids)keep at least one hash output slot when prune slots in hash join node #47318 (#47683)
Cherry-picked from #47318

Co-authored-by: starocean999 <lichi@selectdb.com>
2025-02-12 17:53:30 +08:00
3b7cc67ec2 branch-2.1: [fix](func) Fix precision loss in ST_GeometryFromWKB coordinate parsing #46661 (#47263)
Cherry-picked from #46661

Co-authored-by: lw112 <131352377+felixwluo@users.noreply.github.com>
2025-01-24 17:34:37 +08:00
adc9e9a161 [fix](function) Fix undefined behavior caused by bit_shift_left exceeding the 64-bit range. (#47080)
### What problem does this PR solve?
It is part of this PR's https://github.com/apache/doris/pull/35769
content.


```
SELECT a, b, bit_shift_left(nullable(a), nullable(b)) from t01;
+----------------------+-----+-----------------------------------------------------------+
| a                    | b   | bit_shift_left(nullable(a), cast(nullable(b) as TINYINT)) |
+----------------------+-----+-----------------------------------------------------------+
| -4388843650233597359 | 127 | -9223372036854775808                                      |
| 306567258363819813   | 3   | 2452538066910558504                                       |
| 306567258363819813   | 127 | -9223372036854775808                                      |
| 3456789123456789123  | 127 | -9223372036854775808                                      |
+----------------------+-----+-----------------------------------------------------------+ 
```
now
```
SELECT a, b, bit_shift_left(nullable(a), nullable(b)) from t01;
+----------------------+-----+-----------------------------------------------------------+
| a                    | b   | bit_shift_left(nullable(a), cast(nullable(b) as TINYINT)) |
+----------------------+-----+-----------------------------------------------------------+
| -4388843650233597359 | 127 | 0                                                         |
| 306567258363819813   | 3   | 2452538066910558504                                       |
| 306567258363819813   | 127 | 0                                                         |
| 3456789123456789123  | 127 | 0                                                         |
+----------------------+-----+-----------------------------------------------------------+
```
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label <!-- Add branch pick label that this PR
should merge into -->
2025-01-16 21:13:24 +08:00
4f41bad283 branch-2.1: [fix](Nereids) fix cast string to date #46065 (#46526)
pick: #46065

Related PR: #35637

Problem Summary:
When cast("201-01-01" as datetimev2(0)), The result is "2020-01-01" but
it is wrong. It should be result in "0201-01-01".
201 would be regarded as 20xy-0z as related pr show, it was a bug. But
actually it should not have this trasformation and result in
2025-01-09 17:03:36 +08:00
7040abfb04 [fix](correctness) Fix operator initialization (#45728) (#46150)
Now we plan for local exchange depends on operator initialization. This
PR fixed a wrong order between those two steps.

pick #45728
2024-12-30 17:01:33 +08:00
c561bdb906 [cherry-pick](branch-21) fix first/last value return error with ignore null (#44996) (#45486)
cherry-pick from master https://github.com/apache/doris/pull/44996
2024-12-17 10:04:02 +08:00
f038f28682 branch-2.1: [fix](mtmv) Fixed an error in setting variables in nested materialize views #44960 (#45038)
Cherry-picked from #44960
2024-12-06 14:04:13 +08:00
6c3d42e09a [cherry-pick](branch-21) cherry-pick pr about (#42488) (#42099) (#42055) (#42916)
## Proposed changes

Issue Number: close #xxx

<!--Describe your changes.-->
2024-10-31 14:14:19 +08:00
460ff02997 [cherry-pick](branch-21)fix date_floor function return wrong result (#41948) (#42065)
## Proposed changes

cherry-pick from master https://github.com/apache/doris/pull/41948

<!--Describe your changes.-->
2024-10-18 21:54:22 +08:00
0c51ee26ea [fix](function) add time type in conditional-functions (#41270) (#41379)
## Proposed changes
https://github.com/apache/doris/pull/41270

<!--Describe your changes.-->
2024-09-27 17:19:54 +08:00
8f37eccbf2 [Cherry-pick](branch-2.1) Pick "[Featrue](default value) Support bitmap_empty default value (#40364)" (#40487)
## Proposed changes

Pick #40364 

<!--Describe your changes.-->
2024-09-09 16:57:38 +08:00
9e696d72f1 [fix](nereids)check functionBuilders is not null before using it (#38535)
## Proposed changes

pick from master https://github.com/apache/doris/pull/38457

<!--Describe your changes.-->
2024-07-31 11:00:39 +08:00
638d4b6f27 [Bug](function) Fix function for cast string as date/datetime (#35637) (#37891)
## Proposed changes

Issue Number: close #35635
cherry-pick https://github.com/apache/doris/pull/35637 from master to
branch-2.1

<!--Describe your changes.-->
Cast rules:Consistent with mysql.
String:Date
The first part is 1-digit x: 000x-month-day
The first part is 2-digit xy: 20xy-month-day / 19xy-month-day The first
part is 3-digit xyz: 20xy-0z-day / 19xy-0z-day The first part is 4-digit
xyzw: xyzw-month-day

## Proposed changes

Issue Number: close #xxx

<!--Describe your changes.-->
2024-07-16 17:22:03 +08:00
4a277affdc [fix](scan) In-predicate should not be pushed down for non-key column(#35913) (#35968)
pick #35913
2024-06-11 11:13:34 +08:00
b96148c9cd [Fix](function) fix days/weeks_diff result wrong on BE #35104
select days_diff('2024-01-01 00:00:00', '2023-12-31 23:59:59');
should be 0 but got 1 on BE.
2024-05-22 10:00:26 +08:00
a59f9c3fa1 [fix](planner) fix unrequired slot bug when join node introduced by #25204 (#34923)
before fix, join node will retain some slots, which are not materialized and unrequired.
join node need remove these slots and not make them be output slots.

Signed-off-by: nextdreamblue <zxw520blue1@163.com>
2024-05-18 18:40:56 +08:00
1545d96617 [WIP](test) remove enable_nereids_planner in regression cases (part 4) (#34642)
before PR are
#34417
#34490
#34558
2024-05-18 18:07:39 +08:00
d5ab2787ba [Fix](function) fix pad functions behaviour of empty pad string (#34796)
fix pad functions behaviour of empty pad string
2024-05-15 10:28:09 +08:00
8c237e82a3 [Bug](exec) fix intersections/differences bug (#34675) 2024-05-11 11:45:31 +08:00
c0cca6103b [WIP](test) remove enable_nereids_planner in regression cases (part 2) (#34490) 2024-05-10 22:02:32 +08:00
bb33375dba [test](xor) add test for xor #33731 2024-04-17 23:42:13 +08:00
fb910e5304 [fix](planner) retain groupingSlotIds as materialized for aggregate (#33060) 2024-04-10 11:34:30 +08:00
c5ab7ca573 [fix](planner) remove and retain input slot for aggregate slot which is not materialized (#33033)
Signed-off-by: nextdreamblue <zxw520blue1@163.com>
2024-04-10 11:34:30 +08:00
62699c8eea [improve](function) the offset params in lead/lag function could use 0 (#33174) 2024-04-07 12:58:03 +08:00
ad2d20348a [fix](pipeline) fix use error row desc when origin block clear #32803 (#32849)
* fix

* add case
2024-03-26 20:02:46 +08:00
66336e59e6 [fix](join) the result of left semi join with empty right side should be false, not null (#32477) 2024-03-22 16:35:43 +08:00
715eed0748 [opt](like) opt LIKE and REGEXP clause with concat(col, pattern_str) (#32333)
opt LIKE and REGEXP clause with concat(col, pattern_str)
2024-03-21 14:07:24 +08:00
163007a665 [fix](grouping sets) fix grouping sets have multiple empty sets (#32317)
in this #32112, handling empty sets (empty expression cases) has been addressed. However, multiple empty sets in grouping sets have different grouping IDs
2024-03-21 14:07:22 +08:00
afa9f6e5d6 [Feat](nereids) support column default value current_date (#32268) 2024-03-15 18:06:15 +08:00
4534300030 [fix](Operator) RepeatNode does not handle empty expressions. (#32112)
In the past, RepeatNode did not handle empty expressions.
It used DCHECK to check if the expression was non-empty.
In non-debug mode, this caused _child_block to remain unprocessed, resulting in a deadlock.
Now, if the expression is empty, the output block directly outputs _child_block
2024-03-15 18:02:33 +08:00
473bd3ee64 [fix](function) incorrect result of eq_for_null (#32103) 2024-03-12 18:50:26 +08:00
4956d5de83 [fix](planner) remove input slot for aggregate slot which is not materialized (#32092)
introduced by #26886

run this sql:
SELECT
        caseId
    FROM
        (
            SELECT
                caseId,
                count(judgementDateId)
            FROM
                (
                    SELECT
                        abs(caseId) AS caseId,
                        id as judgementDateId
                    FROM
                        dr_user_test_t2
                ) AGG_RESULT
            GROUP BY
                caseId
        ) TOTAL
        order by 1;


will get:

ERROR 1105 (HY000): errCode = 2, detailMessage = (172.17.0.1)[INTERNAL_ERROR]couldn't resolve slot descriptor 1, desc: tuples:
Tuple(id=5 slots=[Slot(id=10 type=DOUBLE col=-1, colname=, nullable=1), Slot(id=11 type=VARCHAR col=-1, colname=id, nullable=1)] has_varlen_slots=1)
Tuple(id=4 slots=[Slot(id=8 type=DOUBLE col=-1, colname=, nullable=1)] has_varlen_slots=0)
Tuple(id=2 slots=[Slot(id=4 type=DOUBLE col=-1, colname=caseId, nullable=1)] has_varlen_slots=0)
Tuple(id=0 slots=[Slot(id=0 type=VARCHAR col=-1, colname=caseId, nu
2024-03-12 18:50:26 +08:00
9bf22a872a [Bug](fix) fix or and "<=>" cause coredump in query (#31884) 2024-03-07 16:53:19 +08:00
9af64d848f [fix](pipelineX) fix error distribution in DistinctStreamingAggOperatorX (#31804) 2024-03-06 13:08:30 +08:00
acdc9575ad [fix](function) incorrect result of 'equal_for_null' (#30990) 2024-02-18 11:50:16 +08:00
5e6e2f8061 [fix](nereids)should not infer predicate for nullaware anti-join (#30924) 2024-02-16 10:12:24 +08:00
3b85e3de1b [fix](planner)avg function may use wrong decimal precision and scale (#30364) 2024-01-29 19:03:47 +08:00
24c0900b41 [fix](planner) should return outputTupleDesc's id instead of tupleIds if outputTupleDesc is set in Plan Node (#30150) 2024-01-23 10:09:54 +08:00
e5dea910bf [feature](bitwise function) bit_count/bit_shift_left/bit_shift_right implementation (#30046) 2024-01-23 10:09:54 +08:00
115815739c [bugfix](fe) add check for leg/lead function params (#29617) 2024-01-16 18:31:59 +08:00
2c44951543 [fix](planner)only allow null safe equal when both children are nullable (#29470) 2024-01-12 11:46:29 +08:00
4692a62e47 [fix](planner)nullable info of agg node's intermediate and output slots should be same (#29315) 2024-01-02 15:53:28 +08:00
c2c5df9341 [opt](assert_num_rows) support filter in AssertNumRows operator and fix some explain (#28935)
* NEED

* Update pipeline x

* fix pipelinex compile
2023-12-25 22:47:23 +08:00
b7ae7a07c7 [fix](join) incorrect result of left semi/anti join with empty build side (#28898) 2023-12-25 09:07:38 +08:00
d1cc6d9a85 [test](regression-test) order by decs should only make effect on its nearest column #28728 2023-12-20 19:06:41 +08:00
5739167142 [feature](window_function) support to secondary argument to ignore null values in first_value/last_value (#27623) 2023-11-30 09:56:43 +08:00
d9f6e51884 [fix](planner)output slot should be materialized as intermediate slot in agg node (#27282) 2023-11-23 18:41:08 +08:00
2ec3395087 [fix](planner)the data type should be the same between input slot and sort slot (#27137) 2023-11-23 18:40:02 +08:00
5b8aaf96d2 [fix](planner)scan node should project all required expr from parent node (#26886) 2023-11-23 09:44:21 +08:00