Fixed bug returning metadata of SODA documents inserted into a
collection using saveAndGet().
This commit is contained in:
parent
92a486cd0d
commit
a760c79076
|
@ -13,12 +13,15 @@ oracledb 1.2.0b1 (TBD)
|
||||||
Thin Mode Changes
|
Thin Mode Changes
|
||||||
+++++++++++++++++
|
+++++++++++++++++
|
||||||
|
|
||||||
#) Fixed bug that prevented binding data of types DB_TYPE_ROWID and
|
#) Fixed bug that prevented binding data of types DB_TYPE_ROWID and
|
||||||
DB_TYPE_UROWID.
|
DB_TYPE_UROWID.
|
||||||
|
|
||||||
Thick Mode Changes
|
Thick Mode Changes
|
||||||
++++++++++++++++++
|
++++++++++++++++++
|
||||||
|
|
||||||
|
#) Fixed bug returning metadata of SODA documents inserted into a collection
|
||||||
|
using :meth:`SodaCollection.saveAndGet()`.
|
||||||
|
|
||||||
Common Changes
|
Common Changes
|
||||||
++++++++++++++
|
++++++++++++++
|
||||||
|
|
||||||
|
|
|
@ -318,7 +318,7 @@ class SodaCollection:
|
||||||
doc_impl = self._process_doc_arg(doc)
|
doc_impl = self._process_doc_arg(doc)
|
||||||
if hint is not None and not isinstance(hint, str):
|
if hint is not None and not isinstance(hint, str):
|
||||||
raise TypeError("expecting a string")
|
raise TypeError("expecting a string")
|
||||||
return_doc_impl = self._impl.save(doc_impl, hint, return_doc=False)
|
return_doc_impl = self._impl.save(doc_impl, hint, return_doc=True)
|
||||||
return SodaDocument._from_impl(return_doc_impl)
|
return SodaDocument._from_impl(return_doc_impl)
|
||||||
|
|
||||||
def truncate(self) -> None:
|
def truncate(self) -> None:
|
||||||
|
|
|
@ -446,5 +446,27 @@ class TestCase(test_env.BaseTestCase):
|
||||||
result, = cursor.fetchone()
|
result, = cursor.fetchone()
|
||||||
self.assertTrue(hint in result.read())
|
self.assertTrue(hint in result.read())
|
||||||
|
|
||||||
|
def test_3420_save_and_get(self):
|
||||||
|
"3420 - test saveAndGet"
|
||||||
|
soda_db = self.get_soda_database(minclient=(19, 9))
|
||||||
|
coll = soda_db.createCollection("TestSodaSaveAndGet")
|
||||||
|
coll.find().remove()
|
||||||
|
values_to_save = [
|
||||||
|
dict(name="John", age=50),
|
||||||
|
soda_db.createDocument(dict(name="Mark", age=45)),
|
||||||
|
soda_db.createDocument(dict(name="Jill", age=32))
|
||||||
|
]
|
||||||
|
inserted_keys = []
|
||||||
|
for value in values_to_save:
|
||||||
|
doc = coll.saveAndGet(value)
|
||||||
|
inserted_keys.append(doc.key)
|
||||||
|
fetched_docs = coll.find().getDocuments()
|
||||||
|
self.connection.commit()
|
||||||
|
self.assertEqual(coll.find().count(), len(values_to_save))
|
||||||
|
for key, fetched_doc in zip(inserted_keys, fetched_docs):
|
||||||
|
doc = coll.find().key(key).getOne()
|
||||||
|
self.assertEqual(doc.getContent(), fetched_doc.getContent())
|
||||||
|
coll.drop()
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
test_env.run_test_cases()
|
test_env.run_test_cases()
|
||||||
|
|
Loading…
Reference in New Issue