--- warning: DO NOT CHANGE THIS MANUALLY, THIS IS GENERATED BY https://github.com/duckdb/community-extensions repository, check README there title: level_pivot excerpt: | DuckDB Community Extensions Storage extension wrapping LevelDB with pivot semantics for structured relational tables over key-value pairs extension: name: level_pivot description: Storage extension wrapping LevelDB with pivot semantics for structured relational tables over key-value pairs version: 1.0.0 language: C++ build: cmake license: GPL-3.0 excluded_platforms: "wasm_mvp;wasm_eh;wasm_threads" maintainers: - halgari repo: github: halgari/duckdb-level-pivot ref: 005c79629fbb9b6959c183249d3f722b9d300c2f docs: hello_world: | -- Attach a LevelDB database ATTACH '/tmp/mydb' AS kv (TYPE level_pivot, CREATE_IF_MISSING true); -- Create a pivot table: rows decompose into LevelDB key-value pairs -- Key pattern: users###### → attribute_value CALL level_pivot_create_table('kv', 'users', 'users##{group}##{id}##{attr}', ['group', 'id', 'name', 'email']); -- Insert data INSERT INTO kv.users VALUES ('admins', 'u1', 'Alice', 'alice@example.com'); INSERT INTO kv.users VALUES ('admins', 'u2', 'Bob', 'bob@example.com'); -- Query with standard SQL (filter pushdown on identity columns) SELECT * FROM kv.users; SELECT * FROM kv.users WHERE "group" = 'admins' AND id = 'u1'; extended_description: | LevelPivot is a DuckDB storage extension that wraps LevelDB with pivot semantics. It maps relational rows to LevelDB key-value pairs using configurable key patterns, enabling structured multi-column SQL tables on top of a key-value store. Tables are created via level_pivot_create_table() with a key pattern like 'users##{group}##{id}##{attr}' that defines how rows decompose into LevelDB entries. Identity columns ({group}, {id}) form the key prefix; attribute columns (name, email) each become a separate LevelDB key-value pair. Key Features: - Pivot mode: decomposes rows into per-attribute LevelDB entries - Raw mode: simple 2-column key-value access - Configurable key patterns with identity columns and delimiters - Typed columns: VARCHAR, BIGINT, INTEGER, DOUBLE, BOOLEAN - Filter pushdown on identity columns for efficient prefix scans - Full DML support: INSERT, INSERT INTO...SELECT, UPDATE, DELETE - SIMD-optimized key parsing (AVX2, SSE2, NEON) - Data persistence across DETACH/ATTACH cycles extension_star_count: 0 extension_star_count_pretty: 0 extension_download_count: 888 extension_download_count_pretty: 888 image: '/images/community_extensions/social_preview/preview_community_extension_level_pivot.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 | |--------------------------|---------------|-------------|---------|----------| | level_pivot_create_table | table | NULL | NULL | | | level_pivot_dirty_tables | table | NULL | NULL | | | level_pivot_drop_table | table | NULL | NULL | | ### Overloaded Functions
This extension does not add any function overloads. ### Added Types
This extension does not add any types. ### Added Settings
This extension does not add any settings.