-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Different result vector size between common and simplified path #5059
Comments
simplified SQL to : "try"( |
the problem is that the expression above have propagatesNulls_ true, however for null input switch takes the else branch and hence switch is not null propagating. and the expresion "try"( should have null propagate = false. |
…tePropagateNulls() API. Summary: This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Differential Revision: D46457021 fbshipit-source-id: 6e20f76bc34ca971c93bd2465edff6e7cf7e529b
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Differential Revision: D46457021 fbshipit-source-id: 8bb7429d6e0339cb157b975f8550e26947077915
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Differential Revision: https://www.internalfb.com/diff/D46457021?entry_point=27 fbshipit-source-id: 393b3a34a4f3e32c176354f49d6498cbcfe60baa
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Differential Revision: https://www.internalfb.com/diff/D46457021?entry_point=27 fbshipit-source-id: ca89f41cc8e3b68017a53beb966d5f4524b928e1
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Reviewed By: kagamiori Differential Revision: D46457021 fbshipit-source-id: 3b28747379b24abefe5b3723d2ba9ca9d81b6974
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Differential Revision: https://www.internalfb.com/diff/D46457021?entry_point=27 fbshipit-source-id: 3a05abefb8f9fce1b58897085d7f8611e56bedcd
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Differential Revision: https://www.internalfb.com/diff/D46457021?entry_point=27 fbshipit-source-id: d43f3931d2a4d4b3c2b9faa0766be68d0a08141f
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Reviewed By: kagamiori Differential Revision: D46457021 fbshipit-source-id: fb387c1addc9c6de629301b939b1cc493b991a6a
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Differential Revision: https://www.internalfb.com/diff/D46457021?entry_point=27 fbshipit-source-id: 1764f2f7a3d89e4f67b573b09f95e4c33565f29b
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Differential Revision: https://www.internalfb.com/diff/D46457021?entry_point=27 fbshipit-source-id: f18b11cc44c3c1fc754856c99a5556db752b5cee
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Differential Revision: https://www.internalfb.com/diff/D46457021?entry_point=27 fbshipit-source-id: e1190599d10e5ba60262c735e50d6c145bd904bd
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Reviewed By: kagamiori Differential Revision: D46457021 fbshipit-source-id: 4fce60af50218405b83bd698f47645eb384aa5a6
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Differential Revision: https://www.internalfb.com/diff/D46457021?entry_point=27 fbshipit-source-id: 9000dbc5e256a000bcec5ef8cd016b8c96db830c
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Reviewed By: kagamiori Differential Revision: D46457021 fbshipit-source-id: 95b89ec7b8ba5e65a300a24f4bc2ac8d0608fb01
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Differential Revision: https://www.internalfb.com/diff/D46457021?entry_point=27 fbshipit-source-id: d1b38e078747155057ac58cf64a0d28b081dc9dd
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Reviewed By: kagamiori Differential Revision: D46457021 fbshipit-source-id: 92100b0a894f6b294a489f0794c7d71e258fec13
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Differential Revision: https://www.internalfb.com/diff/D46457021?entry_point=27 fbshipit-source-id: fe0cf1e2a9786a6b0551b90436f115177a3be454
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Differential Revision: https://www.internalfb.com/diff/D46457021?entry_point=27 fbshipit-source-id: 4cb7532a1113eb652f90f17c563090a24780ef7b
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Reviewed By: kagamiori Differential Revision: D46457021 fbshipit-source-id: f194ba4f920ed97891b4ce3bfc31858016d06f20
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Differential Revision: https://www.internalfb.com/diff/D46457021?entry_point=27 fbshipit-source-id: 100dc594ec64ca728d1d025918ba8dca362b6bd1
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Differential Revision: https://www.internalfb.com/diff/D46457021?entry_point=27 fbshipit-source-id: b694458e8eeedf7960307284b0297869b69c86fa
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Reviewed By: kagamiori Differential Revision: D46457021 fbshipit-source-id: 5d8479132d3b157a9245dbe761e9e978cf4255fc
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Differential Revision: https://www.internalfb.com/diff/D46457021?entry_point=27 fbshipit-source-id: 32a4b05f855f01d3f12ac98e2a200e94eaf148f7
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Reviewed By: kagamiori Differential Revision: D46457021 fbshipit-source-id: 55d1a2f4ae2e981d4654b0dc8cbf83ad9ad1fa40
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Differential Revision: https://www.internalfb.com/diff/D46457021?entry_point=27 fbshipit-source-id: 970ec75cf67fbd088b01f656125618e4fa9a25f0
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Reviewed By: kagamiori Differential Revision: D46457021 fbshipit-source-id: f1262e439e91d23cb88895b1728fea5df9609477
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Differential Revision: https://www.internalfb.com/diff/D46457021?entry_point=27 fbshipit-source-id: 76acf23ee2ff17a1f4d579a8ece08e7e14e0925d
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Differential Revision: https://www.internalfb.com/diff/D46457021?entry_point=27 fbshipit-source-id: fac2da18ffb263cc7b838c8d724fca6b840cb05f
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Differential Revision: https://www.internalfb.com/diff/D46457021?entry_point=27 fbshipit-source-id: 3c56b789054ae520391ef9cdc4f6a31c2347f63e
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Reviewed By: kagamiori Differential Revision: D46457021 fbshipit-source-id: 9303e67b909632dad48523597c80b7d36ddac402
…tePropagateNulls() API. (facebookincubator#5287) Summary: Pull Request resolved: facebookincubator#5287 This fix a set of expression fuzzer failures such as facebookincubator#5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Differential Revision: https://www.internalfb.com/diff/D46457021?entry_point=27 fbshipit-source-id: 0a80833f024d89d125b8460548fda92a49e30908
…tePropagateNulls() API. (#5287) Summary: Pull Request resolved: #5287 This fix a set of expression fuzzer failures such as #5059. The diff split propagateNull() and computePropagateNulls() API. previously propagateNull() used to retrieve the propagateNull property for some expressions and re-compute it for others. with this change propagateNull() only accesses the pre-computed property. And computePropagateNulls() is called from computeMetaData to compute the property for some expressions. The diff also refactor computeMetaData for better readability, it used to interleave computations of different properties and combine things in a hard to track manner. Following diffs will address two remaining issues: - The re-compute that happens over and over during query compilations. - Avoid emptying distinct fields if shared with parents and simplify the API. Reviewed By: kagamiori Differential Revision: D46457021 fbshipit-source-id: 28c284bb4482d991e8db4c7ba49f910ce8a95835
Description
Fuzzer found a bug when evaluating an expression with all input vectors of size 86, the common path produces a result vector of size 86 whereas the simplified path produces a result vector of 100. The reason is that the result vector is moveOrCopyResult-ed from a sharedSubexprValues vector produced by evaluating on inner rows after peeling that have size 100.
moveOrCopyResult(localResult, rows, result)
in this case does receive a selectivity vector of size 86, but becauseresult
is a nullptr, it simply assignlocalResult
toresult
.Error Reproduction
The error can be reproduced by checking out D46245166 internally with the attached files.
velox_expressionVerifier_7l561q.zip
Relevant logs
The text was updated successfully, but these errors were encountered: