feature: duckdb adapter #102
Labels
No labels
CI/CD
UI/UX
autorelease: pending
bug
docs
duplicate
enhancement
good first issue
help wanted
invalid
question
refactor
size
L
size
M
size
S
size
XL
size
XS
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
noe.trevino/dadbod-ui.nvim#102
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Did you check the docs?
Is your feature request related to a problem? Please describe.
Duckdb connects through dadbod already, so people can open one, but they get a drawer with no introspection, no table helpers, no pagination. Its one of the most used databases in data work right now and we just dont have an adapter for it.
Describe the solution you'd like
Duckdb was built postgres compatible on purpose, so the postgres adapter is basically the template:
information_schema.schemata/information_schema.tablesinformation_schema.columns(it also kept sqlite'spragma_table_infoif thats easier)EXPLAINandEXPLAIN ANALYZE, it has bothlimit_offsetpaginationAcceptance Criteria
adapters/duckdb.luaexistsCURRENT_SUPPORT.mdmatrixDescribe alternatives/other solutions you've considered
Leaving it out and letting people register their own with
api.register_adapter. They can, but duckdb is common enough that it should be built in. I also just learned about it and it is the coolest thing in the worldStored procedures: Duckdb has macros, not procedures in the postgres or sql server sense, so
procedures_queryis left off and the drawer just doesnt render that section, same as sqlite. Its not a thing. Definitenly need to research this more thoughForeign key jump is the one field thats not a copy from postgres. Duckdb has
duckdb_constraints()but its fk enforcement was historically limited, so it needs writing and actually testing against a real fk before we claim it.We CAN omit this.