Skip to content

Conversation

@gilsonjoanelo
Copy link
Contributor

Merge conflict resolved.

  1. Add isUnicode parameter to StringLiteralQueryType function
  2. Update code to use ternary operator

Test implementation

  1. NorthwindAggregateOperatorsQueryFbTest: Contains_with_local_collection_sql_injection
  2. NorthwindMiscellaneousQueryFbTest: Contains_over_concatenated_columns_both_fixed_length

Unicode support

Correção do erro Implementation limit exceeded

Add isUnicode parameter to StringLiteralQueryType function

@gilsonjoanelo gilsonjoanelo changed the title Unicode Support and Testing Unicode Support, Between Support and Testing Jan 11, 2026
@gilsonjoanelo
Copy link
Contributor Author

This PR introduces support for translating binary expressions of the form:

column >= min && column <= max

into the Firebird SQL BETWEEN operator:

column BETWEEN min AND max

Changes included:

  • Override of VisitBinary in the Firebird QuerySqlGenerator to detect the >= and <= pattern on the same column and emit BETWEEN.
  • Added functional tests in SqlQueryFbTest to validate that queries using >= && <= are correctly translated into BETWEEN.
  • Added negative tests to ensure that BETWEEN is not generated when:
  • Different columns are used in the comparisons.
  • Only one side of the comparison (>= or <=) is present.
    Motivation:
    Firebird supports the BETWEEN operator natively, and translating this common LINQ pattern improves readability and efficiency of generated SQL.

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