-
Notifications
You must be signed in to change notification settings - Fork 0
Added tests for sigma-related parser changes #8
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
Conversation
55683ab
to
3e84439
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this LGTM! but where did the query from / how did you form it? I'm a little worried that it's a little big., and failures might be painful to debug. But maybe that won't end up being too much of a problem
This was generated using your sample file. I cursorily skimmed over the generated data, but mainly wanted it to serve as a reference that this is currently how we parse the AST in Sigma, with future changes requiring a change to the generated AST. Hopefully, now that the build is fixed again, we can have smaller "unit" tests with the AST changes, and the AST here is mainly to capture a more realistic, real-world example. |
* 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>
No description provided.