Skip to content

Commit 63f4221

Browse files
Merge pull request #44 from epsilla-cloud/upsert
0.3.3 release
2 parents eb71367 + 2a4653c commit 63f4221

4 files changed

Lines changed: 42 additions & 1 deletion

File tree

pyepsilla/cloud/client.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,17 @@ def insert(self, table_name: str, records: list[dict]):
177177
res.close()
178178
return status_code, body
179179

180+
def upsert(self, table_name: str, records: list[dict]):
181+
req_url = "{}/data/insert".format(self._baseurl)
182+
req_data = {"table": table_name, "data": records, "upsert": True}
183+
res = requests.post(
184+
url=req_url, data=json.dumps(req_data), headers=self._header, verify=False
185+
)
186+
status_code = res.status_code
187+
body = res.json()
188+
res.close()
189+
return status_code, body
190+
180191
# Query data from table
181192
def query(
182193
self,

pyepsilla/enterprise/client.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,21 @@ def insert(self, table_name: str, records: list[dict]):
222222
res.close()
223223
return status_code, body
224224

225+
def upsert(self, table_name: str, records: list[dict]):
226+
if self._db_id is None:
227+
raise Exception("[ERROR] db_id is None!")
228+
if records is None:
229+
records = []
230+
req_url = "{}/data/insert".format(self._baseurl)
231+
req_data = {"table": table_name, "data": records, "upsert": True}
232+
res = requests.post(
233+
url=req_url, data=json.dumps(req_data), headers=self._header, verify=False
234+
)
235+
status_code = res.status_code
236+
body = res.json()
237+
res.close()
238+
return status_code, body
239+
225240
# Query data from table
226241
def query(
227242
self,

pyepsilla/vectordb/client.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,21 @@ def insert(self, table_name: str, records: list = None):
166166
res.close()
167167
return status_code, body
168168

169+
def upsert(self, table_name: str, records: list = None):
170+
if self._db is None:
171+
raise Exception("[ERROR] Please use_db() first!")
172+
if records is None:
173+
records = []
174+
req_url = "{}/api/{}/data/insert".format(self._baseurl, self._db)
175+
req_data = {"table": table_name, "data": records, "upsert": True}
176+
res = requests.post(
177+
url=req_url, data=json.dumps(req_data), headers=self._header, verify=False
178+
)
179+
status_code = res.status_code
180+
body = res.json()
181+
res.close()
182+
return status_code, body
183+
169184
def delete(
170185
self,
171186
table_name: str,

pyepsilla/vectordb/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = "0.3.2"
1+
__version__ = "0.3.3"

0 commit comments

Comments
 (0)