--- warning: DO NOT CHANGE THIS MANUALLY, THIS IS GENERATED BY https://github.com/duckdb/community-extensions repository, check README there title: query_limiter excerpt: | DuckDB Community Extensions Reject queries before physical execution when estimated table scans exceed a configured row budget extension: name: query_limiter description: Reject queries before physical execution when estimated table scans exceed a configured row budget version: 0.2.0 language: C++ build: cmake license: MIT excluded_platforms: "wasm_mvp;wasm_eh;wasm_threads" maintainers: - dentiny repo: github: dentiny/duckdb-query-limiter variegata: 8febc919c9240343112b6a54468074fe48628ea1 ref: 739c7964074f2adce00cdf9dc130a109d0b01e6f docs: hello_world: | SET max_rows_to_scan = 1000000; CREATE TABLE limiter_demo AS SELECT i FROM range(100) tbl(i); SELECT sum(i) FROM limiter_demo; extended_description: | Query Limiter is a DuckDB extension that rejects queries before physical execution when DuckDB estimates that table scans would exceed a configured row budget. extension_star_count: 1 extension_star_count_pretty: 1 extension_download_count: 842 extension_download_count_pretty: 842 image: '/images/community_extensions/social_preview/preview_community_extension_query_limiter.png' layout: community_extension_doc --- ### Compatibility Matrix This table covers all DuckDB releases that have not reached [end-of-life](https://duckdb.org/release_calendar), including LTS releases, and shows the 2 most recent patch releases of each. Older patch releases are not listed, but the extension may be available for them as well.
| Platform | 1.4.4 | 1.4.5 | 1.5.5 | 1.5.6 | 2.0.0 | | :--- | :---: | :---: | :---: | :---: | :---: | | Linux AMD64 | ❌ | ❌ | ✅ | ✅ | ✅ | | Linux ARM64 | ❌ | ❌ | ✅ | ✅ | ✅ | | macOS AMD64 | ❌ | ❌ | ✅ | ✅ | ✅ | | macOS ARM64 | ❌ | ❌ | ✅ | ✅ | ✅ | | Windows AMD64 | ❌ | ❌ | ✅ | ✅ | ✅ | | Windows ARM64 | ❌ | ❌ | ❌ | ❌ | ❌ | | WebAssembly | ❌ | ❌ | ❌ | ❌ | ❌ | ### Installing and Loading ```sql INSTALL {{ page.extension.name }} FROM community; LOAD {{ page.extension.name }}; ``` {% if page.docs.hello_world %} ### Example ```sql {{ page.docs.hello_world }}``` {% endif %} {% if page.docs.extended_description %} ### About {{ page.extension.name }} {{ page.docs.extended_description }} {% endif %} ### Added Functions | function_name | function_type | description | comment | examples | |------------------------|---------------|-----------------------------------------------------------------------------------------------------------|---------|------------------------------------------------------------| | query_limiter_estimate | scalar | Plans one SQL statement without executing it and returns its estimated table-scan rows and unknown scans. | NULL | [SELECT query_limiter_estimate('SELECT * FROM my_table');] | ### Overloaded Functions This extension does not add any function overloads. ### Added Types This extension does not add any types. ### Added Settings | name | description | input_type | scope | aliases | typed_value | |--------------------------|------------------------------------------------------------------------------------------------------------------------|------------|--------|---------|----------------------| | max_rows_to_scan | Reject queries before execution when estimated table-scan rows exceed this value. Defaults to the maximum idx_t value. | UBIGINT | GLOBAL | [] | 18446744073709551615 | | max_rows_to_scan_unknown | Policy for scans without row estimates when max_rows_to_scan is enabled: allow or reject. | VARCHAR | GLOBAL | [] | allow | | temp_directory | Set the directory to which temporary files are written. | VARCHAR | GLOBAL | [] | post.db.tmp |