diff options
| author | Chris Lu <chris.lu@gmail.com> | 2019-11-27 12:34:03 -0800 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2019-11-27 12:34:03 -0800 |
| commit | 46294b42e65d665a9d5ef31b646da926855f2a7a (patch) | |
| tree | 5ab8f90a2999a970ae5291cb707ab15b59171ab3 | |
| parent | 0f9ba84274d54cc69e3f592c6c2b058fca9a57e8 (diff) | |
| download | seaweedfs-46294b42e65d665a9d5ef31b646da926855f2a7a.tar.xz seaweedfs-46294b42e65d665a9d5ef31b646da926855f2a7a.zip | |
filer: support memsql
fix https://github.com/chrislusf/seaweedfs/issues/1141
| -rw-r--r-- | weed/command/scaffold.go | 1 | ||||
| -rw-r--r-- | weed/filer2/mysql/mysql_store.go | 8 |
2 files changed, 8 insertions, 1 deletions
diff --git a/weed/command/scaffold.go b/weed/command/scaffold.go index 13091764e..0d9350aa1 100644 --- a/weed/command/scaffold.go +++ b/weed/command/scaffold.go @@ -95,6 +95,7 @@ password = "" database = "" # create or use an existing database connection_max_idle = 2 connection_max_open = 100 +interpolateParams = false [postgres] # or cockroachdb # CREATE TABLE IF NOT EXISTS filemeta ( diff --git a/weed/filer2/mysql/mysql_store.go b/weed/filer2/mysql/mysql_store.go index e18299bd2..3eca80ff7 100644 --- a/weed/filer2/mysql/mysql_store.go +++ b/weed/filer2/mysql/mysql_store.go @@ -35,10 +35,12 @@ func (store *MysqlStore) Initialize(configuration util.Configuration) (err error configuration.GetString("database"), configuration.GetInt("connection_max_idle"), configuration.GetInt("connection_max_open"), + configuration.GetBool("interpolateParams"), ) } -func (store *MysqlStore) initialize(user, password, hostname string, port int, database string, maxIdle, maxOpen int) (err error) { +func (store *MysqlStore) initialize(user, password, hostname string, port int, database string, maxIdle, maxOpen int, + interpolateParams bool) (err error) { store.SqlInsert = "INSERT INTO filemeta (dirhash,name,directory,meta) VALUES(?,?,?,?)" store.SqlUpdate = "UPDATE filemeta SET meta=? WHERE dirhash=? AND name=? AND directory=?" @@ -48,6 +50,10 @@ func (store *MysqlStore) initialize(user, password, hostname string, port int, d store.SqlListInclusive = "SELECT NAME, meta FROM filemeta WHERE dirhash=? AND name>=? AND directory=? ORDER BY NAME ASC LIMIT ?" sqlUrl := fmt.Sprintf(CONNECTION_URL_PATTERN, user, password, hostname, port, database) + if interpolateParams { + sqlUrl += "&interpolateParams=true" + } + var dbErr error store.DB, dbErr = sql.Open("mysql", sqlUrl) if dbErr != nil { |
