<!-- Thank you for contributing to TiDB! Please read TiDB's [CONTRIBUTING](https://github.com/pingcap/tidb/blob/master/CONTRIBUTING.md) document **BEFORE** filing this PR. --> ### What problem does this PR solve? <!--add issue link with summary if exists--> https://github.com/pingcap/parser/issues/147 https://github.com/pingcap/parser/pull/148 MySQL compatibility: `show create database if not exists` syntax See: https://dev.mysql.com/doc/refman/5.7/en/show-create-database.html MySQL ``` MariaDB [(none)]> show create database b2; +----------+----------------------------------------------------------------+ | Database | Create Database | +----------+----------------------------------------------------------------+ | b2 | CREATE DATABASE `b2` /*!40100 DEFAULT CHARACTER SET utf8mb4 */ | +----------+----------------------------------------------------------------+ 1 row in set (0.002 sec) MariaDB [(none)]> show create database if not exists b2; +----------+-----------------------------------------------------------------------------------------+ | Database | Create Database | +----------+-----------------------------------------------------------------------------------------+ | b2 | CREATE DATABASE /*!32312 IF NOT EXISTS*/ `b2` /*!40100 DEFAULT CHARACTER SET utf8mb4 */ | +----------+-----------------------------------------------------------------------------------------+ 1 row in set (0.000 sec) ``` TiDB ``` MySQL [b1]> show create batabase b2; ERROR 1105 (HY000): line 1 column 20 near " b2" (total length 23) MySQL [b1]> show create database b2; +----------+-----------------------------------------------------------------+ | Database | Create Database | +----------+-----------------------------------------------------------------+ | b2 | CREATE DATABASE `b2` /* !40100 DEFAULT CHARACTER SET utf8mb4 */ | +----------+-----------------------------------------------------------------+ 1 row in set (0.000 sec) MySQL [b1]> show create database if not exists b2; ERROR 1105 (HY000): line 1 column 23 near " not exists b2" (total length 37) ``` ### What is changed and how it works? Insert `/*!32312 IF NOT EXISTS*/` before shema name when statement contains `if not exists` ### Check List <!--REMOVE the items that are not applicable--> Tests <!-- At least one of them must be included. --> - Unit test Code changes Side effects Related changes - Need to cherry-pick to the release branch <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/pingcap/tidb/8926) <!-- Reviewable:end -->
89 lines
4.7 KiB
Modula-2
89 lines
4.7 KiB
Modula-2
module github.com/pingcap/tidb
|
|
|
|
require (
|
|
github.com/BurntSushi/toml v0.3.1
|
|
github.com/StackExchange/wmi v0.0.0-20180725035823-b12b22c5341f // indirect
|
|
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973 // indirect
|
|
github.com/blacktear23/go-proxyprotocol v0.0.0-20171102103907-62e368e1c470
|
|
github.com/boltdb/bolt v1.3.1 // indirect
|
|
github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd // indirect
|
|
github.com/coreos/bbolt v1.3.0 // indirect
|
|
github.com/coreos/etcd v3.3.10+incompatible
|
|
github.com/coreos/go-semver v0.2.0 // indirect
|
|
github.com/coreos/go-systemd v0.0.0-20181031085051-9002847aa142 // indirect
|
|
github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f // indirect
|
|
github.com/cznic/mathutil v0.0.0-20181021201202-eba54fb065b7
|
|
github.com/cznic/sortutil v0.0.0-20150617083342-4c7342852e65
|
|
github.com/dgrijalva/jwt-go v3.2.0+incompatible // indirect
|
|
github.com/dustin/go-humanize v1.0.0 // indirect
|
|
github.com/eknkc/amber v0.0.0-20171010120322-cdade1c07385 // indirect
|
|
github.com/etcd-io/gofail v0.0.0-20180808172546-51ce9a71510a // indirect
|
|
github.com/ghodss/yaml v1.0.0 // indirect
|
|
github.com/go-ole/go-ole v1.2.1 // indirect
|
|
github.com/go-sql-driver/mysql v0.0.0-20170715192408-3955978caca4
|
|
github.com/gogo/protobuf v1.1.1 // indirect
|
|
github.com/golang/groupcache v0.0.0-20181024230925-c65c006176ff // indirect
|
|
github.com/golang/protobuf v1.2.0
|
|
github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db // indirect
|
|
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c
|
|
github.com/gorilla/context v1.1.1 // indirect
|
|
github.com/gorilla/mux v1.6.2
|
|
github.com/gorilla/websocket v1.4.0 // indirect
|
|
github.com/grpc-ecosystem/go-grpc-middleware v1.0.0
|
|
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0
|
|
github.com/grpc-ecosystem/grpc-gateway v1.5.1 // indirect
|
|
github.com/jonboulle/clockwork v0.1.0 // indirect
|
|
github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5
|
|
github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
|
|
github.com/montanaflynn/stats v0.0.0-20180911141734-db72e6cae808 // indirect
|
|
github.com/myesui/uuid v1.0.0 // indirect
|
|
github.com/ngaut/pools v0.0.0-20180318154953-b7bc8c42aac7
|
|
github.com/ngaut/sync2 v0.0.0-20141008032647-7a24ed77b2ef
|
|
github.com/onsi/ginkgo v1.7.0 // indirect
|
|
github.com/onsi/gomega v1.4.3 // indirect
|
|
github.com/opentracing/basictracer-go v1.0.0
|
|
github.com/opentracing/opentracing-go v1.0.2
|
|
github.com/pingcap/check v0.0.0-20190102082844-67f458068fc8
|
|
github.com/pingcap/errors v0.11.0
|
|
github.com/pingcap/gofail v0.0.0-20181217135706-6a951c1e42c3
|
|
github.com/pingcap/goleveldb v0.0.0-20171020122428-b9ff6c35079e
|
|
github.com/pingcap/kvproto v0.0.0-20181203065228-c14302da291c
|
|
github.com/pingcap/parser v0.0.0-20190103131433-5d5a6dd34655
|
|
github.com/pingcap/pd v2.1.0-rc.4+incompatible
|
|
github.com/pingcap/tidb-tools v2.1.1-0.20181218072513-b2235d442b06+incompatible
|
|
github.com/pingcap/tipb v0.0.0-20181012112600-11e33c750323
|
|
github.com/pkg/errors v0.8.0 // indirect
|
|
github.com/prometheus/client_golang v0.9.0
|
|
github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910
|
|
github.com/prometheus/common v0.0.0-20181020173914-7e9e6cabbd39 // indirect
|
|
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d // indirect
|
|
github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446 // indirect
|
|
github.com/shirou/gopsutil v2.18.10+incompatible
|
|
github.com/shurcooL/httpfs v0.0.0-20171119174359-809beceb2371 // indirect
|
|
github.com/shurcooL/vfsgen v0.0.0-20181020040650-a97a25d856ca // indirect
|
|
github.com/sirupsen/logrus v1.2.0
|
|
github.com/soheilhy/cmux v0.1.4 // indirect
|
|
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72
|
|
github.com/struCoder/pidusage v0.1.2
|
|
github.com/tiancaiamao/appdash v0.0.0-20181126055449-889f96f722a2
|
|
github.com/tmc/grpc-websocket-proxy v0.0.0-20171017195756-830351dc03c6 // indirect
|
|
github.com/twinj/uuid v1.0.0
|
|
github.com/uber-go/atomic v1.3.2 // indirect
|
|
github.com/uber/jaeger-client-go v2.15.0+incompatible
|
|
github.com/uber/jaeger-lib v1.5.0 // indirect
|
|
github.com/ugorji/go/codec v0.0.0-20181127175209-856da096dbdf // indirect
|
|
github.com/unrolled/render v0.0.0-20180914162206-b9786414de4d // indirect
|
|
github.com/xiang90/probing v0.0.0-20160813154853-07dd2e8dfe18 // indirect
|
|
go.uber.org/atomic v1.3.2 // indirect
|
|
go.uber.org/multierr v1.1.0 // indirect
|
|
go.uber.org/zap v1.9.1 // indirect
|
|
golang.org/x/net v0.0.0-20181029044818-c44066c5c816
|
|
golang.org/x/text v0.3.0
|
|
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c // indirect
|
|
google.golang.org/grpc v1.16.0
|
|
gopkg.in/natefinch/lumberjack.v2 v2.0.0
|
|
gopkg.in/stretchr/testify.v1 v1.2.2 // indirect
|
|
sourcegraph.com/sourcegraph/appdash v0.0.0-20180531100431-4c381bd170b4
|
|
sourcegraph.com/sourcegraph/appdash-data v0.0.0-20151005221446-73f23eafcf67
|
|
)
|