gracefully handling errors for issue https://github.com/tursodatabase/limbo/issues/494 , changes made 5 places where todo macros were replaced with relevant errors

This commit is contained in:
amuldotexe
2024-12-20 20:32:03 +05:30
parent 8387e7903c
commit f912771ae6

View File

@@ -104,7 +104,9 @@ impl Cursor {
// TODO: use stmt_is_dml to set rowcount
if stmt_is_dml {
todo!()
return Err(PyErr::new::<NotSupportedError, _>(
"DML statements (INSERT/UPDATE/DELETE) are not fully supported in this version"
).into());
}
Ok(Cursor {
@@ -181,18 +183,24 @@ impl Cursor {
}
}
pub fn close(&self) -> Result<()> {
todo!()
pub fn close(&self) -> PyResult<()> {
Err(PyErr::new::<NotSupportedError, _>(
"close() is not supported in this version"
))
}
#[pyo3(signature = (sql, parameters=None))]
pub fn executemany(&self, sql: &str, parameters: Option<Py<PyList>>) {
todo!()
pub fn executemany(&self, sql: &str, parameters: Option<Py<PyList>>) -> PyResult<()> {
Err(PyErr::new::<NotSupportedError, _>(
"executemany() is not supported in this version"
))
}
#[pyo3(signature = (size=None))]
pub fn fetchmany(&self, size: Option<i64>) {
todo!()
pub fn fetchmany(&self, size: Option<i64>) -> PyResult<Option<Vec<PyObject>>> {
Err(PyErr::new::<NotSupportedError, _>(
"fetchmany() is not supported in this version"
))
}
}
@@ -228,12 +236,16 @@ impl Connection {
drop(self.conn.clone());
}
pub fn commit(&self) {
todo!()
pub fn commit(&self) -> PyResult<()> {
Err(PyErr::new::<NotSupportedError, _>(
"Transactions are not supported in this version"
))
}
pub fn rollback(&self) {
todo!()
pub fn rollback(&self) -> PyResult<()> {
Err(PyErr::new::<NotSupportedError, _>(
"Transactions are not supported in this version"
))
}
}