Validate query structure (required clauses, order)
(query: &Query, errors: &mut Vec<ValidationError>)
| 785 | |
| 786 | /// Validate query structure (required clauses, order) |
| 787 | fn validate_query_structure(query: &Query, errors: &mut Vec<ValidationError>) { |
| 788 | match query { |
| 789 | Query::Basic(basic_query) => { |
| 790 | validate_basic_query_structure(basic_query, errors); |
| 791 | } |
| 792 | Query::SetOperation(set_op) => { |
| 793 | validate_query_structure(&set_op.left, errors); |
| 794 | validate_query_structure(&set_op.right, errors); |
| 795 | } |
| 796 | Query::Limited { query, .. } => { |
| 797 | validate_query_structure(query, errors); |
| 798 | } |
| 799 | Query::WithQuery(_) => { |
| 800 | // TODO: Implement WithQuery validation |
| 801 | } |
| 802 | Query::Let(_) => { |
| 803 | // TODO: Implement LET validation |
| 804 | } |
| 805 | Query::For(_) => { |
| 806 | // TODO: Implement FOR validation |
| 807 | } |
| 808 | Query::Filter(_) => { |
| 809 | // TODO: Implement FILTER validation |
| 810 | } |
| 811 | Query::Return(return_query) => { |
| 812 | validate_return_query_structure(return_query, errors); |
| 813 | } |
| 814 | Query::Unwind(_) => { |
| 815 | // TODO: Implement UNWIND validation |
| 816 | } |
| 817 | Query::MutationPipeline(_) => { |
| 818 | // TODO: Validate mutation pipeline structure |
| 819 | } |
| 820 | } |
| 821 | } |
| 822 | |
| 823 | fn validate_basic_query_structure(query: &BasicQuery, errors: &mut Vec<ValidationError>) { |
| 824 | // Check for required MATCH clause |
no test coverage detected