fix: parameter binding
We had a problem with the queries like:
select * from t1 where (a, b) in (select c, d from ...)
The root of the problem was that in a case of multiple references
to the subquery ((a, b) in (ref_c_sq, ref_d_sq)) we tried to bind
parameters multiple times that caused subtraction overflow and UB.
As a fix we stop binding parameters more than once.
Co-authored-by:
ms.evilhat <ms.evilhat@gmail.com>
Showing
- sbroad-cartridge/test_app/test/data/config.yml 116 additions, 0 deletionssbroad-cartridge/test_app/test/data/config.yml
- sbroad-cartridge/test_app/test/integration/parameters_test.lua 127 additions, 0 deletions...d-cartridge/test_app/test/integration/parameters_test.lua
- sbroad-core/src/backend/sql/ir/tests.rs 7 additions, 2 deletionssbroad-core/src/backend/sql/ir/tests.rs
- sbroad-core/src/backend/sql/ir/tests/except.rs 2 additions, 2 deletionssbroad-core/src/backend/sql/ir/tests/except.rs
- sbroad-core/src/backend/sql/ir/tests/inner_join.rs 4 additions, 4 deletionssbroad-core/src/backend/sql/ir/tests/inner_join.rs
- sbroad-core/src/backend/sql/ir/tests/projection.rs 4 additions, 4 deletionssbroad-core/src/backend/sql/ir/tests/projection.rs
- sbroad-core/src/backend/sql/ir/tests/selection.rs 4 additions, 4 deletionssbroad-core/src/backend/sql/ir/tests/selection.rs
- sbroad-core/src/backend/sql/ir/tests/sub_query.rs 44 additions, 4 deletionssbroad-core/src/backend/sql/ir/tests/sub_query.rs
- sbroad-core/src/backend/sql/ir/tests/union_all.rs 2 additions, 2 deletionssbroad-core/src/backend/sql/ir/tests/union_all.rs
- sbroad-core/src/ir/api/parameter.rs 10 additions, 9 deletionssbroad-core/src/ir/api/parameter.rs
- sbroad-core/src/ir/transformation/redistribution/tests.rs 0 additions, 1 deletionsbroad-core/src/ir/transformation/redistribution/tests.rs
Loading
Please register or sign in to comment