Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.markdown
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ take on [dbext.vim][], improving on it on the following ways:
- Impala
- jq
- MongoDB
- MotherDuck
- MySQL
- MariaDB
- Oracle
Expand Down
2 changes: 1 addition & 1 deletion autoload/db/adapter/duckdb.vim
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ function! db#adapter#duckdb#command(url) abort
endfunction

function! db#adapter#duckdb#interactive(url) abort
return db#adapter#duckdb#command(a:url) + ['-column', '-header']
return db#adapter#duckdb#command(a:url) + ['-cmd', '.output']
endfunction

function! db#adapter#duckdb#tables(url) abort
Expand Down
34 changes: 34 additions & 0 deletions autoload/db/adapter/md.vim
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
function! db#adapter#md#canonicalize(url) abort
return a:url
endfunction

function! s:dbname(url) abort
let parsed = db#url#parse(a:url)
if has_key(parsed, 'opaque')
return parsed.opaque
endif
return ''
endfunction

function! db#adapter#md#dbext(url) abort
return {'dbname': s:dbname(a:url)}
endfunction

function! db#adapter#md#command(url) abort
if a:url != ''
return ['duckdb', a:url]
endif
return ['duckdb', 'md:']
endfunction

function! db#adapter#md#interactive(url) abort
return db#adapter#md#command(a:url) + ['-cmd', '.output']
endfunction

function! db#adapter#md#tables(url) abort
return split(join(db#systemlist(db#adapter#md#command(a:url) + ['-noheader', '-c', '.tables'])))
endfunction

function! db#adapter#md#massage(input) abort
return a:input . "\n;"
endfunction
14 changes: 14 additions & 0 deletions doc/dadbod.txt
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,20 @@ MongoDB ~
<
Any valid MongoDB connection string URI can be used.

*dadbod-md*
MotherDuck ~
>
md:
md:[<database>]
<
MotherDuck authenticates using a token stored as an environment variable
`motherduck_token`. If this environment variable is missing, all invocations
will open a browser and prompt the user to login to the MotherDuck console.

If the database is provided, it will be used as the default database (so
queries do not have to specify a database. If not, queries must specify a
database.

*dadbod-mysql*
MySQL ~
>
Expand Down