Skip to contents

Connecting

Opening a database, optionally straight onto a branch. dbConnect() takes the DoltLite-specific branch, bigint and busy_timeout arguments alongside the usual DBI ones.

DBI classes and methods

The ordinary DBI surface. These behave as they would for any SQLite database, with the documented exceptions around clustered primary keys and transactions.

DoltliteDriver-class
DoltLite driver class
dbIsValid(<DoltliteConnection>) dbDisconnect(<DoltliteConnection>) show(<DoltliteConnection>) dbGetInfo(<DoltliteConnection>) dbSendQuery(<DoltliteConnection>,<character>) dbSendStatement(<DoltliteConnection>,<character>) dbGetQuery(<DoltliteConnection>,<character>) dbExecute(<DoltliteConnection>,<character>) dbListTables(<DoltliteConnection>) dbExistsTable(<DoltliteConnection>,<character>) dbListFields(<DoltliteConnection>,<character>) dbRemoveTable(<DoltliteConnection>,<character>) dbReadTable(<DoltliteConnection>,<character>) dbQuoteIdentifier(<DoltliteConnection>,<character>) dbQuoteIdentifier(<DoltliteConnection>,<SQL>) dbQuoteString(<DoltliteConnection>,<character>) dbQuoteString(<DoltliteConnection>,<SQL>) dbExistsTable(<DoltliteConnection>,<SQL>) dbListFields(<DoltliteConnection>,<SQL>) dbReadTable(<DoltliteConnection>,<SQL>) dbRemoveTable(<DoltliteConnection>,<SQL>)
DoltLite connection class
dbIsValid(<DoltliteResult>) dbClearResult(<DoltliteResult>) dbFetch(<DoltliteResult>) dbHasCompleted(<DoltliteResult>) dbGetRowCount(<DoltliteResult>) dbGetRowsAffected(<DoltliteResult>) dbGetStatement(<DoltliteResult>) dbColumnInfo(<DoltliteResult>) dbBind(<DoltliteResult>) show(<DoltliteResult>)
DoltLite result class
dbWriteTable(<DoltliteConnection>,<character>,<data.frame>) dbCreateTable(<DoltliteConnection>,<character>) dbAppendTable(<DoltliteConnection>,<character>,<data.frame>) dbWriteTable(<DoltliteConnection>,<SQL>,<data.frame>) dbCreateTable(<DoltliteConnection>,<SQL>) dbAppendTable(<DoltliteConnection>,<SQL>,<data.frame>)
Write a data frame to a table
dbDataType(<DoltliteDriver>) dbDataType(<DoltliteConnection>)
SQL type for an R object
dbBegin(<DoltliteConnection>) dbCommit(<DoltliteConnection>) dbRollback(<DoltliteConnection>)
Transactions

Configuring and committing

The commit loop. Note that dolt_commit() is the Dolt sense of commit — it writes to the version history — and is unrelated to DBI::dbCommit().

dolt_config()
Configure the committer identity
dolt_add()
Stage tables
dolt_commit()
Commit the current working set
dolt_status()
Working-set status
dolt_reset()
Undo uncommitted work
dolt_revert()
Revert a commit
dolt_cherry_pick()
Cherry-pick a commit

Branches, merging and conflicts

Each connection selects its own branch. Conflicts exist only inside the transaction that produced them, so a merge you expect to conflict belongs in one.

dolt_branch() dolt_branches()
Create, list or delete branches
dolt_checkout()
Switch branches
dolt_active_branch() active_branch()
The current branch
dolt_merge()
Merge a branch into the current one
dolt_merge_base()
Merge base of two commits
dolt_merge_status()
Merge status
dolt_rebase()
Rebase the current branch onto another
dolt_tag() dolt_tags()
Tags
dolt_conflicts() dolt_conflicts_table() dolt_conflicts_resolve()
Conflicts
dolt_constraint_violations()
Constraint violations left by a merge

History, diffs and time travel

Reading the past: what changed, when, who changed it, and what a table looked like at any revision.

dolt_log()
Commit history
dolt_diff()
Which tables changed, per commit
dolt_table_diff()
Row-level differences for one table
dolt_diff_stat() dolt_diff_summary() dolt_schema_diff()
Diff statistics and summaries
dolt_patch()
Executable patch between two refs
dolt_history()
Every version of every row in a table
dolt_at()
A table as it existed at a given revision
dolt_blame()
Which commit last set each row
dolt_workspace()
Row-level working and staged edits
dolt_schemas()
Versioned views and triggers

Remotes

Push, pull, fetch and clone over the filesystem or HTTP.

dolt_remote() dolt_remotes()
Manage remotes
dolt_push() dolt_fetch()
Exchange commits with a remote
dolt_pull()
Fetch, then fast-forward or merge
dolt_clone()
Clone a remote database
dolt_creds() dolt_creds_new()
Credentials for authenticated remotes

Interactive

A Shiny gadget and RStudio addin in the spirit of RStudio’s Git pane, over a connection you already have open: the working set and its row-level diffs, the history, and branch operations including merging with conflict resolution. Requires the suggested shiny, miniUI and DT packages.

dolt_pane() dolt_pane_addin()
A Git-pane-style gadget for a DoltLite connection

Introspection and maintenance

dolt_hashof() dolt_hashof_table() dolt_hashof_db()
Content-addressed hashes
dolt_version()
DoltLite version
doltlite_engine() doltlite_version()
Library information
dolt_gc()
Garbage-collect unreachable chunks
dolt_verify_constraints()
Re-check constraints

Calling anything else

DoltLite’s version-control surface is split between scalar SQL functions and virtual tables. These two helpers reach whichever part this package does not wrap yet, with arguments bound as parameters rather than pasted into SQL.

dolt_scalar()
Call a Dolt scalar SQL function
dolt_table()
Query a Dolt virtual table or table-valued function

Re-exported from DBI