summaryrefslogtreecommitdiffstats
path: root/Modules/_sqlite/util.c
diff options
context:
space:
mode:
Diffstat (limited to 'Modules/_sqlite/util.c')
-rw-r--r--Modules/_sqlite/util.c71
1 files changed, 10 insertions, 61 deletions
diff --git a/Modules/_sqlite/util.c b/Modules/_sqlite/util.c
index ec400a1..33748a6 100644
--- a/Modules/_sqlite/util.c
+++ b/Modules/_sqlite/util.c
@@ -1,6 +1,6 @@
/* util.c - various utility functions
*
- * Copyright (C) 2005 Gerhard Häring <gh@ghaering.de>
+ * Copyright (C) 2005-2006 Gerhard Häring <gh@ghaering.de>
*
* This file is part of pysqlite.
*
@@ -24,30 +24,6 @@
#include "module.h"
#include "connection.h"
-/*
- * it's not so trivial to write a portable sleep in C. For now, the simplest
- * solution is to just use Python's sleep().
- */
-void pysqlite_sleep(double seconds)
-{
- PyObject* ret;
-
- ret = PyObject_CallFunction(time_sleep, "d", seconds);
- Py_DECREF(ret);
-}
-
-double pysqlite_time(void)
-{
- PyObject* ret;
- double time;
-
- ret = PyObject_CallFunction(time_time, "");
- time = PyFloat_AsDouble(ret);
- Py_DECREF(ret);
-
- return time;
-}
-
int _sqlite_step_with_busyhandler(sqlite3_stmt* statement, Connection* connection
)
{
@@ -75,63 +51,35 @@ int _seterror(sqlite3* db)
case SQLITE_OK:
PyErr_Clear();
break;
- case SQLITE_ERROR:
- PyErr_SetString(OperationalError, sqlite3_errmsg(db));
- break;
case SQLITE_INTERNAL:
+ case SQLITE_NOTFOUND:
PyErr_SetString(InternalError, sqlite3_errmsg(db));
break;
- case SQLITE_PERM:
- PyErr_SetString(OperationalError, sqlite3_errmsg(db));
+ case SQLITE_NOMEM:
+ (void)PyErr_NoMemory();
break;
+ case SQLITE_ERROR:
+ case SQLITE_PERM:
case SQLITE_ABORT:
- PyErr_SetString(OperationalError, sqlite3_errmsg(db));
- break;
case SQLITE_BUSY:
- PyErr_SetString(OperationalError, sqlite3_errmsg(db));
- break;
case SQLITE_LOCKED:
- PyErr_SetString(OperationalError, sqlite3_errmsg(db));
- break;
- case SQLITE_NOMEM:
- (void)PyErr_NoMemory();
- break;
case SQLITE_READONLY:
- PyErr_SetString(OperationalError, sqlite3_errmsg(db));
- break;
case SQLITE_INTERRUPT:
- PyErr_SetString(OperationalError, sqlite3_errmsg(db));
- break;
case SQLITE_IOERR:
- PyErr_SetString(OperationalError, sqlite3_errmsg(db));
- break;
- case SQLITE_CORRUPT:
- PyErr_SetString(DatabaseError, sqlite3_errmsg(db));
- break;
- case SQLITE_NOTFOUND:
- PyErr_SetString(InternalError, sqlite3_errmsg(db));
- break;
case SQLITE_FULL:
- PyErr_SetString(OperationalError, sqlite3_errmsg(db));
- break;
case SQLITE_CANTOPEN:
- PyErr_SetString(OperationalError, sqlite3_errmsg(db));
- break;
case SQLITE_PROTOCOL:
- PyErr_SetString(OperationalError, sqlite3_errmsg(db));
- break;
case SQLITE_EMPTY:
- PyErr_SetString(OperationalError, sqlite3_errmsg(db));
- break;
case SQLITE_SCHEMA:
PyErr_SetString(OperationalError, sqlite3_errmsg(db));
break;
+ case SQLITE_CORRUPT:
+ PyErr_SetString(DatabaseError, sqlite3_errmsg(db));
+ break;
case SQLITE_TOOBIG:
PyErr_SetString(DataError, sqlite3_errmsg(db));
break;
case SQLITE_CONSTRAINT:
- PyErr_SetString(IntegrityError, sqlite3_errmsg(db));
- break;
case SQLITE_MISMATCH:
PyErr_SetString(IntegrityError, sqlite3_errmsg(db));
break;
@@ -140,6 +88,7 @@ int _seterror(sqlite3* db)
break;
default:
PyErr_SetString(DatabaseError, sqlite3_errmsg(db));
+ break;
}
return errorcode;