fix: keep idempotent when init AnalyticdbVectorBySql (#24239)
Co-authored-by: xiaozeyu <xiaozeyu.xzy@alibaba-inc.com>
This commit is contained in:
@@ -98,14 +98,19 @@ class AnalyticdbVectorBySql:
|
|||||||
try:
|
try:
|
||||||
cur.execute(f"CREATE DATABASE {self.databaseName}")
|
cur.execute(f"CREATE DATABASE {self.databaseName}")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
if "already exists" in str(e):
|
if "already exists" not in str(e):
|
||||||
return
|
|
||||||
raise e
|
raise e
|
||||||
finally:
|
finally:
|
||||||
cur.close()
|
cur.close()
|
||||||
conn.close()
|
conn.close()
|
||||||
self.pool = self._create_connection_pool()
|
self.pool = self._create_connection_pool()
|
||||||
with self._get_cursor() as cur:
|
with self._get_cursor() as cur:
|
||||||
|
try:
|
||||||
|
cur.execute("CREATE EXTENSION IF NOT EXISTS zhparser;")
|
||||||
|
except Exception as e:
|
||||||
|
raise RuntimeError(
|
||||||
|
"Failed to create zhparser extension. Please ensure it is available in your AnalyticDB."
|
||||||
|
) from e
|
||||||
try:
|
try:
|
||||||
cur.execute("CREATE TEXT SEARCH CONFIGURATION zh_cn (PARSER = zhparser)")
|
cur.execute("CREATE TEXT SEARCH CONFIGURATION zh_cn (PARSER = zhparser)")
|
||||||
cur.execute("ALTER TEXT SEARCH CONFIGURATION zh_cn ADD MAPPING FOR n,v,a,i,e,l,x WITH simple")
|
cur.execute("ALTER TEXT SEARCH CONFIGURATION zh_cn ADD MAPPING FOR n,v,a,i,e,l,x WITH simple")
|
||||||
|
Reference in New Issue
Block a user