зеркало из https://github.com/github/vitess-gh.git
Release-15: Cherry pick vtorc no cgo (#12223)
* Move vtorc from go-sqlite3 to modernc.org/sqlite (#12214) * Move vtorc from go-sqlite3 to modernc.org/sqlite This moves vtorc from the go-sqlite3 library that uses CGO, to use modernc.org/sqlite which is a pure Go implementation. vtorc is the only component we have to build with CGO but it's causing pain for releases since we need to build it against an old Linux for linking against glibc. Using modernc.org/sqlite allows for using Go only again and makes all Vitess components buildable without CGO. In https://datastation.multiprocess.io/blog/2022-05-12-sqlite-in-go-with-and-without-cgo.html someone ran some basic benchmarks. It shows that the pure Go version can be twice as slow, but the usage of vtorc is very limited and we operate on small datasets, so I think the performance impact purely of a somewhat slower sqlite implementation is negligable. None of this is in a hot query serving path or anything like that, so I have little concern performance wise. Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com> * Fix error handling in RowToArray Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com> --------- Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com> * empty-commit Signed-off-by: Manan Gupta <manan@planetscale.com> * Run go mod tidy Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com> --------- Signed-off-by: Dirkjan Bussink <d.bussink@gmail.com> Signed-off-by: Manan Gupta <manan@planetscale.com> Co-authored-by: Manan Gupta <manan@planetscale.com>
This commit is contained in:
Родитель
91e7790c3e
Коммит
c1d8c14a7f
11
Makefile
11
Makefile
|
@ -92,12 +92,6 @@ endif
|
||||||
-ldflags "$(shell tools/build_version_flags.sh)" \
|
-ldflags "$(shell tools/build_version_flags.sh)" \
|
||||||
-o ${VTROOTBIN} ./go/...
|
-o ${VTROOTBIN} ./go/...
|
||||||
|
|
||||||
# build vtorc with CGO, because it depends on sqlite
|
|
||||||
CGO_ENABLED=1 go build \
|
|
||||||
-trimpath $(EXTRA_BUILD_FLAGS) $(VT_GO_PARALLEL) \
|
|
||||||
-ldflags "$(shell tools/build_version_flags.sh)" \
|
|
||||||
-o ${VTROOTBIN} ./go/cmd/vtorc/...
|
|
||||||
|
|
||||||
# cross-build can be used to cross-compile Vitess client binaries
|
# cross-build can be used to cross-compile Vitess client binaries
|
||||||
# Outside of select client binaries (namely vtctlclient & vtexplain), cross-compiled Vitess Binaries are not recommended for production deployments
|
# Outside of select client binaries (namely vtctlclient & vtexplain), cross-compiled Vitess Binaries are not recommended for production deployments
|
||||||
# Usage: GOOS=darwin GOARCH=amd64 make cross-build
|
# Usage: GOOS=darwin GOARCH=amd64 make cross-build
|
||||||
|
@ -120,8 +114,6 @@ endif
|
||||||
echo "Missing vttablet at: ${VTROOTBIN}/${GOOS}_${GOARCH}." && exit; \
|
echo "Missing vttablet at: ${VTROOTBIN}/${GOOS}_${GOARCH}." && exit; \
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Cross-compiling w/ cgo isn't trivial and we don't need vtorc, so we can skip building it
|
|
||||||
|
|
||||||
debug:
|
debug:
|
||||||
ifndef NOBANNER
|
ifndef NOBANNER
|
||||||
echo $$(date): Building source tree
|
echo $$(date): Building source tree
|
||||||
|
@ -145,8 +137,7 @@ install: build
|
||||||
cross-install: cross-build
|
cross-install: cross-build
|
||||||
# binaries
|
# binaries
|
||||||
mkdir -p "$${PREFIX}/bin"
|
mkdir -p "$${PREFIX}/bin"
|
||||||
# Still no vtorc for cross-compile
|
cp "${VTROOTBIN}/${GOOS}_${GOARCH}/"{mysqlctl,mysqlctld,vtorc,vtadmin,vtctld,vtctlclient,vtctldclient,vtgate,vttablet,vtbackup} "$${PREFIX}/bin/"
|
||||||
cp "${VTROOTBIN}/${GOOS}_${GOARCH}/"{mysqlctl,mysqlctld,vtadmin,vtctld,vtctlclient,vtctldclient,vtgate,vttablet,vtbackup} "$${PREFIX}/bin/"
|
|
||||||
|
|
||||||
# Install local install the binaries needed to run vitess locally
|
# Install local install the binaries needed to run vitess locally
|
||||||
# Usage: make install-local PREFIX=/path/to/install/root
|
# Usage: make install-local PREFIX=/path/to/install/root
|
||||||
|
|
22
go.mod
22
go.mod
|
@ -26,7 +26,7 @@ require (
|
||||||
github.com/golang/mock v1.5.0
|
github.com/golang/mock v1.5.0
|
||||||
github.com/golang/protobuf v1.5.2
|
github.com/golang/protobuf v1.5.2
|
||||||
github.com/golang/snappy v0.0.3
|
github.com/golang/snappy v0.0.3
|
||||||
github.com/google/go-cmp v0.5.8
|
github.com/google/go-cmp v0.5.9
|
||||||
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510
|
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510
|
||||||
github.com/google/uuid v1.3.0
|
github.com/google/uuid v1.3.0
|
||||||
github.com/googleapis/gnostic v0.4.1 // indirect
|
github.com/googleapis/gnostic v0.4.1 // indirect
|
||||||
|
@ -49,7 +49,7 @@ require (
|
||||||
github.com/klauspost/pgzip v1.2.4
|
github.com/klauspost/pgzip v1.2.4
|
||||||
github.com/krishicks/yaml-patch v0.0.10
|
github.com/krishicks/yaml-patch v0.0.10
|
||||||
github.com/magiconair/properties v1.8.5
|
github.com/magiconair/properties v1.8.5
|
||||||
github.com/mattn/go-sqlite3 v1.14.14
|
github.com/mattn/go-sqlite3 v1.14.16 // indirect
|
||||||
github.com/minio/minio-go v0.0.0-20190131015406-c8a261de75c1
|
github.com/minio/minio-go v0.0.0-20190131015406-c8a261de75c1
|
||||||
github.com/mitchellh/go-testing-interface v1.14.0 // indirect
|
github.com/mitchellh/go-testing-interface v1.14.0 // indirect
|
||||||
github.com/montanaflynn/stats v0.6.3
|
github.com/montanaflynn/stats v0.6.3
|
||||||
|
@ -90,7 +90,7 @@ require (
|
||||||
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect
|
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect
|
||||||
golang.org/x/net v0.0.0-20220722155237-a158d28d115b
|
golang.org/x/net v0.0.0-20220722155237-a158d28d115b
|
||||||
golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f
|
golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f
|
||||||
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f // indirect
|
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab // indirect
|
||||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211
|
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211
|
||||||
golang.org/x/text v0.3.8
|
golang.org/x/text v0.3.8
|
||||||
golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac
|
golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac
|
||||||
|
@ -117,7 +117,7 @@ require (
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/bndr/gotabulate v1.1.2
|
github.com/bndr/gotabulate v1.1.2
|
||||||
github.com/openark/golib v0.0.0-20210531070646-355f37940af8
|
modernc.org/sqlite v1.20.3
|
||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
|
@ -131,6 +131,7 @@ require (
|
||||||
github.com/cpuguy83/go-md2man/v2 v2.0.1 // indirect
|
github.com/cpuguy83/go-md2man/v2 v2.0.1 // indirect
|
||||||
github.com/cyphar/filepath-securejoin v0.2.3 // indirect
|
github.com/cyphar/filepath-securejoin v0.2.3 // indirect
|
||||||
github.com/davecgh/go-spew v1.1.1 // indirect
|
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||||
|
github.com/dustin/go-humanize v1.0.0 // indirect
|
||||||
github.com/fatih/color v1.9.0 // indirect
|
github.com/fatih/color v1.9.0 // indirect
|
||||||
github.com/felixge/httpsnoop v1.0.1 // indirect
|
github.com/felixge/httpsnoop v1.0.1 // indirect
|
||||||
github.com/frankban/quicktest v1.14.3 // indirect
|
github.com/frankban/quicktest v1.14.3 // indirect
|
||||||
|
@ -147,9 +148,10 @@ require (
|
||||||
github.com/inconshreveable/mousetrap v1.0.0 // indirect
|
github.com/inconshreveable/mousetrap v1.0.0 // indirect
|
||||||
github.com/json-iterator/go v1.1.11 // indirect
|
github.com/json-iterator/go v1.1.11 // indirect
|
||||||
github.com/jstemmer/go-junit-report v0.9.1 // indirect
|
github.com/jstemmer/go-junit-report v0.9.1 // indirect
|
||||||
|
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
|
||||||
github.com/mattn/go-colorable v0.1.6 // indirect
|
github.com/mattn/go-colorable v0.1.6 // indirect
|
||||||
github.com/mattn/go-ieproxy v0.0.0-20190702010315-6dee0af9227d // indirect
|
github.com/mattn/go-ieproxy v0.0.0-20190702010315-6dee0af9227d // indirect
|
||||||
github.com/mattn/go-isatty v0.0.12 // indirect
|
github.com/mattn/go-isatty v0.0.16 // indirect
|
||||||
github.com/mattn/go-runewidth v0.0.7 // indirect
|
github.com/mattn/go-runewidth v0.0.7 // indirect
|
||||||
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect
|
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect
|
||||||
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
github.com/mitchellh/go-homedir v1.1.0 // indirect
|
||||||
|
@ -162,6 +164,7 @@ require (
|
||||||
github.com/pmezard/go-difflib v1.0.0 // indirect
|
github.com/pmezard/go-difflib v1.0.0 // indirect
|
||||||
github.com/prometheus/client_model v0.2.0 // indirect
|
github.com/prometheus/client_model v0.2.0 // indirect
|
||||||
github.com/prometheus/procfs v0.6.0 // indirect
|
github.com/prometheus/procfs v0.6.0 // indirect
|
||||||
|
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 // indirect
|
||||||
github.com/russross/blackfriday/v2 v2.1.0 // indirect
|
github.com/russross/blackfriday/v2 v2.1.0 // indirect
|
||||||
github.com/satori/go.uuid v1.2.0 // indirect
|
github.com/satori/go.uuid v1.2.0 // indirect
|
||||||
github.com/spf13/afero v1.6.0 // indirect
|
github.com/spf13/afero v1.6.0 // indirect
|
||||||
|
@ -186,5 +189,14 @@ require (
|
||||||
k8s.io/klog/v2 v2.4.0 // indirect
|
k8s.io/klog/v2 v2.4.0 // indirect
|
||||||
k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd // indirect
|
k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd // indirect
|
||||||
k8s.io/utils v0.0.0-20201110183641-67b214c5f920 // indirect
|
k8s.io/utils v0.0.0-20201110183641-67b214c5f920 // indirect
|
||||||
|
lukechampine.com/uint128 v1.2.0 // indirect
|
||||||
|
modernc.org/cc/v3 v3.40.0 // indirect
|
||||||
|
modernc.org/ccgo/v3 v3.16.13 // indirect
|
||||||
|
modernc.org/libc v1.22.2 // indirect
|
||||||
|
modernc.org/mathutil v1.5.0 // indirect
|
||||||
|
modernc.org/memory v1.4.0 // indirect
|
||||||
|
modernc.org/opt v0.1.3 // indirect
|
||||||
|
modernc.org/strutil v1.1.3 // indirect
|
||||||
|
modernc.org/token v1.0.1 // indirect
|
||||||
sigs.k8s.io/structured-merge-diff/v4 v4.0.3 // indirect
|
sigs.k8s.io/structured-merge-diff/v4 v4.0.3 // indirect
|
||||||
)
|
)
|
||||||
|
|
47
go.sum
47
go.sum
|
@ -183,6 +183,7 @@ github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDD
|
||||||
github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM=
|
github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM=
|
||||||
github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE=
|
github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE=
|
||||||
github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
|
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=
|
github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
|
||||||
github.com/dvyukov/go-fuzz v0.0.0-20210914135545-4980593459a1/go.mod h1:11Gm+ccJnvAhCNLlf5+cS9KjtbaD5I5zaZpFMsTHWTw=
|
github.com/dvyukov/go-fuzz v0.0.0-20210914135545-4980593459a1/go.mod h1:11Gm+ccJnvAhCNLlf5+cS9KjtbaD5I5zaZpFMsTHWTw=
|
||||||
github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc=
|
github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc=
|
||||||
|
@ -332,8 +333,8 @@ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
|
||||||
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||||
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||||
github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE=
|
github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE=
|
||||||
github.com/google/go-cmp v0.5.8 h1:e6P7q2lk1O+qJJb4BtCQXlK8vWEO8V1ZeuEdJNOqZyg=
|
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
|
||||||
github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
|
||||||
github.com/google/go-github/v27 v27.0.4/go.mod h1:/0Gr8pJ55COkmv+S/yPKCczSkUPIM/LnFyubufRNIS0=
|
github.com/google/go-github/v27 v27.0.4/go.mod h1:/0Gr8pJ55COkmv+S/yPKCczSkUPIM/LnFyubufRNIS0=
|
||||||
github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
|
github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
|
||||||
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
||||||
|
@ -355,6 +356,7 @@ github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLe
|
||||||
github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
|
github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
|
||||||
github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
|
github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
|
||||||
github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
|
github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
|
||||||
|
github.com/google/pprof v0.0.0-20221118152302-e6195bd50e26 h1:Xim43kblpZXfIBQsbuBVKCudVG457BR2GZFIz3uw3hQ=
|
||||||
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
|
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
|
||||||
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4=
|
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4=
|
||||||
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ=
|
github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ=
|
||||||
|
@ -475,6 +477,8 @@ github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7
|
||||||
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
|
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
|
||||||
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
|
github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w=
|
||||||
github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
|
github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM=
|
||||||
|
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 h1:Z9n2FFNUXsshfwJMBgNA0RU6/i7WVaAegv3PtuIHPMs=
|
||||||
|
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8=
|
||||||
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
|
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
|
||||||
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
|
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
|
||||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||||
|
@ -517,13 +521,14 @@ github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNx
|
||||||
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
|
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
|
||||||
github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84=
|
github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84=
|
||||||
github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE=
|
github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE=
|
||||||
github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY=
|
|
||||||
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
|
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
|
||||||
|
github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ=
|
||||||
|
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
|
||||||
github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
|
github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
|
||||||
github.com/mattn/go-runewidth v0.0.7 h1:Ei8KR0497xHyKJPAv59M1dkC+rOZCMBJ+t3fZ+twI54=
|
github.com/mattn/go-runewidth v0.0.7 h1:Ei8KR0497xHyKJPAv59M1dkC+rOZCMBJ+t3fZ+twI54=
|
||||||
github.com/mattn/go-runewidth v0.0.7/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
|
github.com/mattn/go-runewidth v0.0.7/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
|
||||||
github.com/mattn/go-sqlite3 v1.14.14 h1:qZgc/Rwetq+MtyE18WhzjokPD93dNqLGNT3QJuLvBGw=
|
github.com/mattn/go-sqlite3 v1.14.16 h1:yOQRA0RpS5PFz/oikGwBEqvAWhWg5ufRz4ETLjwpU1Y=
|
||||||
github.com/mattn/go-sqlite3 v1.14.14/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
|
github.com/mattn/go-sqlite3 v1.14.16/go.mod h1:2eHXhiwb8IkHr+BDWZGa96P6+rkvnG63S2DGjv9HUNg=
|
||||||
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
|
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
|
||||||
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI=
|
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI=
|
||||||
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
|
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=
|
||||||
|
@ -577,8 +582,6 @@ github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1Cpa
|
||||||
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
|
github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY=
|
||||||
github.com/onsi/gomega v1.10.3 h1:gph6h/qe9GSUw1NhH1gp+qb+h8rXD8Cy60Z32Qw3ELA=
|
github.com/onsi/gomega v1.10.3 h1:gph6h/qe9GSUw1NhH1gp+qb+h8rXD8Cy60Z32Qw3ELA=
|
||||||
github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc=
|
github.com/onsi/gomega v1.10.3/go.mod h1:V9xEwhxec5O8UDM77eCW8vLymOMltsqPVYWrpDsH8xc=
|
||||||
github.com/openark/golib v0.0.0-20210531070646-355f37940af8 h1:9ciIHNuyFqRWi9NpMNw9sVLB6z1ItpP5ZhTY9Q1xVu4=
|
|
||||||
github.com/openark/golib v0.0.0-20210531070646-355f37940af8/go.mod h1:1jj8x1eDVZxgc/Z4VyamX4qTbAdHPUQA6NeVtCd8Sl8=
|
|
||||||
github.com/opentracing-contrib/go-grpc v0.0.0-20180928155321-4b5a12d3ff02 h1:0R5mDLI66Qw13qN80TRz85zthQ2nf2+uDyiV23w6c3Q=
|
github.com/opentracing-contrib/go-grpc v0.0.0-20180928155321-4b5a12d3ff02 h1:0R5mDLI66Qw13qN80TRz85zthQ2nf2+uDyiV23w6c3Q=
|
||||||
github.com/opentracing-contrib/go-grpc v0.0.0-20180928155321-4b5a12d3ff02/go.mod h1:JNdpVEzCpXBgIiv4ds+TzhN1hrtxq6ClLrTlT9OQRSc=
|
github.com/opentracing-contrib/go-grpc v0.0.0-20180928155321-4b5a12d3ff02/go.mod h1:JNdpVEzCpXBgIiv4ds+TzhN1hrtxq6ClLrTlT9OQRSc=
|
||||||
github.com/opentracing/opentracing-go v1.1.0 h1:pWlfV3Bxv7k65HYwkikxat0+s3pV4bsqf19k25Ur8rU=
|
github.com/opentracing/opentracing-go v1.1.0 h1:pWlfV3Bxv7k65HYwkikxat0+s3pV4bsqf19k25Ur8rU=
|
||||||
|
@ -638,6 +641,8 @@ github.com/prometheus/procfs v0.6.0 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3x
|
||||||
github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
|
github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA=
|
||||||
github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 h1:MkV+77GLUNo5oJ0jf870itWm3D0Sjh7+Za9gazKc5LQ=
|
github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0 h1:MkV+77GLUNo5oJ0jf870itWm3D0Sjh7+Za9gazKc5LQ=
|
||||||
github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
|
github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4=
|
||||||
|
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 h1:OdAsTTz6OkFY5QxjkYwrChwuRruF69c169dPK26NUlk=
|
||||||
|
github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
|
||||||
github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
|
github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg=
|
||||||
github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
|
github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
|
||||||
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
|
||||||
|
@ -978,8 +983,8 @@ golang.org/x/sys v0.0.0-20210412220455-f1c623a9e750/go.mod h1:h1NjWce9XRLGQEsW7w
|
||||||
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f h1:v4INt8xihDGvnrfjMDVXGxw9wrfxYyCjk0KbXjhR55s=
|
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab h1:2QkjZIsXupsJbJIdSjjUOgWK3aEtzyuh2mPt3l/CkeU=
|
||||||
golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY=
|
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY=
|
||||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||||
|
@ -1271,6 +1276,30 @@ k8s.io/kube-openapi v0.0.0-20201113171705-d219536bb9fd/go.mod h1:WOJ3KddDSol4tAG
|
||||||
k8s.io/utils v0.0.0-20200324210504-a9aa75ae1b89/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
|
k8s.io/utils v0.0.0-20200324210504-a9aa75ae1b89/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew=
|
||||||
k8s.io/utils v0.0.0-20201110183641-67b214c5f920 h1:CbnUZsM497iRC5QMVkHwyl8s2tB3g7yaSHkYPkpgelw=
|
k8s.io/utils v0.0.0-20201110183641-67b214c5f920 h1:CbnUZsM497iRC5QMVkHwyl8s2tB3g7yaSHkYPkpgelw=
|
||||||
k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
|
k8s.io/utils v0.0.0-20201110183641-67b214c5f920/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
|
||||||
|
lukechampine.com/uint128 v1.2.0 h1:mBi/5l91vocEN8otkC5bDLhi2KdCticRiwbdB0O+rjI=
|
||||||
|
lukechampine.com/uint128 v1.2.0/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk=
|
||||||
|
modernc.org/cc/v3 v3.40.0 h1:P3g79IUS/93SYhtoeaHW+kRCIrYaxJ27MFPv+7kaTOw=
|
||||||
|
modernc.org/cc/v3 v3.40.0/go.mod h1:/bTg4dnWkSXowUO6ssQKnOV0yMVxDYNIsIrzqTFDGH0=
|
||||||
|
modernc.org/ccgo/v3 v3.16.13 h1:Mkgdzl46i5F/CNR/Kj80Ri59hC8TKAhZrYSaqvkwzUw=
|
||||||
|
modernc.org/ccgo/v3 v3.16.13/go.mod h1:2Quk+5YgpImhPjv2Qsob1DnZ/4som1lJTodubIcoUkY=
|
||||||
|
modernc.org/ccorpus v1.11.6 h1:J16RXiiqiCgua6+ZvQot4yUuUy8zxgqbqEEUuGPlISk=
|
||||||
|
modernc.org/httpfs v1.0.6 h1:AAgIpFZRXuYnkjftxTAZwMIiwEqAfk8aVB2/oA6nAeM=
|
||||||
|
modernc.org/libc v1.22.2 h1:4U7v51GyhlWqQmwCHj28Rdq2Yzwk55ovjFrdPjs8Hb0=
|
||||||
|
modernc.org/libc v1.22.2/go.mod h1:uvQavJ1pZ0hIoC/jfqNoMLURIMhKzINIWypNM17puug=
|
||||||
|
modernc.org/mathutil v1.5.0 h1:rV0Ko/6SfM+8G+yKiyI830l3Wuz1zRutdslNoQ0kfiQ=
|
||||||
|
modernc.org/mathutil v1.5.0/go.mod h1:mZW8CKdRPY1v87qxC/wUdX5O1qDzXMP5TH3wjfpga6E=
|
||||||
|
modernc.org/memory v1.4.0 h1:crykUfNSnMAXaOJnnxcSzbUGMqkLWjklJKkBK2nwZwk=
|
||||||
|
modernc.org/memory v1.4.0/go.mod h1:PkUhL0Mugw21sHPeskwZW4D6VscE/GQJOnIpCnW6pSU=
|
||||||
|
modernc.org/opt v0.1.3 h1:3XOZf2yznlhC+ibLltsDGzABUGVx8J6pnFMS3E4dcq4=
|
||||||
|
modernc.org/opt v0.1.3/go.mod h1:WdSiB5evDcignE70guQKxYUl14mgWtbClRi5wmkkTX0=
|
||||||
|
modernc.org/sqlite v1.20.3 h1:SqGJMMxjj1PHusLxdYxeQSodg7Jxn9WWkaAQjKrntZs=
|
||||||
|
modernc.org/sqlite v1.20.3/go.mod h1:zKcGyrICaxNTMEHSr1HQ2GUraP0j+845GYw37+EyT6A=
|
||||||
|
modernc.org/strutil v1.1.3 h1:fNMm+oJklMGYfU9Ylcywl0CO5O6nTfaowNsh2wpPjzY=
|
||||||
|
modernc.org/strutil v1.1.3/go.mod h1:MEHNA7PdEnEwLvspRMtWTNnp2nnyvMfkimT1NKNAGbw=
|
||||||
|
modernc.org/tcl v1.15.0 h1:oY+JeD11qVVSgVvodMJsu7Edf8tr5E/7tuhF5cNYz34=
|
||||||
|
modernc.org/token v1.0.1 h1:A3qvTqOwexpfZZeyI0FeGPDlSWX5pjZu9hF4lU+EKWg=
|
||||||
|
modernc.org/token v1.0.1/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM=
|
||||||
|
modernc.org/z v1.7.0 h1:xkDw/KepgEjeizO2sNco+hqYkU12taxQFqPEmgm1GWE=
|
||||||
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
|
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
|
||||||
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
|
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
|
||||||
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
|
rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
|
||||||
|
|
|
@ -22,8 +22,8 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
_ "github.com/go-sql-driver/mysql"
|
_ "github.com/go-sql-driver/mysql"
|
||||||
_ "github.com/mattn/go-sqlite3"
|
|
||||||
"github.com/spf13/pflag"
|
"github.com/spf13/pflag"
|
||||||
|
_ "modernc.org/sqlite"
|
||||||
|
|
||||||
"vitess.io/vitess/go/acl"
|
"vitess.io/vitess/go/acl"
|
||||||
"vitess.io/vitess/go/vt/grpccommon"
|
"vitess.io/vitess/go/vt/grpccommon"
|
||||||
|
|
|
@ -30,9 +30,9 @@ import (
|
||||||
"vitess.io/vitess/go/vt/vtorc/server"
|
"vitess.io/vitess/go/vt/vtorc/server"
|
||||||
|
|
||||||
_ "github.com/go-sql-driver/mysql"
|
_ "github.com/go-sql-driver/mysql"
|
||||||
_ "github.com/mattn/go-sqlite3"
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
_ "modernc.org/sqlite"
|
||||||
)
|
)
|
||||||
|
|
||||||
func TestReadTopologyInstanceBufferable(t *testing.T) {
|
func TestReadTopologyInstanceBufferable(t *testing.T) {
|
||||||
|
|
|
@ -38,7 +38,7 @@ const DateTimeFormat = "2006-01-02 15:04:05.999999"
|
||||||
// for easy, typed getters by column name.
|
// for easy, typed getters by column name.
|
||||||
type RowMap map[string]CellData
|
type RowMap map[string]CellData
|
||||||
|
|
||||||
// Cell data is the result of a single (atomic) column in a single row
|
// CellData is the result of a single (atomic) column in a single row
|
||||||
type CellData sql.NullString
|
type CellData sql.NullString
|
||||||
|
|
||||||
func (this *CellData) MarshalJSON() ([]byte, error) {
|
func (this *CellData) MarshalJSON() ([]byte, error) {
|
||||||
|
@ -200,22 +200,22 @@ func GetDB(mysql_uri string) (*sql.DB, bool, error) {
|
||||||
return GetGenericDB("mysql", mysql_uri)
|
return GetGenericDB("mysql", mysql_uri)
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetDB returns a SQLite DB instance based on DB file name.
|
// GetSQLiteDB returns a SQLite DB instance based on DB file name.
|
||||||
// bool result indicates whether the DB was returned from cache; err
|
// bool result indicates whether the DB was returned from cache; err
|
||||||
func GetSQLiteDB(dbFile string) (*sql.DB, bool, error) {
|
func GetSQLiteDB(dbFile string) (*sql.DB, bool, error) {
|
||||||
return GetGenericDB("sqlite3", dbFile)
|
return GetGenericDB("sqlite", dbFile)
|
||||||
}
|
}
|
||||||
|
|
||||||
// RowToArray is a convenience function, typically not called directly, which maps a
|
// RowToArray is a convenience function, typically not called directly, which maps a
|
||||||
// single read database row into a NullString
|
// single read database row into a NullString
|
||||||
func RowToArray(rows *sql.Rows, columns []string) []CellData {
|
func RowToArray(rows *sql.Rows, columns []string) ([]CellData, error) {
|
||||||
buff := make([]any, len(columns))
|
buff := make([]any, len(columns))
|
||||||
data := make([]CellData, len(columns))
|
data := make([]CellData, len(columns))
|
||||||
for i := range buff {
|
for i := range buff {
|
||||||
buff[i] = data[i].NullString()
|
buff[i] = data[i].NullString()
|
||||||
}
|
}
|
||||||
rows.Scan(buff...)
|
err := rows.Scan(buff...)
|
||||||
return data
|
return data, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// ScanRowsToArrays is a convenience function, typically not called directly, which maps rows
|
// ScanRowsToArrays is a convenience function, typically not called directly, which maps rows
|
||||||
|
@ -223,8 +223,11 @@ func RowToArray(rows *sql.Rows, columns []string) []CellData {
|
||||||
func ScanRowsToArrays(rows *sql.Rows, on_row func([]CellData) error) error {
|
func ScanRowsToArrays(rows *sql.Rows, on_row func([]CellData) error) error {
|
||||||
columns, _ := rows.Columns()
|
columns, _ := rows.Columns()
|
||||||
for rows.Next() {
|
for rows.Next() {
|
||||||
arr := RowToArray(rows, columns)
|
arr, err := RowToArray(rows, columns)
|
||||||
err := on_row(arr)
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
err = on_row(arr)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
|
@ -104,8 +104,8 @@ type Configuration struct {
|
||||||
MySQLTopologyUseMutualTLS bool // Turn on TLS authentication with the Topology MySQL instances
|
MySQLTopologyUseMutualTLS bool // Turn on TLS authentication with the Topology MySQL instances
|
||||||
MySQLTopologyUseMixedTLS bool // Mixed TLS and non-TLS authentication with the Topology MySQL instances
|
MySQLTopologyUseMixedTLS bool // Mixed TLS and non-TLS authentication with the Topology MySQL instances
|
||||||
TLSCacheTTLFactor uint // Factor of InstancePollSeconds that we set as TLS info cache expiry
|
TLSCacheTTLFactor uint // Factor of InstancePollSeconds that we set as TLS info cache expiry
|
||||||
BackendDB string // EXPERIMENTAL: type of backend db; either "mysql" or "sqlite3"
|
BackendDB string // EXPERIMENTAL: type of backend db; either "mysql" or "sqlite"
|
||||||
SQLite3DataFile string // when BackendDB == "sqlite3", full path to sqlite3 datafile
|
SQLite3DataFile string // when BackendDB == "sqlite", full path to sqlite3 datafile
|
||||||
SkipOrchestratorDatabaseUpdate bool // When true, do not check backend database schema nor attempt to update it. Useful when you may be running multiple versions of orchestrator, and you only wish certain boxes to dictate the db structure (or else any time a different orchestrator version runs it will rebuild database schema)
|
SkipOrchestratorDatabaseUpdate bool // When true, do not check backend database schema nor attempt to update it. Useful when you may be running multiple versions of orchestrator, and you only wish certain boxes to dictate the db structure (or else any time a different orchestrator version runs it will rebuild database schema)
|
||||||
PanicIfDifferentDatabaseDeploy bool // When true, and this process finds the orchestrator backend DB was provisioned by a different version, panic
|
PanicIfDifferentDatabaseDeploy bool // When true, and this process finds the orchestrator backend DB was provisioned by a different version, panic
|
||||||
RaftEnabled bool // When true, setup orchestrator in a raft consensus layout. When false (default) all Raft* variables are ignored
|
RaftEnabled bool // When true, setup orchestrator in a raft consensus layout. When false (default) all Raft* variables are ignored
|
||||||
|
@ -477,7 +477,7 @@ func (config *Configuration) postReadAdjustments() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
if config.IsSQLite() && config.SQLite3DataFile == "" {
|
if config.IsSQLite() && config.SQLite3DataFile == "" {
|
||||||
return fmt.Errorf("SQLite3DataFile must be set when BackendDB is sqlite3")
|
return fmt.Errorf("SQLite3DataFile must be set when BackendDB is sqlite")
|
||||||
}
|
}
|
||||||
if config.RaftEnabled && config.RaftDataDir == "" {
|
if config.RaftEnabled && config.RaftDataDir == "" {
|
||||||
return fmt.Errorf("RaftDataDir must be defined since raft is enabled (RaftEnabled)")
|
return fmt.Errorf("RaftDataDir must be defined since raft is enabled (RaftEnabled)")
|
||||||
|
|
|
@ -27,9 +27,9 @@ import (
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"vitess.io/vitess/go/vt/external/golib/sqlutils"
|
||||||
"vitess.io/vitess/go/vt/log"
|
"vitess.io/vitess/go/vt/log"
|
||||||
"vitess.io/vitess/go/vt/vtgr/config"
|
"vitess.io/vitess/go/vt/vtgr/config"
|
||||||
"vitess.io/vitess/go/vt/vtgr/external/golib/sqlutils"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
|
|
@ -26,11 +26,12 @@ import (
|
||||||
gouuid "github.com/google/uuid"
|
gouuid "github.com/google/uuid"
|
||||||
"github.com/spf13/pflag"
|
"github.com/spf13/pflag"
|
||||||
|
|
||||||
|
"vitess.io/vitess/go/vt/external/golib/sqlutils"
|
||||||
|
|
||||||
"vitess.io/vitess/go/mysql"
|
"vitess.io/vitess/go/mysql"
|
||||||
"vitess.io/vitess/go/vt/log"
|
"vitess.io/vitess/go/vt/log"
|
||||||
"vitess.io/vitess/go/vt/servenv"
|
"vitess.io/vitess/go/vt/servenv"
|
||||||
"vitess.io/vitess/go/vt/vtgr/config"
|
"vitess.io/vitess/go/vt/vtgr/config"
|
||||||
"vitess.io/vitess/go/vt/vtgr/external/golib/sqlutils"
|
|
||||||
"vitess.io/vitess/go/vt/vtgr/inst"
|
"vitess.io/vitess/go/vt/vtgr/inst"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -26,6 +26,7 @@ import (
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"vitess.io/vitess/go/vt/external/golib/sqlutils"
|
||||||
"vitess.io/vitess/go/vt/log"
|
"vitess.io/vitess/go/vt/log"
|
||||||
|
|
||||||
"github.com/go-sql-driver/mysql"
|
"github.com/go-sql-driver/mysql"
|
||||||
|
@ -33,7 +34,6 @@ import (
|
||||||
"github.com/rcrowley/go-metrics"
|
"github.com/rcrowley/go-metrics"
|
||||||
|
|
||||||
"vitess.io/vitess/go/vt/vtgr/config"
|
"vitess.io/vitess/go/vt/vtgr/config"
|
||||||
"vitess.io/vitess/go/vt/vtgr/external/golib/sqlutils"
|
|
||||||
"vitess.io/vitess/go/vt/vtgr/ssl"
|
"vitess.io/vitess/go/vt/vtgr/ssl"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -19,10 +19,8 @@ package attributes
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
|
"vitess.io/vitess/go/vt/external/golib/sqlutils"
|
||||||
"vitess.io/vitess/go/vt/log"
|
"vitess.io/vitess/go/vt/log"
|
||||||
|
|
||||||
"github.com/openark/golib/sqlutils"
|
|
||||||
|
|
||||||
"vitess.io/vitess/go/vt/vtorc/db"
|
"vitess.io/vitess/go/vt/vtorc/db"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -20,8 +20,7 @@ import (
|
||||||
"database/sql"
|
"database/sql"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
"github.com/openark/golib/sqlutils"
|
"vitess.io/vitess/go/vt/external/golib/sqlutils"
|
||||||
|
|
||||||
"vitess.io/vitess/go/vt/log"
|
"vitess.io/vitess/go/vt/log"
|
||||||
"vitess.io/vitess/go/vt/vtorc/config"
|
"vitess.io/vitess/go/vt/vtorc/config"
|
||||||
)
|
)
|
||||||
|
|
|
@ -20,6 +20,7 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"vitess.io/vitess/go/vt/external/golib/sqlutils"
|
||||||
"vitess.io/vitess/go/vt/log"
|
"vitess.io/vitess/go/vt/log"
|
||||||
|
|
||||||
"google.golang.org/protobuf/encoding/prototext"
|
"google.golang.org/protobuf/encoding/prototext"
|
||||||
|
@ -34,8 +35,6 @@ import (
|
||||||
|
|
||||||
"github.com/patrickmn/go-cache"
|
"github.com/patrickmn/go-cache"
|
||||||
"github.com/rcrowley/go-metrics"
|
"github.com/rcrowley/go-metrics"
|
||||||
|
|
||||||
"github.com/openark/golib/sqlutils"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
var analysisChangeWriteAttemptCounter = metrics.NewCounter()
|
var analysisChangeWriteAttemptCounter = metrics.NewCounter()
|
||||||
|
|
|
@ -21,7 +21,7 @@ import (
|
||||||
|
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
|
||||||
"github.com/openark/golib/sqlutils"
|
"vitess.io/vitess/go/vt/external/golib/sqlutils"
|
||||||
|
|
||||||
topodatapb "vitess.io/vitess/go/vt/proto/topodata"
|
topodatapb "vitess.io/vitess/go/vt/proto/topodata"
|
||||||
"vitess.io/vitess/go/vt/vtorc/db"
|
"vitess.io/vitess/go/vt/vtorc/db"
|
||||||
|
|
|
@ -22,12 +22,11 @@ import (
|
||||||
"os"
|
"os"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"vitess.io/vitess/go/vt/external/golib/sqlutils"
|
||||||
"vitess.io/vitess/go/vt/log"
|
"vitess.io/vitess/go/vt/log"
|
||||||
|
|
||||||
"github.com/rcrowley/go-metrics"
|
"github.com/rcrowley/go-metrics"
|
||||||
|
|
||||||
"github.com/openark/golib/sqlutils"
|
|
||||||
|
|
||||||
"vitess.io/vitess/go/vt/vtorc/config"
|
"vitess.io/vitess/go/vt/vtorc/config"
|
||||||
"vitess.io/vitess/go/vt/vtorc/db"
|
"vitess.io/vitess/go/vt/vtorc/db"
|
||||||
)
|
)
|
||||||
|
|
|
@ -17,10 +17,8 @@
|
||||||
package inst
|
package inst
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/openark/golib/sqlutils"
|
"vitess.io/vitess/go/vt/external/golib/sqlutils"
|
||||||
|
|
||||||
"vitess.io/vitess/go/vt/log"
|
"vitess.io/vitess/go/vt/log"
|
||||||
|
|
||||||
"vitess.io/vitess/go/vt/vtorc/config"
|
"vitess.io/vitess/go/vt/vtorc/config"
|
||||||
"vitess.io/vitess/go/vt/vtorc/db"
|
"vitess.io/vitess/go/vt/vtorc/db"
|
||||||
)
|
)
|
||||||
|
|
|
@ -27,11 +27,12 @@ import (
|
||||||
"sync"
|
"sync"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/openark/golib/sqlutils"
|
|
||||||
"github.com/patrickmn/go-cache"
|
"github.com/patrickmn/go-cache"
|
||||||
"github.com/rcrowley/go-metrics"
|
"github.com/rcrowley/go-metrics"
|
||||||
"github.com/sjmudd/stopwatch"
|
"github.com/sjmudd/stopwatch"
|
||||||
|
|
||||||
|
"vitess.io/vitess/go/vt/external/golib/sqlutils"
|
||||||
|
|
||||||
vitessmysql "vitess.io/vitess/go/mysql"
|
vitessmysql "vitess.io/vitess/go/mysql"
|
||||||
"vitess.io/vitess/go/tb"
|
"vitess.io/vitess/go/tb"
|
||||||
"vitess.io/vitess/go/vt/log"
|
"vitess.io/vitess/go/vt/log"
|
||||||
|
|
|
@ -19,8 +19,7 @@ package inst
|
||||||
import (
|
import (
|
||||||
"errors"
|
"errors"
|
||||||
|
|
||||||
"github.com/openark/golib/sqlutils"
|
"vitess.io/vitess/go/vt/external/golib/sqlutils"
|
||||||
|
|
||||||
topodatapb "vitess.io/vitess/go/vt/proto/topodata"
|
topodatapb "vitess.io/vitess/go/vt/proto/topodata"
|
||||||
"vitess.io/vitess/go/vt/topo"
|
"vitess.io/vitess/go/vt/topo"
|
||||||
"vitess.io/vitess/go/vt/vtorc/db"
|
"vitess.io/vitess/go/vt/vtorc/db"
|
||||||
|
|
|
@ -19,8 +19,8 @@ package inst
|
||||||
import (
|
import (
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
_ "github.com/mattn/go-sqlite3"
|
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
_ "modernc.org/sqlite"
|
||||||
|
|
||||||
topodatapb "vitess.io/vitess/go/vt/proto/topodata"
|
topodatapb "vitess.io/vitess/go/vt/proto/topodata"
|
||||||
"vitess.io/vitess/go/vt/topo"
|
"vitess.io/vitess/go/vt/topo"
|
||||||
|
|
|
@ -19,10 +19,9 @@ package inst
|
||||||
import (
|
import (
|
||||||
"github.com/rcrowley/go-metrics"
|
"github.com/rcrowley/go-metrics"
|
||||||
|
|
||||||
|
"vitess.io/vitess/go/vt/external/golib/sqlutils"
|
||||||
|
|
||||||
"vitess.io/vitess/go/vt/log"
|
"vitess.io/vitess/go/vt/log"
|
||||||
|
|
||||||
"github.com/openark/golib/sqlutils"
|
|
||||||
|
|
||||||
"vitess.io/vitess/go/vt/vtorc/config"
|
"vitess.io/vitess/go/vt/vtorc/config"
|
||||||
"vitess.io/vitess/go/vt/vtorc/db"
|
"vitess.io/vitess/go/vt/vtorc/db"
|
||||||
)
|
)
|
||||||
|
|
|
@ -20,14 +20,13 @@ import (
|
||||||
"context"
|
"context"
|
||||||
"errors"
|
"errors"
|
||||||
|
|
||||||
|
"vitess.io/vitess/go/vt/external/golib/sqlutils"
|
||||||
"vitess.io/vitess/go/vt/log"
|
"vitess.io/vitess/go/vt/log"
|
||||||
|
|
||||||
"google.golang.org/protobuf/encoding/prototext"
|
"google.golang.org/protobuf/encoding/prototext"
|
||||||
|
|
||||||
"google.golang.org/protobuf/proto"
|
"google.golang.org/protobuf/proto"
|
||||||
|
|
||||||
"github.com/openark/golib/sqlutils"
|
|
||||||
|
|
||||||
"vitess.io/vitess/go/vt/logutil"
|
"vitess.io/vitess/go/vt/logutil"
|
||||||
replicationdatapb "vitess.io/vitess/go/vt/proto/replicationdata"
|
replicationdatapb "vitess.io/vitess/go/vt/proto/replicationdata"
|
||||||
topodatapb "vitess.io/vitess/go/vt/proto/topodata"
|
topodatapb "vitess.io/vitess/go/vt/proto/topodata"
|
||||||
|
|
|
@ -19,10 +19,8 @@ package inst
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
|
"vitess.io/vitess/go/vt/external/golib/sqlutils"
|
||||||
"vitess.io/vitess/go/vt/log"
|
"vitess.io/vitess/go/vt/log"
|
||||||
|
|
||||||
"github.com/openark/golib/sqlutils"
|
|
||||||
|
|
||||||
"vitess.io/vitess/go/vt/vtorc/db"
|
"vitess.io/vitess/go/vt/vtorc/db"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -32,8 +32,7 @@ package logic
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
"github.com/openark/golib/sqlutils"
|
"vitess.io/vitess/go/vt/external/golib/sqlutils"
|
||||||
|
|
||||||
"vitess.io/vitess/go/vt/log"
|
"vitess.io/vitess/go/vt/log"
|
||||||
"vitess.io/vitess/go/vt/vtorc/db"
|
"vitess.io/vitess/go/vt/vtorc/db"
|
||||||
)
|
)
|
||||||
|
|
|
@ -20,9 +20,9 @@ import (
|
||||||
"context"
|
"context"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
_ "github.com/mattn/go-sqlite3"
|
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
_ "modernc.org/sqlite"
|
||||||
|
|
||||||
topodatapb "vitess.io/vitess/go/vt/proto/topodata"
|
topodatapb "vitess.io/vitess/go/vt/proto/topodata"
|
||||||
"vitess.io/vitess/go/vt/topo"
|
"vitess.io/vitess/go/vt/topo"
|
||||||
|
|
|
@ -26,6 +26,8 @@ import (
|
||||||
|
|
||||||
"github.com/spf13/pflag"
|
"github.com/spf13/pflag"
|
||||||
|
|
||||||
|
"vitess.io/vitess/go/vt/external/golib/sqlutils"
|
||||||
|
|
||||||
"google.golang.org/protobuf/encoding/prototext"
|
"google.golang.org/protobuf/encoding/prototext"
|
||||||
"google.golang.org/protobuf/proto"
|
"google.golang.org/protobuf/proto"
|
||||||
|
|
||||||
|
@ -34,8 +36,6 @@ import (
|
||||||
|
|
||||||
"vitess.io/vitess/go/vt/vtorc/config"
|
"vitess.io/vitess/go/vt/vtorc/config"
|
||||||
|
|
||||||
"github.com/openark/golib/sqlutils"
|
|
||||||
|
|
||||||
topodatapb "vitess.io/vitess/go/vt/proto/topodata"
|
topodatapb "vitess.io/vitess/go/vt/proto/topodata"
|
||||||
"vitess.io/vitess/go/vt/topo"
|
"vitess.io/vitess/go/vt/topo"
|
||||||
"vitess.io/vitess/go/vt/topotools"
|
"vitess.io/vitess/go/vt/topotools"
|
||||||
|
|
|
@ -20,10 +20,8 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"strings"
|
"strings"
|
||||||
|
|
||||||
|
"vitess.io/vitess/go/vt/external/golib/sqlutils"
|
||||||
"vitess.io/vitess/go/vt/log"
|
"vitess.io/vitess/go/vt/log"
|
||||||
|
|
||||||
"github.com/openark/golib/sqlutils"
|
|
||||||
|
|
||||||
"vitess.io/vitess/go/vt/vtorc/config"
|
"vitess.io/vitess/go/vt/vtorc/config"
|
||||||
"vitess.io/vitess/go/vt/vtorc/db"
|
"vitess.io/vitess/go/vt/vtorc/db"
|
||||||
"vitess.io/vitess/go/vt/vtorc/inst"
|
"vitess.io/vitess/go/vt/vtorc/inst"
|
||||||
|
|
|
@ -17,8 +17,7 @@
|
||||||
package process
|
package process
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/openark/golib/sqlutils"
|
"vitess.io/vitess/go/vt/external/golib/sqlutils"
|
||||||
|
|
||||||
"vitess.io/vitess/go/vt/log"
|
"vitess.io/vitess/go/vt/log"
|
||||||
"vitess.io/vitess/go/vt/vtorc/config"
|
"vitess.io/vitess/go/vt/vtorc/config"
|
||||||
"vitess.io/vitess/go/vt/vtorc/db"
|
"vitess.io/vitess/go/vt/vtorc/db"
|
||||||
|
|
|
@ -19,10 +19,8 @@ package process
|
||||||
import (
|
import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"vitess.io/vitess/go/vt/external/golib/sqlutils"
|
||||||
"vitess.io/vitess/go/vt/log"
|
"vitess.io/vitess/go/vt/log"
|
||||||
|
|
||||||
"github.com/openark/golib/sqlutils"
|
|
||||||
|
|
||||||
"vitess.io/vitess/go/vt/vtorc/config"
|
"vitess.io/vitess/go/vt/vtorc/config"
|
||||||
"vitess.io/vitess/go/vt/vtorc/db"
|
"vitess.io/vitess/go/vt/vtorc/db"
|
||||||
)
|
)
|
||||||
|
|
|
@ -19,10 +19,8 @@ package test
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
|
||||||
|
"vitess.io/vitess/go/vt/external/golib/sqlutils"
|
||||||
"vitess.io/vitess/go/vt/log"
|
"vitess.io/vitess/go/vt/log"
|
||||||
|
|
||||||
"github.com/openark/golib/sqlutils"
|
|
||||||
|
|
||||||
"vitess.io/vitess/go/vt/vtorc/db"
|
"vitess.io/vitess/go/vt/vtorc/db"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ import (
|
||||||
|
|
||||||
"google.golang.org/protobuf/encoding/prototext"
|
"google.golang.org/protobuf/encoding/prototext"
|
||||||
|
|
||||||
"github.com/openark/golib/sqlutils"
|
"vitess.io/vitess/go/vt/external/golib/sqlutils"
|
||||||
|
|
||||||
topodatapb "vitess.io/vitess/go/vt/proto/topodata"
|
topodatapb "vitess.io/vitess/go/vt/proto/topodata"
|
||||||
)
|
)
|
||||||
|
|
Загрузка…
Ссылка в новой задаче