Pruned docs directory. It was stale.
@@ -1,132 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# This script installs starts a dolt server on your Unix compatible computer.
|
||||
|
||||
if test -z "$BASH_VERSION"; then
|
||||
echo "Please run this script using bash, not sh or any other shell. It should be run as root." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
_() {
|
||||
|
||||
install_dolt() {
|
||||
# Install Dolt if it already doesn't exist
|
||||
echo "Installing Dolt..."
|
||||
|
||||
if ! command -v dolt &> /dev/null
|
||||
then
|
||||
sudo bash -c 'curl -L https://github.com/dolthub/dolt/releases/latest/download/install.sh | bash'
|
||||
fi
|
||||
}
|
||||
|
||||
setup_configs() {
|
||||
# Set up the dolt user along with core dolt configurations
|
||||
echo "Setting up Configurations..."
|
||||
|
||||
# Check if the user "dolt" already exists. If it exists double check that it is okay to continue
|
||||
if id -u "dolt" &> /dev/null; then
|
||||
echo "The user dolt already exists"
|
||||
read -r -p "Do you want to continue adding privileges to the existing user dolt? " response
|
||||
|
||||
response=${response,,} # tolower
|
||||
if ! ([[ $response =~ ^(yes|y| ) ]] || [[ -z $response ]]); then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
else
|
||||
# add the user if `dolt` doesn't exist
|
||||
useradd -r -m -d /var/lib/doltdb dolt
|
||||
fi
|
||||
|
||||
cd /var/lib/doltdb
|
||||
|
||||
read -e -p "Enter an email associated with your user: " -i "dolt-user@dolt.com" email
|
||||
read -e -p "Enter a username associated with your user: " -i "Dolt Server Account" username
|
||||
|
||||
sudo -u dolt dolt config --global --add user.email $email
|
||||
sudo -u dolt dolt config --global --add user.name $username
|
||||
}
|
||||
|
||||
# Database creation
|
||||
database_configuration() {
|
||||
echo "Setting up the dolt database..."
|
||||
|
||||
read -e -p "Input the name of your database: " -i "mydb" db_name
|
||||
local db_dir="databases/$db_name"
|
||||
|
||||
cd /var/lib/doltdb
|
||||
sudo -u dolt mkdir -p $db_dir
|
||||
|
||||
cd $db_dir
|
||||
sudo -u dolt dolt init
|
||||
}
|
||||
|
||||
# Setup and Start daemon
|
||||
start_server() {
|
||||
echo "Starting the server"
|
||||
|
||||
cd ~
|
||||
cat > dolt_config.yaml<<EOF
|
||||
log_level: info
|
||||
behavior:
|
||||
read_only: false
|
||||
autocommit: true
|
||||
user:
|
||||
name: root
|
||||
password: ""
|
||||
listener:
|
||||
host: localhost
|
||||
port: 3306
|
||||
max_connections: 100
|
||||
read_timeout_millis: 28800000
|
||||
write_timeout_millis: 28800000
|
||||
tls_key: null
|
||||
tls_cert: null
|
||||
require_secure_transport: null
|
||||
databases: []
|
||||
performance:
|
||||
query_parallelism: null
|
||||
EOF
|
||||
|
||||
cat > doltdb.service<<EOF
|
||||
[Unit]
|
||||
Description=dolt SQL server
|
||||
After=network.target
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
[Service]
|
||||
User=dolt
|
||||
Group=dolt
|
||||
ExecStart=/usr/local/bin/dolt sql-server --config=dolt_config.yaml
|
||||
WorkingDirectory=/var/lib/doltdb/databases/$db_name
|
||||
KillSignal=SIGTERM
|
||||
SendSIGKILL=no
|
||||
EOF
|
||||
|
||||
sudo chown root:root doltdb.service
|
||||
sudo chmod 644 doltdb.service
|
||||
sudo mv doltdb.service /etc/systemd/system
|
||||
sudo cp dolt_config.yaml /var/lib/doltdb/databases/$db_name
|
||||
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl enable doltdb.service
|
||||
sudo systemctl start doltdb
|
||||
}
|
||||
|
||||
validate_status() {
|
||||
if systemctl --state=active | grep "doltdb.service"; then
|
||||
echo "Sever successfully started..."
|
||||
else
|
||||
echo "ERROR: Server did not start properly..."
|
||||
fi
|
||||
}
|
||||
|
||||
install_dolt
|
||||
setup_configs
|
||||
database_configuration
|
||||
start_server
|
||||
validate_status
|
||||
}
|
||||
|
||||
|
||||
_ "$0" "$@"
|
||||
|
Before Width: | Height: | Size: 12 KiB |
@@ -1,10 +0,0 @@
|
||||
<svg width="163" height="56" viewBox="0 0 163 56" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M28.87 7.0459V45.8632C28.8654 46.7997 28.498 47.6965 27.8476 48.3591C27.1971 49.0217 26.316 49.3964 25.3957 49.402H10.4953C9.5713 49.402 8.68489 49.0298 8.0299 48.3666C7.3749 47.7035 7.00462 46.8034 7 45.8632V24.7722C7.00462 23.832 7.3749 22.9319 8.0299 22.2688C8.68489 21.6056 9.5713 21.2334 10.4953 21.2334H22.2115" stroke="#29E3C1" stroke-width="12.6599" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M156.3 49.4019H145.283" stroke="#29E3C1" stroke-width="12.6599" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M156.026 21.5259H134.174" stroke="#29E3C1" stroke-width="12.6599" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M145.336 7.0498V49.4024" stroke="#29E3C1" stroke-width="12.6599" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M72.2752 7.68311H59.049C56.6669 7.68311 54.7358 9.64808 54.7358 12.072V44.8074C54.7358 47.2313 56.6669 49.1963 59.049 49.1963H72.2752C74.6573 49.1963 76.5884 47.2313 76.5884 44.8074V12.072C76.5884 9.64808 74.6573 7.68311 72.2752 7.68311Z" stroke="#29E3C1" stroke-width="12.6599" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M119.586 49.4019H99.418" stroke="#29E3C1" stroke-width="12.6599" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M110.344 7.0498V49.4024" stroke="#29E3C1" stroke-width="12.6599" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<path d="M109.884 7H98.7939" stroke="#29E3C1" stroke-width="12.6599" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 142 KiB |
|
Before Width: | Height: | Size: 33 KiB |
85
docs/faq.md
@@ -1,85 +0,0 @@
|
||||
# Dolt FAQ
|
||||
|
||||
## Why is it called Dolt? Are you calling me dumb?
|
||||
|
||||
It's named `dolt` to pay homage to [how Linus Torvalds named
|
||||
git](https://en.wikipedia.org/wiki/Git#Naming):
|
||||
|
||||
> Torvalds sarcastically quipped about the name git (which means
|
||||
> "unpleasant person" in British English slang): "I'm an egotistical
|
||||
> bastard, and I name all my projects after myself. First 'Linux',
|
||||
> now 'git'."
|
||||
|
||||
We wanted a word meaning "idiot", starting with D for Data,
|
||||
short enough to type on the command line, and
|
||||
not taken in the standard command line lexicon. So,
|
||||
`dolt`.
|
||||
|
||||
## The MySQL shell gives me an error: `Can't connect to local MySQL server through socket '/tmp/mysql.sock'`
|
||||
|
||||
The MySQL shell will try to connect through a socket file on many OSes.
|
||||
To force it to use TCP instead, give it the loopback address like this:
|
||||
|
||||
```bash
|
||||
% mysql --host 127.0.0.1 ...
|
||||
```
|
||||
|
||||
## What does `@@autocommit` do?
|
||||
|
||||
This is a SQL variable that you can turn on for your SQL session like so:
|
||||
|
||||
`SET @@autocommit = 1`
|
||||
|
||||
It's on by default in the MySQL shell, as well as in most clients. But
|
||||
some clients (notably the Python MySQL connector) turn it off by
|
||||
default.
|
||||
|
||||
You must commit your changes for them to persist after your session
|
||||
ends, either by setting `@@autocommit` to on, or by issuing `COMMIT`
|
||||
statements manually.
|
||||
|
||||
## What's the difference between `COMMIT` and `DOLT_COMMIT()`?
|
||||
|
||||
`COMMIT` is a standard SQL statement that commits a transaction. In
|
||||
dolt, it just flushes any pending changes in the current SQL session
|
||||
to disk, updating the working set. HEAD stays the same, but your
|
||||
working set changes. This means your edits will persist after this
|
||||
session ends.
|
||||
|
||||
`DOLT_COMMIT()` commits the current SQL transaction, then creates a
|
||||
new dolt commit on the current branch. It's the same as if you run
|
||||
`dolt commit` from the command line.
|
||||
|
||||
## I want each of my connected SQL users to get their own branch to make changes on, then merge them back into `main` when they're done making edits. How do I do that?
|
||||
|
||||
We are glad you asked! This is a common use case, and giving each user
|
||||
their own branch is something we've spent a lot of time getting
|
||||
right. For more details on how to use this pattern effectively, see
|
||||
[using branches](https://docs.dolthub.com/reference/sql/branches).
|
||||
|
||||
## Does Dolt support transactions?
|
||||
|
||||
Yes, it should exactly work the same as MySQL, but with fewer locks
|
||||
for competing writes.
|
||||
|
||||
It's also possible for different sessions to connect to different
|
||||
branches on the same server. See [using
|
||||
branches](https://docs.dolthub.com/reference/sql/branches) for details.
|
||||
|
||||
## What SQL features / syntax are supported?
|
||||
|
||||
Most of them! Check out [the docs for the full list of supported
|
||||
features](https://docs.dolthub.com/reference/sql/support).
|
||||
|
||||
You can check out what we're working on next on our
|
||||
[roadmap](roadmap.md). Paying customers get their feature requests
|
||||
bumped to the front of the line.
|
||||
|
||||
## Does Dolt support my favorite SQL workbench / tool?
|
||||
|
||||
Probably! Have you tried it? If you try it and it doesn't work, [let
|
||||
us know with an issue](https://github.com/dolthub/dolt/issues) or in
|
||||
[our Discord](https://discord.com/invite/RFwfYpu) and we'll see what
|
||||
we can do. A lot of times we can fix small compatibility issues really
|
||||
quick, like the same week. And even if we can't, we want to know about
|
||||
it! Our goal is to be a 100% drop-in replacement for MySQL.
|
||||
|
Before Width: | Height: | Size: 397 KiB |
|
Before Width: | Height: | Size: 143 KiB |
|
Before Width: | Height: | Size: 320 KiB |
@@ -1,182 +0,0 @@
|
||||
# Dolt quickstart guide
|
||||
|
||||
This is a one-page guide to getting you started with Dolt as quickly
|
||||
as possible. If you're trying to participate in a
|
||||
[data bounty](https://www.dolthub.com/bounties), this will get you
|
||||
up and running. We think bounties are the most engaging way to get
|
||||
started using Dolt and DoltHub and understand how it all works.
|
||||
|
||||
This guide is intended for new data bounty participants, and is geared
|
||||
to that use case. You can find more complete documentation on how to
|
||||
use Dolt in the [README](../README.md) and in the [DoltHub
|
||||
documentation](https://docs.dolthub.com/introduction/installation).
|
||||
|
||||
## Install Dolt
|
||||
|
||||
```sh
|
||||
% sudo bash -c 'curl -L https://github.com/dolthub/dolt/releases/latest/download/install.sh | bash'
|
||||
```
|
||||
|
||||
For windows installation, see [here](windows.md).
|
||||
|
||||
## Configure dolt
|
||||
|
||||
```sh
|
||||
% dolt config --global --add user.email YOU@DOMAIN.COM
|
||||
% dolt config --global --add user.name "YOUR NAME"
|
||||
```
|
||||
|
||||
## Fork the data bounty
|
||||
|
||||
Forking a database makes a private copy for you to edit. Find the
|
||||
database you want to edit, then click the "Fork" button on the top
|
||||
left.
|
||||
|
||||

|
||||
|
||||
## Clone your fork
|
||||
|
||||
Cloning your fork of the database downloads it to your local computer
|
||||
so you can make changes to it. Click
|
||||
"Clone" to find the command to copy and paste into your terminal. This
|
||||
clone command will be different for every fork, so you can't just copy
|
||||
and paste the command in the text below.
|
||||
|
||||

|
||||
|
||||
Run the command, then cd into the database directory.
|
||||
|
||||
```sh
|
||||
% dolt clone dolthub/hospital-price-transparency
|
||||
% cd hospital-price-transparency
|
||||
```
|
||||
|
||||
## Inspect the data
|
||||
|
||||
Get familiar with the tables and their columns. The easiest way to do
|
||||
this is by using SQL commands. `show tables` and `describe <tablename>` are good commands to use when exploring a new database.
|
||||
|
||||
```sql
|
||||
% dolt sql
|
||||
# Welcome to the DoltSQL shell.
|
||||
# Statements must be terminated with ';'.
|
||||
# "exit" or "quit" (or Ctrl-D) to exit.
|
||||
hospital_price_transparency> show tables;
|
||||
+-----------+
|
||||
| Table |
|
||||
+-----------+
|
||||
| cpt_hcpcs |
|
||||
| hospitals |
|
||||
| prices |
|
||||
+-----------+
|
||||
hospital_price_transparency> describe hospitals;
|
||||
+----------------+--------------+------+-----+---------+-------+
|
||||
| Field | Type | Null | Key | Default | Extra |
|
||||
+----------------+--------------+------+-----+---------+-------+
|
||||
| npi_number | char(16) | NO | PRI | | |
|
||||
| name | varchar(256) | YES | | | |
|
||||
| url | varchar(512) | YES | | | |
|
||||
| street_address | varchar(512) | YES | | | |
|
||||
| city | varchar(64) | YES | | | |
|
||||
| state | varchar(32) | YES | | | |
|
||||
| zip_code | varchar(16) | YES | | | |
|
||||
| publish_date | date | YES | | | |
|
||||
+----------------+--------------+------+-----+---------+-------+
|
||||
hospital_price_transparency> select npi_number, name, street_address from hospitals limit 3;
|
||||
+------------+------------------------------------+---------------------+
|
||||
| npi_number | name | street_address |
|
||||
+------------+------------------------------------+---------------------+
|
||||
| 1003873225 | The Specialty Hospital Of Meridian | 1314 19th Ave |
|
||||
| 1023061405 | Grandview Medical Center | 3690 Grandview Pkwy |
|
||||
| 1023180502 | Medical City Dallas | 7777 Forest Ln |
|
||||
+------------+------------------------------------+---------------------+
|
||||
hospital_price_transparency> exit
|
||||
Bye
|
||||
```
|
||||
|
||||
## Add some data
|
||||
|
||||
There are two main ways to add data into your copy of the
|
||||
database. You can either import from files, or you can add data by
|
||||
writing scripts and inserting rows with SQL statements.
|
||||
|
||||
### Importing files
|
||||
|
||||
Use the `dolt table import` command to import CSV or JSON files. Use
|
||||
the `-u` option to update the table (instead of replacing the
|
||||
contents).
|
||||
|
||||
```sh
|
||||
% dolt table import -u prices hospital_prices.csv
|
||||
```
|
||||
|
||||
### Starting a SQL server
|
||||
|
||||
If you want to write a script to insert data with python or another
|
||||
programming language, start a SQL server on the command line:
|
||||
|
||||
```sh
|
||||
% dolt sql-server
|
||||
Starting server with Config HP="localhost:3306"|T="28800000"|R="false"|L="info"
|
||||
```
|
||||
|
||||
Then connect to the database with any standard MySQL connector and
|
||||
make your edits.
|
||||
|
||||
## See your changes
|
||||
|
||||
After you've inserted some data, you can inspect the changes you made
|
||||
using `dolt diff`. If you added a lot of rows, use the `--summary` flag
|
||||
to get a summary instead.
|
||||
|
||||
```sh
|
||||
% dolt diff
|
||||
% dolt diff --summary
|
||||
```
|
||||
|
||||
## Commit your changes
|
||||
|
||||
These commands work like `git`, if you know `git`. If you don't know
|
||||
`git`, don't worry! Most people who know `git` don't actually know
|
||||
`git` either!
|
||||
|
||||
```sh
|
||||
% dolt add .
|
||||
% dolt commit -m "This message describes my changes"
|
||||
```
|
||||
|
||||
You can repeat these steps as many times as you have more changes to add:
|
||||
|
||||
1. Add data
|
||||
2. Commit your changes
|
||||
|
||||
Every time you commit it creates a checkpoint you can roll back to if
|
||||
you mess up later.
|
||||
|
||||
## Push your changes back to DoltHub and create a PR
|
||||
|
||||
When you're done adding data, push the database back to DoltHub and
|
||||
submit a pull request (PR) to merge them back into the original fork.
|
||||
|
||||
```sh
|
||||
% dolt push origin master
|
||||
```
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
## Respond to PR review feedback
|
||||
|
||||
Your PR will be reviewed by the people running the bounty, and they
|
||||
may ask you to make changes. If they do, then go ahead and make your
|
||||
changes on your machine, then `dolt push` those new commits back to
|
||||
DoltHub and your existing PR will automatically be updated with them.
|
||||
|
||||
## Questions? Still need help?
|
||||
|
||||
Come hang out with us on [our
|
||||
Discord](https://discord.com/invite/RFwfYpu), where the team that
|
||||
builds Dolt and lots of other customers are available to chat and ask
|
||||
questions. If this guide is missing something obvious, come tell us
|
||||
there!
|
||||
@@ -1,58 +0,0 @@
|
||||
# Dolt Feature Roadmap
|
||||
|
||||
Full details on [supported SQL
|
||||
features](https://docs.dolthub.com/reference/sql/support) are
|
||||
available on the docs site.
|
||||
|
||||
This is a selection of unimplemented features we're working on. Don't
|
||||
see what you need on here? [Let us
|
||||
know!](https://github.com/dolthub/dolt/issues) Paying customers get
|
||||
their feature requests implemented first.
|
||||
|
||||
Roadmap last updated Apr 2022, next update Jun 2022.
|
||||
|
||||
## Upcoming features
|
||||
|
||||
| Feature | Estimate |
|
||||
| ------- | --- |
|
||||
| 99.9% SQL correctness | Q2 2022 |
|
||||
| Hosted Dolt v1 | Q2 2022 |
|
||||
| Hash join strategy | Q2 2022 |
|
||||
| Storage performance | Q2 2022 |
|
||||
| Lock / unlock tables | Q2 2022 |
|
||||
| SQL GUI support tests | Q2 2022 |
|
||||
| `JSON_TABLE()` | Q2 2022 |
|
||||
| Table / index statistics | Q2 2022 |
|
||||
| Universal SQL path for CLI | Q2 2022 |
|
||||
| Pipeline query processing | Q3 2022 |
|
||||
| Row-level locking (`SELECT FOR UPDATE`) | Q3 2022 |
|
||||
| All transaction isolation levels | Q3 2022 |
|
||||
| Postgres Support | 2023 |
|
||||
| Automatic garbage collection | Unscheduled |
|
||||
| Collation and charset support | Unscheduled |
|
||||
| Virtual columns and json indexing | Unscheduled |
|
||||
| Full text indexes | Unscheduled |
|
||||
| Spatial indexes | Unscheduled |
|
||||
| Multiple DBs in one repo | Unscheduled |
|
||||
| Embedded dolt | Unscheduled |
|
||||
| Signed commits | Unscheduled |
|
||||
| Cross-database joins with indexes | Unscheduled |
|
||||
| More function coverage | Ongoing |
|
||||
|
||||
## Recently launched features
|
||||
|
||||
| Feature | Launch Date |
|
||||
| ------- | --- |
|
||||
| Join for update | Oct 2021 |
|
||||
| Backup and replication | Nov 2021 |
|
||||
| Commit graph performance | Nov 2021 |
|
||||
| Persistent SQL configuration | Dec 2021 |
|
||||
| CREATE / DROP DATABASE | Dec 2021 |
|
||||
| Hosted Dolt Alpha | Jan 2022 |
|
||||
| `ROWS` window definitions | Jan 2022 |
|
||||
| `RANGE` window definitions | Jan 2022 |
|
||||
| DoltLab (on-prem DoltHub) | Jan 2022 |
|
||||
| Users / grants | Feb 2022 |
|
||||
| Geometry types and functions | Feb 2022 |
|
||||
| Better `dolt_diff` table experience | Mar 2022 |
|
||||
|
||||
@@ -1,24 +0,0 @@
|
||||
# Windows support
|
||||
|
||||
Dolt is tested and supported on windows! If you find any problems
|
||||
specific to Windows, please file an
|
||||
[issue](https://github.com/dolthub/dolt/issues/) and let us know.
|
||||
|
||||
## Installation
|
||||
|
||||
Download the latest Microsoft Installer (`.msi` file) in
|
||||
[releases](https://github.com/dolthub/dolt/releases) and run it.
|
||||
|
||||
Package manager releases coming soon!
|
||||
|
||||
## Environment
|
||||
|
||||
Dolt runs best under the Windows Subsystem for Linux, or WSL. But it
|
||||
should also work fine with `cmd.exe` or `powershell`. If you find this
|
||||
isn't true, please file an
|
||||
[issue](https://github.com/dolthub/dolt/issues/) and let us know.
|
||||
|
||||
WSL 2 currently has [known
|
||||
bugs](https://github.com/dolthub/dolt/issues/992), so we recommend
|
||||
using WSL 1 for now. Or if you do use WSL 2, we recommend using the
|
||||
Linux `dolt` binary, rather than the Windows `dolt.exe` binary.
|
||||
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |