mirror of
https://github.com/dolthub/dolt.git
synced 2026-03-14 19:20:44 -05:00
merge with main
This commit is contained in:
4
.github/actions/ses-email-action/action.yaml
vendored
4
.github/actions/ses-email-action/action.yaml
vendored
@@ -29,6 +29,10 @@ inputs:
|
||||
description: 'json string list of reply to addresses'
|
||||
required: false
|
||||
default: "[]"
|
||||
workflowURL:
|
||||
description: 'url of the workflow run'
|
||||
default: ''
|
||||
required: false
|
||||
runs:
|
||||
using: 'node12'
|
||||
main: 'dist/index.js'
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"Template": {
|
||||
"TemplateName": "BatsWindowsFailureTemplate",
|
||||
"SubjectPart": "Bats on Windows failed for ref: {{version}}",
|
||||
"HtmlPart": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <title>Bats on Windows Failed</title>\n</head><body>Bats on Windows failed for ref: {{version}}</body></html>",
|
||||
"HtmlPart": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <title>Bats on Windows Failed</title>\n</head><body>Bats on Windows failed for ref: {{version}}\n <a href={{workflowURL}}>{{workflowURL}}</a></body></html>",
|
||||
"TextPart": "Bats on Windows failed for ref {{version}}\r\n"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37418,12 +37418,14 @@ const dataFilePath = core.getInput('dataFile');
|
||||
const CcAddresses = JSON.parse(core.getInput('ccAddresses'));
|
||||
const ToAddresses = JSON.parse(core.getInput('toAddresses'));
|
||||
const ReplyToAddresses = JSON.parse(core.getInput('replyToAddresses'));
|
||||
const workflowURL = core.getInput('workflowURL');
|
||||
|
||||
const data = dataFilePath ? fs.readFileSync(dataFilePath, { encoding: 'utf-8' }) : "";
|
||||
|
||||
const templated = {
|
||||
version,
|
||||
results: data,
|
||||
workflowURL,
|
||||
};
|
||||
|
||||
// Set the region
|
||||
|
||||
2
.github/actions/ses-email-action/index.js
vendored
2
.github/actions/ses-email-action/index.js
vendored
@@ -9,12 +9,14 @@ const dataFilePath = core.getInput('dataFile');
|
||||
const CcAddresses = JSON.parse(core.getInput('ccAddresses'));
|
||||
const ToAddresses = JSON.parse(core.getInput('toAddresses'));
|
||||
const ReplyToAddresses = JSON.parse(core.getInput('replyToAddresses'));
|
||||
const workflowURL = core.getInput('workflowURL');
|
||||
|
||||
const data = dataFilePath ? fs.readFileSync(dataFilePath, { encoding: 'utf-8' }) : "";
|
||||
|
||||
const templated = {
|
||||
version,
|
||||
results: data,
|
||||
workflowURL,
|
||||
};
|
||||
|
||||
// Set the region
|
||||
|
||||
2
.github/workflows/ci-bats-windows.yaml
vendored
2
.github/workflows/ci-bats-windows.yaml
vendored
@@ -172,6 +172,7 @@ jobs:
|
||||
version: ${{ github.ref }}
|
||||
template: 'BatsWindowsFailureTemplate'
|
||||
toAddresses: '["${{ github.event.inputs.email }}"]'
|
||||
workflowURL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
- name: Send Email
|
||||
if: ${{ github.event_name == 'repository_dispatch' }}
|
||||
uses: ./.github/actions/ses-email-action
|
||||
@@ -180,3 +181,4 @@ jobs:
|
||||
version: ${{ github.event.client_payload.ref }}
|
||||
template: 'BatsWindowsFailureTemplate'
|
||||
toAddresses: '["${{ github.event.client_payload.actor_email }}"]'
|
||||
workflowURL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
|
||||
|
||||
@@ -86,7 +86,7 @@ func (cmd DumpCmd) ArgParser() *argparser.ArgParser {
|
||||
ap := argparser.NewArgParser()
|
||||
ap.SupportsFlag(forceParam, "f", "If data already exists in the destination, the force flag will allow the target to be overwritten.")
|
||||
ap.SupportsFlag(batchFlag, "", "Returns batch insert statements wherever possible.")
|
||||
ap.SupportsString(FormatFlag, "r", "result_file_type", "Define the type of the output file. Defaults to sql. Valid values are sql, csv and json.")
|
||||
ap.SupportsString(FormatFlag, "r", "result_file_type", "Define the type of the output file. Defaults to sql. Valid values are sql, csv, json and parquet.")
|
||||
ap.SupportsString(filenameFlag, "", "file_name", "Define file name for dump file. Defaults to `doltdump.sql`.")
|
||||
ap.SupportsString(directoryFlag, "", "directory_name", "Define directory name to dump the files in. Defaults to `doltdump/`.")
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ require (
|
||||
github.com/dolthub/ishell v0.0.0-20220112232610-14e753f0f371
|
||||
github.com/dolthub/mmap-go v1.0.4-0.20201107010347-f9f2a9588a66
|
||||
github.com/dolthub/sqllogictest/go v0.0.0-20201107003712-816f3ae12d81
|
||||
github.com/dolthub/vitess v0.0.0-20220223194108-24701de779d1
|
||||
github.com/dolthub/vitess v0.0.0-20220225182101-e6b5b1c33b82
|
||||
github.com/dustin/go-humanize v1.0.0
|
||||
github.com/fatih/color v1.9.0
|
||||
github.com/flynn-archive/go-shlex v0.0.0-20150515145356-3f9db97f8568
|
||||
@@ -68,7 +68,7 @@ require (
|
||||
)
|
||||
|
||||
require (
|
||||
github.com/dolthub/go-mysql-server v0.11.1-0.20220228230658-12162b45c47f
|
||||
github.com/dolthub/go-mysql-server v0.11.1-0.20220302174219-fb31d55ac16f
|
||||
github.com/google/flatbuffers v2.0.5+incompatible
|
||||
github.com/gosuri/uilive v0.0.4
|
||||
github.com/kch42/buzhash v0.0.0-20160816060738-9bdec3dec7c6
|
||||
|
||||
@@ -170,8 +170,8 @@ github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZm
|
||||
github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
|
||||
github.com/dolthub/fslock v0.0.3 h1:iLMpUIvJKMKm92+N1fmHVdxJP5NdyDK5bK7z7Ba2s2U=
|
||||
github.com/dolthub/fslock v0.0.3/go.mod h1:QWql+P17oAAMLnL4HGB5tiovtDuAjdDTPbuqx7bYfa0=
|
||||
github.com/dolthub/go-mysql-server v0.11.1-0.20220228230658-12162b45c47f h1:0BEzHdo8IKG0xMM2PYEqz9yZ3E4OEhpW6GY+ulBaox0=
|
||||
github.com/dolthub/go-mysql-server v0.11.1-0.20220228230658-12162b45c47f/go.mod h1:ct7PnuZHbNpgCKjH4G2j19Txx45AxegofCgBgbaw3L8=
|
||||
github.com/dolthub/go-mysql-server v0.11.1-0.20220302174219-fb31d55ac16f h1:yPBJTPf9BqZ6L8SX7nXsHNIhJftdD2TKQH250FrsWJY=
|
||||
github.com/dolthub/go-mysql-server v0.11.1-0.20220302174219-fb31d55ac16f/go.mod h1:uyD5IY5YnlV3aSa6vK/GEOcwrvOaG5hl0eDyWZu249w=
|
||||
github.com/dolthub/ishell v0.0.0-20220112232610-14e753f0f371 h1:oyPHJlzumKta1vnOQqUnfdz+pk3EmnHS3Nd0cCT0I2g=
|
||||
github.com/dolthub/ishell v0.0.0-20220112232610-14e753f0f371/go.mod h1:dhGBqcCEfK5kuFmeO5+WOx3hqc1k3M29c1oS/R7N4ms=
|
||||
github.com/dolthub/jsonpath v0.0.0-20210609232853-d49537a30474 h1:xTrR+l5l+1Lfq0NvhiEsctylXinUMFhhsqaEcl414p8=
|
||||
@@ -180,8 +180,8 @@ github.com/dolthub/mmap-go v1.0.4-0.20201107010347-f9f2a9588a66 h1:WRPDbpJWEnPxP
|
||||
github.com/dolthub/mmap-go v1.0.4-0.20201107010347-f9f2a9588a66/go.mod h1:N5ZIbMGuDUpTpOFQ7HcsN6WSIpTGQjHP+Mz27AfmAgk=
|
||||
github.com/dolthub/sqllogictest/go v0.0.0-20201107003712-816f3ae12d81 h1:7/v8q9XGFa6q5Ap4Z/OhNkAMBaK5YeuEzwJt+NZdhiE=
|
||||
github.com/dolthub/sqllogictest/go v0.0.0-20201107003712-816f3ae12d81/go.mod h1:siLfyv2c92W1eN/R4QqG/+RjjX5W2+gCTRjZxBjI3TY=
|
||||
github.com/dolthub/vitess v0.0.0-20220223194108-24701de779d1 h1:ozSYBchp+pfPXE26ANxz+cWszqqHnFXANHlTd6T40F8=
|
||||
github.com/dolthub/vitess v0.0.0-20220223194108-24701de779d1/go.mod h1:qpZ4j0dval04OgZJ5fyKnlniSFUosTH280pdzUjUJig=
|
||||
github.com/dolthub/vitess v0.0.0-20220225182101-e6b5b1c33b82 h1:zBKJsD8Fkg64VkMgXXwQUoc8TF4LCY3WPq6lHNy4aYo=
|
||||
github.com/dolthub/vitess v0.0.0-20220225182101-e6b5b1c33b82/go.mod h1:qpZ4j0dval04OgZJ5fyKnlniSFUosTH280pdzUjUJig=
|
||||
github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
|
||||
github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=
|
||||
github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
|
||||
|
||||
@@ -308,6 +308,12 @@ func (kte *keylessTableEditor) StatementStarted(ctx context.Context) {}
|
||||
|
||||
// StatementFinished implements TableEditor.
|
||||
func (kte *keylessTableEditor) StatementFinished(ctx context.Context, errored bool) error {
|
||||
// If there was an error, clear all deltas
|
||||
if errored {
|
||||
for k := range kte.acc.deltas {
|
||||
delete(kte.acc.deltas, k)
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -307,6 +307,7 @@ DELIM
|
||||
[[ "$output" =~ "Import completed successfully." ]] || false
|
||||
|
||||
run dolt sql -r csv -q "select * from persons"
|
||||
skip "this only worked b/c no rollback on keyless tables; this also fails on primary key tables"
|
||||
[ "${#lines[@]}" -eq 2 ]
|
||||
[[ "$output" =~ "ID,LastName,FirstName,Age" ]] || false
|
||||
[[ "$output" =~ "1,jon,doe,20" ]] || false
|
||||
@@ -365,6 +366,35 @@ DELIM
|
||||
[[ "$output" =~ "Lines skipped: 2" ]] || false
|
||||
}
|
||||
|
||||
@test "import-update-tables: error during primary key table just skips" {
|
||||
cat <<DELIM > bad-updates.csv
|
||||
pk
|
||||
1
|
||||
2
|
||||
100
|
||||
3
|
||||
DELIM
|
||||
|
||||
dolt sql -q "CREATE TABLE test(pk int PRIMARY KEY CHECK (pk < 10))"
|
||||
|
||||
run dolt table import -u test bad-updates.csv
|
||||
[ "$status" -eq 1 ]
|
||||
[[ "$output" =~ "A bad row was encountered while moving data" ]] || false
|
||||
[[ "$output" =~ "[100]" ]] || false
|
||||
|
||||
run dolt table import -u --continue test bad-updates.csv
|
||||
[ "$status" -eq 0 ]
|
||||
[[ "$output" =~ "Lines skipped: 1" ]] || false
|
||||
|
||||
run dolt sql -r csv -q "select * from test"
|
||||
skip "table editors need to handle continue flag"
|
||||
[ "${#lines[@]}" -eq 4 ]
|
||||
[[ "$output" =~ "pk" ]] || false
|
||||
[[ "$output" =~ "1" ]] || false
|
||||
[[ "$output" =~ "2" ]] || false
|
||||
[[ "$output" =~ "3" ]] || false
|
||||
}
|
||||
|
||||
@test "import-update-tables: compare tables in database with table imported from parquet file" {
|
||||
dolt sql -q "CREATE TABLE testTypes (pk BIGINT PRIMARY KEY, v1 TIME, v2 YEAR, v3 DATETIME, v4 BOOL, v5 ENUM('one', 'two', 'three'));"
|
||||
dolt add .
|
||||
|
||||
@@ -928,3 +928,59 @@ SQL
|
||||
[[ "${lines[1]}" = "3" ]] || false
|
||||
[ "${#lines[@]}" -eq 2 ]
|
||||
}
|
||||
|
||||
@test "keyless: check constraint violation rolls back" {
|
||||
dolt sql -q "create table test (i int check (i < 10))"
|
||||
|
||||
run dolt sql -q "insert into test values (1)"
|
||||
[ $status -eq 0 ]
|
||||
|
||||
run dolt sql -r csv -q "select * from test"
|
||||
[ "${#lines[@]}" -eq 2 ]
|
||||
[[ "$output" =~ "i" ]] || false
|
||||
[[ "$output" =~ "1" ]] || false
|
||||
|
||||
run dolt sql -q "insert into test values (100)"
|
||||
[ $status -eq 1 ]
|
||||
|
||||
run dolt sql -r csv -q "select * from test"
|
||||
[ "${#lines[@]}" -eq 2 ]
|
||||
[[ "$output" =~ "i" ]] || false
|
||||
[[ "$output" =~ "1" ]] || false
|
||||
|
||||
run dolt sql -q "insert into test values (2), (3), (100), (4)"
|
||||
[ $status -eq 1 ]
|
||||
|
||||
run dolt sql -r csv -q "select * from test"
|
||||
[ "${#lines[@]}" -eq 2 ]
|
||||
[[ "$output" =~ "i" ]] || false
|
||||
[[ "$output" =~ "1" ]] || false
|
||||
}
|
||||
|
||||
@test "keyless: inserting invalid values are rolled back" {
|
||||
dolt sql -q "create table test (i int check (i < 10))"
|
||||
|
||||
run dolt sql -q "insert into test values (1)"
|
||||
[ $status -eq 0 ]
|
||||
|
||||
run dolt sql -r csv -q "select * from test"
|
||||
[ "${#lines[@]}" -eq 2 ]
|
||||
[[ "$output" =~ "i" ]] || false
|
||||
[[ "$output" =~ "1" ]] || false
|
||||
|
||||
run dolt sql -q "insert into test values ('thisisastring')"
|
||||
[ $status -eq 1 ]
|
||||
|
||||
run dolt sql -r csv -q "select * from test"
|
||||
[ "${#lines[@]}" -eq 2 ]
|
||||
[[ "$output" =~ "i" ]] || false
|
||||
[[ "$output" =~ "1" ]] || false
|
||||
|
||||
run dolt sql -q "insert into test values (2), (3), ('thisisastring'), (4)"
|
||||
[ $status -eq 1 ]
|
||||
|
||||
run dolt sql -r csv -q "select * from test"
|
||||
[ "${#lines[@]}" -eq 2 ]
|
||||
[[ "$output" =~ "i" ]] || false
|
||||
[[ "$output" =~ "1" ]] || false
|
||||
}
|
||||
|
||||
@@ -100,6 +100,13 @@ teardown() {
|
||||
[[ "$output" =~ $regex ]] || false
|
||||
}
|
||||
|
||||
@test "no-repo: dolt version does not need write permissions" {
|
||||
chmod 111 .
|
||||
run dolt version
|
||||
skip "dolt version needs write perms"
|
||||
[ "$status" -eq 0 ]
|
||||
chmod 755 .
|
||||
}
|
||||
|
||||
# Tests for dolt commands outside of a dolt repository
|
||||
NOT_VALID_REPO_ERROR="The current directory is not a valid dolt repository."
|
||||
|
||||
Reference in New Issue
Block a user