-
Notifications
You must be signed in to change notification settings - Fork 1
Add granular query operation capabilities to driver schema #49
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
Changes from all commits
46d6487
25cb777
cb37a43
4c80263
8eb2e9f
803f055
f1f81d9
7767187
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -51,18 +51,50 @@ export const DriverDefinitionSchema = z.object({ | |
| * and what to compute in memory. | ||
| */ | ||
| export const DatasourceCapabilities = z.object({ | ||
| /** Can execute SQL-like joins natively? */ | ||
| joins: z.boolean().default(false), | ||
| // ============================================================================ | ||
| // Transaction & Connection Management | ||
| // ============================================================================ | ||
|
|
||
| /** Can handle ACID transactions? */ | ||
| transactions: z.boolean().default(false), | ||
|
|
||
| // ============================================================================ | ||
| // Query Operations | ||
| // ============================================================================ | ||
|
|
||
| /** Can execute WHERE clause filters natively? */ | ||
| queryFilters: z.boolean().default(false), | ||
|
|
||
| /** Can perform aggregation (group by, sum, avg)? */ | ||
| queryAggregations: z.boolean().default(false), | ||
|
|
||
| /** Can perform ORDER BY sorting? */ | ||
| querySorting: z.boolean().default(false), | ||
|
|
||
| /** Can perform LIMIT/OFFSET pagination? */ | ||
| queryPagination: z.boolean().default(false), | ||
|
|
||
| /** Can perform window functions? */ | ||
| queryWindowFunctions: z.boolean().default(false), | ||
|
|
||
| /** Can perform subqueries? */ | ||
| querySubqueries: z.boolean().default(false), | ||
|
Comment on lines
+65
to
+81
|
||
|
|
||
| /** Can execute SQL-like joins natively? */ | ||
| joins: z.boolean().default(false), | ||
|
|
||
| // ============================================================================ | ||
| // Advanced Features | ||
| // ============================================================================ | ||
|
|
||
| /** Can perform full-text search? */ | ||
| fullTextSearch: z.boolean().default(false), | ||
| /** Can perform aggregation (group by, sum, avg)? */ | ||
| aggregation: z.boolean().default(false), | ||
| /** Is scheme-less (needs schema inference)? */ | ||
| dynamicSchema: z.boolean().default(false), | ||
|
|
||
| /** Is read-only? */ | ||
| readOnly: z.boolean().default(false), | ||
|
|
||
| /** Is scheme-less (needs schema inference)? */ | ||
| dynamicSchema: z.boolean().default(false), | ||
| }); | ||
|
|
||
| /** | ||
|
|
||
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.
The removal of the
aggregationcapability field and its replacement withqueryAggregationsis a breaking change. While this rename provides better clarity and consistency with the new query capability naming scheme, any existing code that referencescapabilities.aggregationwill break.Consider: