Open JayWhite2357 opened 2 weeks ago
/bounty $50
/attempt #236
with your implementation plan. Note: we will only assign an issue if you include an implementation plan with a time estimate. Additionally, to be assigned an issue, you must have previously contributed to the project. You can still work on an issue and submit a PR without being assigned./claim #236
in the PR body to claim the bountyThank you for contributing to spaceandtimelabs/sxt-proof-of-sql!
Add a bounty • Share on socials
Attempt | Started (GMT+0) | Solution |
---|---|---|
🟢 @Harsh9485 | Oct 15, 2024, 10:33:45 AM | #285 |
🟢 @akhilender-bongirwar | #284 |
/attempt #236
💡 @akhilender-bongirwar submitted a pull request that claims the bounty. You can visit your bounty board to reward.
💡 @Harsh9485 submitted a pull request that claims the bounty. You can visit your bounty board to reward.
Background and Motivation
Rust macros are a bit of a anti-pattern. In particular, the
query!
macro, which is used as a testing utility macro to testQueryExpr
, obfuscates the tests.Changes Required
query!
macro and replace it with explicit uses of the tested methods. For example, https://github.com/spaceandtimelabs/sxt-proof-of-sql/blob/e2eb590ec5f100ae048c85474dc9f576901303cb/crates/proof-of-sql/src/sql/parse/query_expr_tests.rs#L1166-L1170 can be replaced byget_test_accessor
so that it is explicit what the tables, columns, and data types are in theSchemaAccessor
. For example, the above query has at
table with the columnsi
,i0
, andi1
, all withBigInt
type. These columns should also be renamed to be slightly less generic and/or more helpful.query!
macro.NOTE: the macro is almost exclusively a macro that builds the query text. The actual functionality being tested should be essentially unchanged.