Skip to content

Split parser tests into focused files, add module docs#16

Merged
dannywillems merged 2 commits intomainfrom
danny/split-parser-tests
Feb 11, 2026
Merged

Split parser tests into focused files, add module docs#16
dannywillems merged 2 commits intomainfrom
danny/split-parser-tests

Conversation

@dannywillems
Copy link
Contributor

Summary

  • Rename parser/parser.rs to parser/core.rs to remove
    #[allow(clippy::module_inception)]
  • Add comprehensive rustdoc to parser/mod.rs documenting supported
    SQL syntax, parsing approach, data types, and limitations
  • Split monolithic parser_comprehensive.rs (2117 lines) into 12
    focused test files with shared helpers in tests/common/mod.rs

Test files

File Tests Scope
parser_select_columns 10 Wildcards, aliases, DISTINCT
parser_select_from 18 FROM, subqueries, all JOIN types
parser_select_clauses 12 WHERE, GROUP BY, HAVING, ORDER BY, LIMIT
parser_insert 8 VALUES, DEFAULT VALUES, INSERT...SELECT
parser_update_delete 12 UPDATE SET, DELETE, aliases, FROM
parser_literals 8 Integers, floats, strings, blobs, booleans
parser_operators 29 Binary, unary, bitwise, precedence
parser_expressions 14 IS NULL, BETWEEN, IN, CASE, CAST
parser_functions 18 Aggregates, custom funcs, subqueries, params
parser_data_types 11 All data types via CAST
parser_complex 8 Multi-feature realistic queries
parser_errors 6 Error cases

All 154 tests preserved verbatim.

Test plan

  • cargo test -p oxide-sql-core — 154 tests pass
  • cargo clippy -p oxide-sql-core -- -D warnings — clean
  • make check-trailing-whitespace — clean

Remove #[allow(clippy::module_inception)] by renaming the inner
parser.rs to core.rs. Add comprehensive rustdoc to parser/mod.rs
documenting supported SQL features, parsing approach, data types,
and known limitations.
Replace the monolithic 2117-line test file with 12 topic-focused
files sharing helpers via tests/common/mod.rs. All 154 tests are
preserved verbatim. Files: parser_select_columns (10 tests),
parser_select_from (18), parser_select_clauses (12),
parser_insert (8), parser_update_delete (12), parser_literals (8),
parser_operators (29), parser_expressions (14),
parser_functions (18), parser_data_types (11),
parser_complex (8), parser_errors (6).
@dannywillems dannywillems merged commit bfaa2a3 into main Feb 11, 2026
7 checks passed
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.

1 participant