Skip to content

Fix compilation issues #5

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

Merged
merged 9 commits into from
Aug 23, 2021
Merged

Fix compilation issues #5

merged 9 commits into from
Aug 23, 2021

Conversation

markwongsk
Copy link

Refer to commit history for more chronological information.

High-level

  1. Addressed two issues with &'static str and changed it to . This resolves most of the 'de lifetime issues.
  2. Blanket "fixed" ParserError types by just giving an empty string as the first argument. This only fixes the compilation errors. The tests will still fail and will be addressed in a later date.
  3. Fix some other type changes.

-- Could also use `serde(bound(deserialize = "'de: 'static"))`
-- But I think that will need to be applied on all structs
-- that depend on Expr... which I assume will be ubiquitous
@markwongsk markwongsk changed the base branch from main to don/hacking August 20, 2021 10:44
@markwongsk markwongsk requested a review from donhcd August 20, 2021 10:46
Copy link

@donhcd donhcd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice work onboarding onto rust 👏🏼 👏🏼 👏🏼

@@ -164,7 +164,7 @@ pub enum Expr {
/// `IS [NOT] { NULL | FALSE | TRUE | UNKNOWN }` expression
Is {
expr: Box<Expr>,
check: &'static str,
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

weird, why didn't it like &'static str?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

My understanding is static str reference has some lifetime bounds that are longer than what the compiler expects

@markwongsk markwongsk merged commit 7fa2e60 into don/hacking Aug 23, 2021
@markwongsk markwongsk deleted the mark/fix-tests-compile branch August 23, 2021 08:29
donhcd added a commit that referenced this pull request Jan 13, 2023
* cargo fmt

* add json index for snowflake, bq

* add flatten

* add snowflake dateparts

* useful parsing errors

* parse decimals without 0 prefix

* snowflake: within group

* snowflake: json bracket syntax

* snowflake: join where

* snowflake: ilike

* snowflake: handle like ... escape ...

* snowflake: try_cast

* snowflake: qualify

* snowflake: handle pivot

* snowflake: allow idents to start with $

* snowflake: fix parsing for position

* snowflake: minus set operator

* snowflake json: cleanup/fix bracket and dot notation

* snowflake: number

* snowflake: string literal parse esc quotes

* snowflake: nested exprs can be lists

* join constraints are not required

* smarter number literal parsing with state machine for scientific notation

* snowflake: date/time field variants

* rs/pg: AT TIME ZONE

* rs: ignore/respect nulls

* tokenizer: treat zwsp as whitespace

* pg/rs: SIMILAR TO

* rs: allow brackets around idents

* rs: allow str literal date/time parts

* rs: more IS [NOT] *

* pg: add json ops

* add BigQueryDialect

* bq: backtick quoted idents

* bq: be resilient to trailing commas

* bq: be much more flexible with parsing function args

* bq: handle idents using backticks

* bq: handle interval parsing

* bq: parse regex literals (consider merging with snowflake str parsing)

* bq: add in more date/time parts

* bq: allow aliases with backtick quoting

* bq: parse wildcard modifiers except/replace

* bq: named window specs

* bq: IN <expr>

* snowflake: remove special position handling? maybe should remove more

* bq: double quoted string

* bq: typeless structs

* bq: add secret datetime fields

* fixup bq args bs

* snowflake: ignore/respect nulls for window funcs

* Added Unpivot. Fixed some Pivot (#2)

-- Technically, unpivot has some stricter
   expr requirements (eg instead of expr for ident in col_list
   it should be <column> for ident in col_list). I haven't been
   able to navigate to find this stricter definition yet, but
   maybe we want this fix ASAP.

* [SIG-13647] allow idents for limits and offsets (#3)

* Fix compilation issues (#5)

* Use enum to prevent &'static str lifetime issues

-- Could also use `serde(bound(deserialize = "'de: 'static"))`
-- But I think that will need to be applied on all structs
-- that depend on Expr... which I assume will be ubiquitous

* Make WindowSpec serializable

* Fix more static str stuff

* Fixed tests

* Fixed all compilation errors

* Run clippy --fix

* Fixd lint errors

* Fix more lint errors

* Fix remaining lint issues

* Fix tests pass (#7)

* Fixed trivial tests failures

* Fixed more tests

* Ignored backcompat breaks... for now

* More simple tests fixes

* Fixed tests... but not sure whether this is right

* Clippy

* cargo fmt

* Fixed regression #1

* Fixed second regression

* Ignore snowflake numeric failing test

* Added tests for sigma-related parser changes (#8)

* Added regression tests

* Added test for sigma-related parser changes

* Amended comments

* Removed extraneous println

* Fixed build errors part 1

* Manual cargo fmt because it's hanging on my machine

* When you fail at %s

Co-authored-by: Mark Wong Siang Kai <markwongsk@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants