summaryrefslogtreecommitdiffstats
path: root/database/sqlite/sqlite.c
diff options
context:
space:
mode:
authorDavid Sommerseth <dazo@users.sourceforge.net>2008-12-20 18:14:36 +0100
committerDavid Sommerseth <dazo@users.sourceforge.net>2008-12-20 18:14:36 +0100
commit1f4d314e1cd5f27c053682a9aedc494c22b6e4c8 (patch)
tree1503f1428b07bff258a6baa233fe1a68a3daa85a /database/sqlite/sqlite.c
parent12cf780e59073fcc81cb72174884d2affe6b460e (diff)
downloadeurephia-1f4d314e1cd5f27c053682a9aedc494c22b6e4c8.tar.gz
eurephia-1f4d314e1cd5f27c053682a9aedc494c22b6e4c8.tar.xz
eurephia-1f4d314e1cd5f27c053682a9aedc494c22b6e4c8.zip
sqlite3 - Added sortkeys as argument to sqlite_query_mapped(...)
The last argument to the function can contain a list over field names which will be used in the ORDER BY clause when doing SELECT queries.
Diffstat (limited to 'database/sqlite/sqlite.c')
-rw-r--r--database/sqlite/sqlite.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/database/sqlite/sqlite.c b/database/sqlite/sqlite.c
index 7f9f7fc..6b0cd72 100644
--- a/database/sqlite/sqlite.c
+++ b/database/sqlite/sqlite.c
@@ -386,7 +386,7 @@ char *_build_sqlpart(int btyp, eDBfieldMap *map) {
dbresult *sqlite_query_mapped(eurephiaCTX *ctx, SQLqueryType qType, const char *sqlstub,
- eDBfieldMap *valMap, eDBfieldMap *whereMap)
+ eDBfieldMap *valMap, eDBfieldMap *whereMap, const char *sortkeys)
{
dbresult *res = NULL;
char *tmp1 = NULL, *tmp2 = NULL;
@@ -399,7 +399,11 @@ dbresult *sqlite_query_mapped(eurephiaCTX *ctx, SQLqueryType qType, const char *
case SQL_DELETE:
if( whereMap != NULL ) {
tmp1 = _build_sqlpart(btWHERE, whereMap);
- res = sqlite_query(ctx, "%s WHERE %s", sqlstub, tmp1);
+ if( sortkeys == NULL ) {
+ res = sqlite_query(ctx, "%s WHERE %s", sqlstub, tmp1);
+ } else {
+ res = sqlite_query(ctx, "%s WHERE %s ORDER BY %s", sqlstub, tmp1, sortkeys);
+ }
free_nullsafe(tmp1);
}
break;