Skip to content

Create dummy.txt for rebase test #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Conversation

unidevel
Copy link

No description provided.

@unidevel
Copy link
Author

alchemy merge

@unidevel
Copy link
Author

alchemy link f71c721

@unidevel
Copy link
Author

Added new rebase item:

unidevel added a commit that referenced this pull request Jun 11, 2025
Alchemy-item: [Create dummy.txt for rebase test](#1 (comment)) commit 1/1 - f71c721
unidevel added a commit that referenced this pull request Jun 11, 2025
Alchemy-item: [Create dummy.txt for rebase test](#1 (comment)) commit 1/1 - f71c721
unidevel added a commit that referenced this pull request Jun 11, 2025
Alchemy-item: [Create dummy.txt for rebase test](#1 (comment)) commit 1/1 - f71c721
unidevel added a commit that referenced this pull request Jun 11, 2025
Alchemy-item: [Create dummy.txt for rebase test](#1 (comment)) commit 1/1 - f71c721
unidevel pushed a commit that referenced this pull request Jun 11, 2025
Summary:
Pull Request resolved: facebookincubator#12989

Currently the Presto expression fuzzer is broken for dereference queries and we have subsequently removed the flag `--enable_dereference` from continuous runs to stabilize the fuzzer. This issue comes from how test Presto SQL is constructed, namely two particular issues:
1. How field names are attached to their parent
2. How rows with particular field names are constructed (and then dereferenced)
 ---
For the former (point #1), the fuzzer is attempting to execute the following expression:
```
if("c0","c1")["row_field0"]
```
This expression aims to access `row_field0` of row `c1` if `c0` is true. Unfortunately the SQL isn't properly constructed and fails because `row_field0` is undefined:
```
Execute presto sql: SELECT row_field0 as p0, row_number as p1 FROM (t_values)
```
This review updates the logic in both PrestoSql (toCallInputsSql function) and the visit plan node function of the PrestoQuery runner to add the missing SQL.

 ---

For the latter (point #2), the fuzzer attempts to build a row and immediately access a particular field, as an example:
```
CONCAT(c0)[row_field0]
```
or, in essence
```
row(c0).row_field0
```
The problem is two-fold. Firstly, the default field name is of the form `field0`, `field1`, etc., so we will need to update the field name. Secondly, the above is not possible in Presto; it will fail:
```
ROW('hello', 5).field0
```
The way to make the above work is to cast and explicitly define the field names and types:
```
select cast(row('hello', 15) as row(field0 varchar, field1 integer)).field0
```
This PR adds this functionality (see test plan for example).

Reviewed By: kagamiori

Differential Revision: D72755054

fbshipit-source-id: d619eeec0c0f320c476c0056b9e00d16de3c1485
unidevel added a commit that referenced this pull request Jun 11, 2025
Alchemy-item: [Create dummy.txt for rebase test](#1 (comment)) commit 1/1 - f71c721
unidevel added a commit that referenced this pull request Jun 11, 2025
Alchemy-item: [Create dummy.txt for rebase test](#1 (comment)) commit 1/1 - f71c721
unidevel added a commit that referenced this pull request Jun 11, 2025
Alchemy-item: [Create dummy.txt for rebase test](#1 (comment)) commit 1/1 - f71c721
unidevel added a commit that referenced this pull request Jun 11, 2025
Alchemy-item: [Create dummy.txt for rebase test](#1 (comment)) commit 1/1 - f71c721
unidevel added a commit that referenced this pull request Jun 11, 2025
Alchemy-item: [Create dummy.txt for rebase test](#1 (comment)) commit 1/1 - f71c721
unidevel added a commit that referenced this pull request Jun 13, 2025
Alchemy-item: [Create dummy.txt for rebase test](#1 (comment)) commit 1/1 - f71c721
unidevel added a commit that referenced this pull request Jun 13, 2025
Alchemy-item: [Create dummy.txt for rebase test](#1 (comment)) commit 1/1 - f71c721
unidevel added a commit that referenced this pull request Jun 13, 2025
Alchemy-item: [Create dummy.txt for rebase test](#1 (comment)) commit 1/1 - f71c721
unidevel added a commit that referenced this pull request Jun 13, 2025
Alchemy-item: [Create dummy.txt for rebase test](#1 (comment)) commit 1/1 - f71c721
unidevel added a commit that referenced this pull request Jun 18, 2025
Alchemy-item: [Create dummy.txt for rebase test](#1 (comment)) commit 1/1 - f71c721
unidevel pushed a commit that referenced this pull request Jul 9, 2025
…ger-overflow (facebookincubator#13831)

Summary:
Pull Request resolved: facebookincubator#13831

This avoids the following errors:

```
fbcode/third-party-buck/platform010/build/libgcc/include/c++/trunk/bits/std_abs.h:56:41: runtime error: negation of -9223372036854775808 cannot be represented in type 'long'; cast to an unsigned type to negate this value to itself
    #0 0x000000346ce5 in std::abs(long) fbcode/third-party-buck/platform010/build/libgcc/include/c++/trunk/bits/std_abs.h:56
    #1 0x000000345879 in std::shared_ptr<facebook::velox::BiasVector<facebook::velox::test::EvalTypeHelper<long>::Type>> facebook::velox::test::VectorMaker::biasVector<long>(std::vector<std::optional<long>, std::allocator<std::optional<long>>> const&) fbcode/velox/vector/tests/utils/VectorMaker-inl.h:58
    #2 0x000000344d34 in facebook::velox::test::BiasVectorErrorTest::errorTest(std::vector<std::optional<long>, std::allocator<std::optional<long>>>) fbcode/velox/vector/tests/BiasVectorTest.cpp:39
    #3 0x00000033ec99 in facebook::velox::test::BiasVectorErrorTest_checkRangeTooLargeError_Test::TestBody() fbcode/velox/vector/tests/BiasVectorTest.cpp:44
    #4 0x7fe0a2342c46 in void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(testing::Test*, void (testing::Test::*)(), char const*) fbsource/src/gtest.cc:2727
    #5 0x7fe0a234275d in testing::Test::Run() fbsource/src/gtest.cc:2744
    #6 0x7fe0a2345fb3 in testing::TestInfo::Run() fbsource/src/gtest.cc:2890
    #7 0x7fe0a234c8eb in testing::TestSuite::Run() fbsource/src/gtest.cc:3068
    #8 0x7fe0a237b52b in testing::internal::UnitTestImpl::RunAllTests() fbsource/src/gtest.cc:6059
    #9 0x7fe0a237a0a2 in bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(testing::internal::UnitTestImpl*, bool (testing::internal::UnitTestImpl::*)(), char const*) fbsource/src/gtest.cc:2727
    #10 0x7fe0a23797f5 in testing::UnitTest::Run() fbsource/src/gtest.cc:5599
    #11 0x7fe0a2239800 in RUN_ALL_TESTS() fbsource/gtest/gtest.h:2334
    #12 0x7fe0a223952c in main fbcode/common/gtest/LightMain.cpp:20
    #13 0x7fe09ec2c656 in __libc_start_call_main /home/engshare/third-party2/glibc/2.34/src/glibc-2.34/csu/../sysdeps/nptl/libc_start_call_main.h:58:16
    #14 0x7fe09ec2c717 in __libc_start_main@GLIBC_2.2.5 /home/engshare/third-party2/glibc/2.34/src/glibc-2.34/csu/../csu/libc-start.c:409:3
    #15 0x00000033d8b0 in _start /home/engshare/third-party2/glibc/2.34/src/glibc-2.34/csu/../sysdeps/x86_64/start.S:116

UndefinedBehaviorSanitizer: signed-integer-overflow fbcode/third-party-buck/platform010/build/libgcc/include/c++/trunk/bits/std_abs.h:56:41
```
Avoid overflow by using the expression (static_cast<uint64_t>(1) + ~static_cast<uint64_t>(min)) to calculate the absolute value of min without using std::abs

Reviewed By: dmm-fb, peterenescu

Differential Revision: D76901449

fbshipit-source-id: 7eb3bd0f83e42f44cdf34ea1759f3aa9e1042dae
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant