Support overriding ROWCOUNT for SQL Server (#19267)
* Support overriding ROWCOUNT for SQL Server Add new "ROWCOUNT Override" connection property for `:sqlserver`, which will provide a DB-level mechanism to override the `ROWCOUNT` session level setting as needed for specific DBs Change `max-results-bare-rows` from a hardcoded constant to a setting definition instead, which permits a DB level override, and move the former constant default to a new def instead (`default-max-results-bare-rows`) For `:sqlserver`, set the DB-level setting override (if the connection property is set), via the `driver/normalize-db-details` impl Add test to confirm the original scenario from #9940 works using this new override (set to `0`) Move common computation function of overall row limit to the `metabase.query-processor.middleware.limit` namespace, and invoke it from execute now, called `determine-query-max-rows` Add new clause to the `determine-query-max-rows` function that preferentially takes the value from `row-limit-override` (if defined)
Showing
- bin/build-drivers/src/build_drivers/lint_manifest_file.clj 1 addition, 1 deletionbin/build-drivers/src/build_drivers/lint_manifest_file.clj
- modules/drivers/sqlserver/resources/metabase-plugin.yaml 4 additions, 0 deletionsmodules/drivers/sqlserver/resources/metabase-plugin.yaml
- modules/drivers/sqlserver/src/metabase/driver/sqlserver.clj 49 additions, 38 deletionsmodules/drivers/sqlserver/src/metabase/driver/sqlserver.clj
- modules/drivers/sqlserver/test/metabase/driver/sqlserver_test.clj 44 additions, 0 deletions...drivers/sqlserver/test/metabase/driver/sqlserver_test.clj
- src/metabase/driver/sql_jdbc/execute.clj 2 additions, 4 deletionssrc/metabase/driver/sql_jdbc/execute.clj
- src/metabase/driver/util.clj 2 additions, 2 deletionssrc/metabase/driver/util.clj
- src/metabase/query_processor/middleware/constraints.clj 14 additions, 5 deletionssrc/metabase/query_processor/middleware/constraints.clj
- src/metabase/query_processor/middleware/limit.clj 15 additions, 2 deletionssrc/metabase/query_processor/middleware/limit.clj
- test/metabase/query_processor/middleware/constraints_test.clj 1 addition, 1 deletion.../metabase/query_processor/middleware/constraints_test.clj
Please register or sign in to comment