Thu, 27 Feb 2025 20:53:55 +0100
add dbuSimpleGetList* functions
| dbutils/db.c | file | annotate | diff | comparison | revisions | |
| dbutils/dbutils/db.h | file | annotate | diff | comparison | revisions |
--- a/dbutils/db.c Thu Feb 27 20:47:33 2025 +0100 +++ b/dbutils/db.c Thu Feb 27 20:53:55 2025 +0100 @@ -197,11 +197,22 @@ return -1; } - -int dbuSimpleGetInt64WithIntParam(DBUConnection *conn, const char *sql, int64_t param, int64_t *result) { +static DBUQuery* createIntParamQuery(DBUConnection *conn, const char *sql, int64_t param) { DBUQuery *q = conn->createQuery(conn, cxDefaultAllocator); dbuQuerySetSQL(q, sql); dbuQuerySetParamInt64(q, 1, param); + return q; +} + +static DBUQuery* createStringParamQuery(DBUConnection *conn, const char *sql, cxstring param) { + DBUQuery *q = conn->createQuery(conn, cxDefaultAllocator); + dbuQuerySetSQL(q, sql); + dbuQuerySetParamString(q, 1, param); + return q; +} + +int dbuSimpleGetInt64WithIntParam(DBUConnection *conn, const char *sql, int64_t param, int64_t *result) { + DBUQuery *q = createIntParamQuery(conn, sql, param); int err = dbuQueryExec(q); dbuQueryFree(q); if(!err) { @@ -212,9 +223,7 @@ } int dbuSimpleGetInt64WithStringParam(DBUConnection *conn, const char *sql, cxstring param, int64_t *result) { - DBUQuery *q = conn->createQuery(conn, cxDefaultAllocator); - dbuQuerySetSQL(q, sql); - dbuQuerySetParamString(q, 1, param); + DBUQuery *q = createStringParamQuery(conn, sql, param); int err = dbuQueryExec(q); dbuQueryFree(q); if(!err) { @@ -225,9 +234,7 @@ } int dbuSimpleGetStringWithIntParam(DBUConnection *conn, const char *sql, int64_t param, const CxAllocator *a, cxmutstr *result) { - DBUQuery *q = conn->createQuery(conn, cxDefaultAllocator); - dbuQuerySetSQL(q, sql); - dbuQuerySetParamInt64(q, 1, param); + DBUQuery *q = createIntParamQuery(conn, sql, param); int err = dbuQueryExec(q); dbuQueryFree(q); if(!err) { @@ -238,9 +245,7 @@ } int dbuSimpleGetStringWithStringParam(DBUConnection *conn, const char *sql, cxstring param, const CxAllocator *a, cxmutstr *result) { - DBUQuery *q = conn->createQuery(conn, cxDefaultAllocator); - dbuQuerySetSQL(q, sql); - dbuQuerySetParamString(q, 1, param); + DBUQuery *q = createStringParamQuery(conn, sql, param); int err = dbuQueryExec(q); dbuQueryFree(q); if(!err) { @@ -249,3 +254,19 @@ } return err; } + +CxList* dbuSimpleGetListWithIntParam(DBUConnection *conn, const char *sql, int64_t param, const CxAllocator *a, DBUClass *type) { + DBUQuery *q = createIntParamQuery(conn, sql, param); + DBUObjectBuilder *builder = dbuObjectBuilder(type, q, a); + CxList *list = dbuObjectBuilderGetList(builder); + dbuObjectBuilderDestroy(builder); + return list; +} + +CxList* dbuSimpleGetListWithStringParam(DBUConnection *conn, const char *sql, cxstring param, const CxAllocator *a, DBUClass *type) { + DBUQuery *q = createStringParamQuery(conn, sql, param); + DBUObjectBuilder *builder = dbuObjectBuilder(type, q, a); + CxList *list = dbuObjectBuilderGetList(builder); + dbuObjectBuilderDestroy(builder); + return list; +}
--- a/dbutils/dbutils/db.h Thu Feb 27 20:47:33 2025 +0100 +++ b/dbutils/dbutils/db.h Thu Feb 27 20:53:55 2025 +0100 @@ -153,6 +153,8 @@ int dbuSimpleGetInt64WithStringParam(DBUConnection *conn, const char *sql, cxstring param, int64_t *result); int dbuSimpleGetStringWithIntParam(DBUConnection *conn, const char *sql, int64_t param, const CxAllocator *a, cxmutstr *result); int dbuSimpleGetStringWithStringParam(DBUConnection *conn, const char *sql, cxstring param, const CxAllocator *a, cxmutstr *result); +CxList* dbuSimpleGetListWithIntParam(DBUConnection *conn, const char *sql, int64_t param, const CxAllocator *a, DBUClass *type); +CxList* dbuSimpleGetListWithStringParam(DBUConnection *conn, const char *sql, cxstring param, const CxAllocator *a, DBUClass *type); #ifdef __cplusplus }