|
1 | 1 | <img height="240" src="./mascot.png"/> |
2 | 2 |
|
3 | | -# A MySQL compatible database engine written in pure Go |
| 3 | +# A MySQL compatible database engine written in Go |
4 | 4 |
|
5 | 5 | **go-mysql-server** is a data-source agnostic SQL engine and server |
6 | 6 | which runs queries on data sources you provide, using the MySQL |
@@ -56,6 +56,20 @@ directory with the `go.mod` file, run: |
56 | 56 | go get github.com/dolthub/go-mysql-server@latest |
57 | 57 | ``` |
58 | 58 |
|
| 59 | +To implement ICU-compatible regexes, `go-mysql-server` has a dependency on |
| 60 | +[go-icu-regex](github.com/dolthub/go-icu-regex), which has a Cgo dependency on |
| 61 | +[ICU4C](https://unicode-org.github.io/icu/userguide/icu4c/). To build a project |
| 62 | +which depends on `go-mysql-server`, you should have a C/C++ toolchain, you |
| 63 | +should build with Cgo enabled, and you should have libicu-dev, or the |
| 64 | +equivalent for your environment, installed and available to your C++ toolchain. |
| 65 | + |
| 66 | +For convenience, `go-mysql-server` also includes a non-compatible regex |
| 67 | +implementation based on the Go standard library `regex.Regex`. To build against |
| 68 | +that, instead of the `go-icu-regex` implementation, you must compile with |
| 69 | +`-tags=gms_pure_go`. Please note that some of go-mysql-server's tests do not |
| 70 | +pass with `-tags=gms_pure_go` and in general `gms_pure_go` is not recommended |
| 71 | +for users seeking MySQL compatibility. |
| 72 | + |
59 | 73 | ## Using the in-memory test server |
60 | 74 |
|
61 | 75 | The in-memory test server can replace a real MySQL server in |
|
0 commit comments