fix(models): Prevent trailing newlines in generated SQL queries #112
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
should query model
test case intests/models/modelsRestApiClient.test.ts
was failing due to a strict equality check on the generated SQL query. The actual query contained a trailing newline character that was not present in the expected output.Root Cause:
The
queryModel
,batchQueryModel
, andfinetuneModel
methods insrc/models/modelsRestApiClient.ts
constructed SQL queries by joining an array of clauses with\n
. If an optional clause (e.g., theUSING
orLIMIT
clause) was empty, the.join('\n')
method would still append a newline separator for that empty item, resulting in an incorrect trailing newline at the end of the final query string.To fix this, a
.filter(Boolean)
has been added to the array of clauses in all three affected methods (queryModel
,batchQueryModel
, andfinetuneModel
). This removes any empty or falsy strings from the array before they are joined, ensuring that no unnecessary newlines are appended.This change aligns these methods with the pattern already used in
trainModel
andretrainModel
in the same file, ensuring consistent and correct SQL query generation across the module.