dbutils/db.c

Wed, 21 Jan 2026 17:46:10 +0100

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Wed, 21 Jan 2026 17:46:10 +0100
changeset 48
deb6c4b8cf9d
parent 47
e2778a456501
child 49
34c723ed7190
permissions
-rw-r--r--

rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec

0
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
1 /*
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
3 *
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
4 * Copyright 2024 Olaf Wintermann. All rights reserved.
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
5 *
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
6 * Redistribution and use in source and binary forms, with or without
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
7 * modification, are permitted provided that the following conditions are met:
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
8 *
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
9 * 1. Redistributions of source code must retain the above copyright
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
10 * notice, this list of conditions and the following disclaimer.
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
11 *
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
12 * 2. Redistributions in binary form must reproduce the above copyright
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
13 * notice, this list of conditions and the following disclaimer in the
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
14 * documentation and/or other materials provided with the distribution.
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
15 *
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
17 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
20 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
23 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
26 * POSSIBILITY OF SUCH DAMAGE.
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
27 */
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
28
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
29 #include "db.h"
3
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
30 #include "dbutils/db.h"
0
1a157da63d7c add API for registering types and simple SQLite proof of concept
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
31
12
421555fa9ce4 add dbuConnectionExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 3
diff changeset
32 int dbuConnectionExec(DBUConnection *conn, const char *sql) {
421555fa9ce4 add dbuConnectionExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 3
diff changeset
33 DBUQuery *q = conn->createQuery(conn, NULL);
421555fa9ce4 add dbuConnectionExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 3
diff changeset
34 int err = 1;
421555fa9ce4 add dbuConnectionExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 3
diff changeset
35 if(!dbuQuerySetSQL(q, sql)) {
421555fa9ce4 add dbuConnectionExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 3
diff changeset
36 err = dbuQueryExec(q);
48
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
37 }
12
421555fa9ce4 add dbuConnectionExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 3
diff changeset
38 dbuQueryFree(q);
421555fa9ce4 add dbuConnectionExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 3
diff changeset
39 return err;
421555fa9ce4 add dbuConnectionExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 3
diff changeset
40 }
421555fa9ce4 add dbuConnectionExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 3
diff changeset
41
23
b26390e77237 add first tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 19
diff changeset
42 int dbuConnectionIsActive(DBUConnection *conn) {
b26390e77237 add first tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 19
diff changeset
43 return conn->isActive ? conn->isActive(conn) : 1;
b26390e77237 add first tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 19
diff changeset
44 }
b26390e77237 add first tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 19
diff changeset
45
b26390e77237 add first tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 19
diff changeset
46 void dbuConnectionFree(DBUConnection *conn) {
b26390e77237 add first tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 19
diff changeset
47 conn->free(conn);
b26390e77237 add first tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 19
diff changeset
48 }
b26390e77237 add first tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 19
diff changeset
49
b26390e77237 add first tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 19
diff changeset
50 DBUQuery* dbuConnectionQuery(DBUConnection *conn, const CxAllocator *a) {
b26390e77237 add first tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 19
diff changeset
51 return conn->createQuery(conn, a);
b26390e77237 add first tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 19
diff changeset
52 }
12
421555fa9ce4 add dbuConnectionExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 3
diff changeset
53
24
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
54 DBUQuery* dbuQueryCreate(DBUConnection *conn, const CxAllocator *a, const char *sql) {
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
55 DBUQuery *query = dbuConnectionQuery(conn, a);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
56 if(query) {
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
57 if(dbuQuerySetSQL(query, sql)) {
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
58 dbuQueryFree(query);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
59 return NULL;
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
60 }
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
61 }
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
62 return query;
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
63 }
12
421555fa9ce4 add dbuConnectionExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 3
diff changeset
64
3
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
65 int dbuQuerySetSQL(DBUQuery *q, const char *sql) {
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
66 return q->setSQL(q, sql);
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
67 }
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
68
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
69 int dbuQuerySetParamString(DBUQuery *q, int index, cxstring str) {
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
70 return q->setParamString(q, index, str);
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
71 }
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
72
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
73 int dbuQuerySetParamInt(DBUQuery *q, int index, int i) {
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
74 return q->setParamInt(q, index, i);
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
75 }
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
76
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
77 int dbuQuerySetParamInt64(DBUQuery *q, int index, int64_t i) {
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
78 return q->setParamInt64(q, index, i);
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
79 }
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
80
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
81 int dbuQuerySetParamDouble(DBUQuery *q, int index, double d) {
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
82 return q->setParamDouble(q, index, d);
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
83 }
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
84
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
85 int dbuQuerySetParamNull(DBUQuery *q, int index) {
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
86 return q->setParamNull(q, index);
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
87 }
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
88
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
89 int dbuQuerySetParamBytes(DBUQuery *q, int index, void *bytes, int len) {
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
90 return q->setParamBytes(q, index, bytes, len);
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
91 }
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
92
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
93 int dbuQueryExec(DBUQuery *q) {
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
94 return q->exec(q);
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
95 }
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
96
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
97 DBUResult* dbuQueryGetResult(DBUQuery *q) {
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
98 return q->getResult(q);
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
99 }
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
100
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
101 void dbuQueryFree(DBUQuery *q) {
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
102 q->free(q);
69ea9040d896 add DB abstraction layer
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 0
diff changeset
103 }
14
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
104
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
105
17
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
106 int dbuResultHasData(DBUResult *result) {
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
107 return result->hasData(result);
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
108 }
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
109
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
110 int dbuResultIsOk(DBUResult *result) {
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
111 return result->isOk(result);
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
112 }
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
113
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
114 int dbuResultNextRow(DBUResult *result) {
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
115 return result->nextRow(result);
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
116 }
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
117
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
118 cxstring dbuResultGetText(DBUResult *result, int field) {
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
119 return result->getText(result, field);
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
120 }
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
121
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
122 int64_t dbuResultGetInt(DBUResult *result, int field) {
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
123 if(result->optional_getInt) {
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
124 return result->optional_getInt(result, field);
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
125 } else {
47
e2778a456501 fix wrong field index in dbuResultGetInt
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 24
diff changeset
126 cxstring s = result->getText(result, field);
17
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
127 int64_t value = 0;
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
128 cx_strtoi64(s, &value, 10);
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
129 return value;
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
130 }
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
131 }
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
132
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
133 DBUBytes dbuResultGetBinary(DBUResult *result, int field) {
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
134 if(result->optional_getBinary) {
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
135 return result->optional_getBinary(result, field);
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
136 } else {
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
137 cxstring bin = result->getText(result, field);
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
138 return (DBUBytes) { (const unsigned char*)bin.ptr, bin.length };
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
139 }
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
140 }
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
141
18
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
142 void dbuResultFree(DBUResult *result) {
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
143 result->free(result);
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
144 }
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
145
17
23e678e6c917 add wrapper for DBUResult fptrs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 15
diff changeset
146
14
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
147
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
148 int dbuResultAsInt32(DBUResult *r, int32_t *result) {
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
149 int64_t i;
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
150 int ret = dbuResultAsInt64(r, &i);
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
151 if(!ret) {
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
152 *result = (int32_t)i;
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
153 }
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
154 return ret;
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
155 }
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
156
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
157 int dbuResultAsUInt32(DBUResult *r, uint32_t *result) {
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
158 int64_t i;
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
159 int ret = dbuResultAsInt64(r, &i);
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
160 if(!ret) {
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
161 *result = (uint32_t)i;
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
162 }
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
163 return ret;
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
164 }
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
165
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
166 int dbuResultAsInt64(DBUResult *r, int64_t *result) {
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
167 if(r->hasData(r)) {
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
168 if(r->fieldType(r, 0) == DBU_FIELD_INT) {
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
169 if(r->optional_getInt) {
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
170 *result = r->optional_getInt(r, 0);
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
171 } else {
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
172 cxstring s = r->getText(r, 0);
15
862ab606ee06 fix query cleanup in dbuResultAsValue functions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 14
diff changeset
173 r->free(r);
14
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
174 return cx_strtoi64(s, result, 10);
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
175 }
15
862ab606ee06 fix query cleanup in dbuResultAsValue functions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 14
diff changeset
176 r->free(r);
14
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
177 return 0;
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
178 }
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
179 }
15
862ab606ee06 fix query cleanup in dbuResultAsValue functions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 14
diff changeset
180 r->free(r);
14
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
181 return -1;
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
182 }
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
183
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
184 int dbuResultAsUInt64(DBUResult *r, uint64_t *result) {
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
185 int64_t i;
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
186 int ret = dbuResultAsInt64(r, &i);
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
187 if(!ret) {
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
188 *result = (uint64_t)i;
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
189 }
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
190 return ret;
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
191 }
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
192
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
193 int dbuResultAsString(DBUResult *r, char **result) {
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
194 cxmutstr s;
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
195 int ret = dbuResultAsCxString(r, &s);
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
196 if(!ret) {
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
197 *result = s.ptr;
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
198 }
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
199 return ret;
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
200 }
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
201
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
202 int dbuResultAsCxString(DBUResult *r, cxmutstr *result) {
18
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
203 return dbuResultAsCxStringA(r, cxDefaultAllocator, result);
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
204 }
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
205
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
206 int dbuResultAsCxStringA(DBUResult *r, const CxAllocator *a, cxmutstr *result) {
14
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
207 if(r->hasData(r)) {
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
208 if(r->fieldType(r, 0) != DBU_FIELD_NULL) {
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
209 cxstring s = r->getText(r, 0);
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
210 if(s.ptr) {
18
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
211 *result = cx_strdup_a(a, s);
15
862ab606ee06 fix query cleanup in dbuResultAsValue functions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 14
diff changeset
212 r->free(r);
14
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
213 return 0;
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
214 }
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
215 }
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
216 }
15
862ab606ee06 fix query cleanup in dbuResultAsValue functions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 14
diff changeset
217 r->free(r);
14
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
218 return -1;
59e62e65182c add convenience functions for getting a single value from results
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 12
diff changeset
219 }
18
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
220
24
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
221 static DBUQuery* execInt64ParamQuery(DBUConnection *conn, const char *sql, int64_t param) {
18
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
222 DBUQuery *q = conn->createQuery(conn, cxDefaultAllocator);
24
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
223 if(dbuQuerySetSQL(q, sql)) {
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
224 dbuQueryFree(q);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
225 return NULL;
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
226 }
18
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
227 dbuQuerySetParamInt64(q, 1, param);
24
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
228 if(dbuQueryExec(q)) {
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
229 dbuQueryFree(q);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
230 return NULL;
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
231 }
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
232 return q;
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
233 }
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
234
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
235 static DBUQuery* execStringParamQuery(DBUConnection *conn, const char *sql, cxstring param) {
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
236 DBUQuery *q = conn->createQuery(conn, cxDefaultAllocator);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
237 if(dbuQuerySetSQL(q, sql)) {
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
238 dbuQueryFree(q);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
239 return NULL;
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
240 }
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
241 dbuQuerySetParamString(q, 1, param);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
242 if(dbuQueryExec(q)) {
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
243 dbuQueryFree(q);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
244 return NULL;
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
245 }
19
55de75c839e8 add dbuSimpleGetList* functions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 18
diff changeset
246 return q;
55de75c839e8 add dbuSimpleGetList* functions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 18
diff changeset
247 }
55de75c839e8 add dbuSimpleGetList* functions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 18
diff changeset
248
48
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
249 DBUResult* dbuSqlExecQuery(DBUConnection *conn, const CxAllocator *a, const char *sql) {
24
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
250 DBUQuery *q = dbuQueryCreate(conn, a, sql);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
251 if(!q) {
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
252 return NULL;
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
253 }
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
254 if(dbuQueryExec(q)) {
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
255 dbuQueryFree(q);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
256 return NULL;
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
257 }
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
258 DBUResult *result = dbuQueryGetResult(q);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
259 dbuQueryFree(q);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
260 return result;
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
261 }
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
262
48
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
263 DBUResult* dbuSqlExecQueryParamInt32(DBUConnection *conn, const CxAllocator *a, const char *sql, int32_t param) {
24
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
264 DBUQuery *q = execInt64ParamQuery(conn, sql, param);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
265 if(!q) return NULL;
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
266 DBUResult *r = dbuQueryGetResult(q);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
267 dbuQueryFree(q);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
268 return r;
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
269 }
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
270
48
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
271 DBUResult* dbuSqlExecQueryParamInt64(DBUConnection *conn, const CxAllocator *a, const char *sql, int64_t param) {
24
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
272 DBUQuery *q = execInt64ParamQuery(conn, sql, param);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
273 if(!q) return NULL;
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
274 DBUResult *r = dbuQueryGetResult(q);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
275 dbuQueryFree(q);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
276 return r;
19
55de75c839e8 add dbuSimpleGetList* functions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 18
diff changeset
277 }
55de75c839e8 add dbuSimpleGetList* functions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 18
diff changeset
278
48
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
279 DBUResult* dbuSqlExecQueryParamUInt32(DBUConnection *conn, const CxAllocator *a, const char *sql, uint32_t param) {
24
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
280 DBUQuery *q = execInt64ParamQuery(conn, sql, param);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
281 if(!q) return NULL;
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
282 DBUResult *r = dbuQueryGetResult(q);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
283 dbuQueryFree(q);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
284 return r;
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
285 }
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
286
48
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
287 DBUResult* dbuSqlExecQueryParamUInt64(DBUConnection *conn, const CxAllocator *a, const char *sql, uint32_t param) {
24
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
288 DBUQuery *q = execInt64ParamQuery(conn, sql, param);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
289 if(!q) return NULL;
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
290 DBUResult *r = dbuQueryGetResult(q);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
291 dbuQueryFree(q);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
292 return r;
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
293 }
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
294
48
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
295 DBUResult* dbuSqlExecQueryParamString(DBUConnection *conn, const CxAllocator *a, const char *sql, const char *param) {
24
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
296 DBUQuery *q = execStringParamQuery(conn, sql, cx_str(param));
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
297 if(!q) return NULL;
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
298 DBUResult *r = dbuQueryGetResult(q);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
299 dbuQueryFree(q);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
300 return r;
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
301 }
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
302
48
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
303 DBUResult* dbuSqlExecQueryParamCxString(DBUConnection *conn, const CxAllocator *a, const char *sql, cxstring param) {
24
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
304 DBUQuery *q = execStringParamQuery(conn, sql, param);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
305 if(!q) return NULL;
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
306 DBUResult *r = dbuQueryGetResult(q);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
307 dbuQueryFree(q);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
308 return r;
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
309 }
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
310
48
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
311 DBUResult* dbuSqlExecQueryParamCxMutStr(DBUConnection *conn, const CxAllocator *a, const char *sql, cxmutstr param) {
24
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
312 DBUQuery *q = execStringParamQuery(conn, sql, cx_strcast(param));
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
313 if(!q) return NULL;
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
314 DBUResult *r = dbuQueryGetResult(q);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
315 dbuQueryFree(q);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
316 return r;
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
317 }
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
318
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
319
19
55de75c839e8 add dbuSimpleGetList* functions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 18
diff changeset
320 int dbuSimpleGetInt64WithIntParam(DBUConnection *conn, const char *sql, int64_t param, int64_t *result) {
24
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
321 DBUQuery *q = execInt64ParamQuery(conn, sql, param);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
322 if(!q) return 1;
18
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
323 int err = dbuQueryExec(q);
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
324 dbuQueryFree(q);
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
325 if(!err) {
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
326 DBUResult *r = dbuQueryGetResult(q);
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
327 err = dbuResultAsInt64(r, result);
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
328 }
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
329 return err;
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
330 }
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
331
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
332 int dbuSimpleGetInt64WithStringParam(DBUConnection *conn, const char *sql, cxstring param, int64_t *result) {
24
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
333 DBUQuery *q = execStringParamQuery(conn, sql, param);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
334 if(!q) return 1;
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
335 DBUResult *r = dbuQueryGetResult(q);
18
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
336 dbuQueryFree(q);
24
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
337 return dbuResultAsInt64(r, result);;
18
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
338 }
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
339
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
340 int dbuSimpleGetStringWithIntParam(DBUConnection *conn, const char *sql, int64_t param, const CxAllocator *a, cxmutstr *result) {
24
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
341 DBUQuery *q = execInt64ParamQuery(conn, sql, param);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
342 if(!q) return 1;
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
343 DBUResult *r = dbuQueryGetResult(q);
18
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
344 dbuQueryFree(q);
24
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
345 return dbuResultAsCxStringA(r, a, result);
18
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
346 }
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
347
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
348 int dbuSimpleGetStringWithStringParam(DBUConnection *conn, const char *sql, cxstring param, const CxAllocator *a, cxmutstr *result) {
24
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
349 DBUQuery *q = execStringParamQuery(conn, sql, param);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
350 if(!q) return 1;
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
351 DBUResult *r = dbuQueryGetResult(q);
18
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
352 dbuQueryFree(q);
24
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
353 return dbuResultAsCxStringA(r, a, result);
18
e78ef06fe062 add dbuSimpleGet* API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 17
diff changeset
354 }
19
55de75c839e8 add dbuSimpleGetList* functions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 18
diff changeset
355
55de75c839e8 add dbuSimpleGetList* functions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 18
diff changeset
356 CxList* dbuSimpleGetListWithIntParam(DBUConnection *conn, const char *sql, int64_t param, const CxAllocator *a, DBUClass *type) {
24
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
357 DBUQuery *q = conn->createQuery(conn, cxDefaultAllocator);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
358 if(dbuQuerySetSQL(q, sql)) {
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
359 dbuQueryFree(q);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
360 return NULL;
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
361 }
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
362 dbuQuerySetParamInt64(q, 1, param);
19
55de75c839e8 add dbuSimpleGetList* functions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 18
diff changeset
363 DBUObjectBuilder *builder = dbuObjectBuilder(type, q, a);
55de75c839e8 add dbuSimpleGetList* functions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 18
diff changeset
364 CxList *list = dbuObjectBuilderGetList(builder);
55de75c839e8 add dbuSimpleGetList* functions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 18
diff changeset
365 dbuObjectBuilderDestroy(builder);
55de75c839e8 add dbuSimpleGetList* functions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 18
diff changeset
366 return list;
55de75c839e8 add dbuSimpleGetList* functions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 18
diff changeset
367 }
55de75c839e8 add dbuSimpleGetList* functions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 18
diff changeset
368
55de75c839e8 add dbuSimpleGetList* functions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 18
diff changeset
369 CxList* dbuSimpleGetListWithStringParam(DBUConnection *conn, const char *sql, cxstring param, const CxAllocator *a, DBUClass *type) {
24
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
370 DBUQuery *q = conn->createQuery(conn, cxDefaultAllocator);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
371 if(dbuQuerySetSQL(q, sql)) {
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
372 dbuQueryFree(q);
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
373 return NULL;
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
374 }
df671b62538e add dbuSqlExec API
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 23
diff changeset
375 dbuQuerySetParamString(q, 1, param);
19
55de75c839e8 add dbuSimpleGetList* functions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 18
diff changeset
376 DBUObjectBuilder *builder = dbuObjectBuilder(type, q, a);
55de75c839e8 add dbuSimpleGetList* functions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 18
diff changeset
377 CxList *list = dbuObjectBuilderGetList(builder);
55de75c839e8 add dbuSimpleGetList* functions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 18
diff changeset
378 dbuObjectBuilderDestroy(builder);
55de75c839e8 add dbuSimpleGetList* functions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 18
diff changeset
379 return list;
55de75c839e8 add dbuSimpleGetList* functions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 18
diff changeset
380 }
48
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
381
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
382 int dbuSqlExec(DBUConnection *conn, const char *sql) {
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
383 DBUResult *result = dbuSqlExecQuery(conn, NULL, sql);
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
384 int ret = dbuResultIsOk(result);
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
385 dbuResultFree(result);
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
386 return ret;
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
387 }
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
388
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
389 int dbuSqlExecParamInt32(DBUConnection *conn, const char *sql, int32_t param) {
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
390 DBUResult *result = dbuSqlExecQueryParam(conn, NULL, sql, param);
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
391 int ret = dbuResultIsOk(result);
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
392 dbuResultFree(result);
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
393 return ret;
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
394 }
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
395
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
396 int dbuSqlExecParamInt64(DBUConnection *conn, const char *sql, int64_t param) {
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
397 DBUResult *result = dbuSqlExecQueryParam(conn, NULL, sql, param);
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
398 int ret = dbuResultIsOk(result);
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
399 dbuResultFree(result);
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
400 return ret;
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
401 }
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
402
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
403 int dbuSqlExecParamUInt32(DBUConnection *conn, const char *sql, uint32_t param) {
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
404 DBUResult *result = dbuSqlExecQueryParam(conn, NULL, sql, param);
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
405 int ret = dbuResultIsOk(result);
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
406 dbuResultFree(result);
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
407 return ret;
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
408 }
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
409
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
410 int dbuSqlExecParamUInt64(DBUConnection *conn, const char *sql, uint32_t param) {
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
411 DBUResult *result = dbuSqlExecQueryParam(conn, NULL, sql, param);
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
412 int ret = dbuResultIsOk(result);
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
413 dbuResultFree(result);
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
414 return ret;
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
415 }
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
416
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
417 int dbuSqlExecParamString(DBUConnection *conn, const char *sql, const char *param) {
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
418 DBUResult *result = dbuSqlExecQueryParam(conn, NULL, sql, param);
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
419 int ret = dbuResultIsOk(result);
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
420 dbuResultFree(result);
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
421 return ret;
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
422 }
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
423
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
424 int dbuSqlExecParamCxString(DBUConnection *conn, const char *sql, cxstring param) {
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
425 DBUResult *result = dbuSqlExecQueryParam(conn, NULL, sql, param);
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
426 int ret = dbuResultIsOk(result);
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
427 dbuResultFree(result);
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
428 return ret;
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
429 }
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
430
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
431 int dbuSqlExecParamCxMutStr(DBUConnection *conn, const char *sql, cxmutstr param) {
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
432 DBUResult *result = dbuSqlExecQueryParam(conn, NULL, sql, param);
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
433 int ret = dbuResultIsOk(result);
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
434 dbuResultFree(result);
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
435 return ret;
deb6c4b8cf9d rename dbuSqlExec to dbuSqlExecQuery, add new dbuSqlExec
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
436 }

mercurial