Changed default behaviour of Count and Delete queries to delete the where builder

This commit is contained in:
2020-10-07 12:47:08 +01:00
parent b62a3f0c99
commit 0787fd8e3c
2 changed files with 19 additions and 19 deletions

View File

@@ -284,7 +284,7 @@ int64_t countQuery(struct stored_conn_t *sconn, const char *table, where_builder
strbld_str(sb, "SELECT COUNT(*) AS `C` FROM `", 0); strbld_str(sb, "SELECT COUNT(*) AS `C` FROM `", 0);
strbld_str(sb, table, 0); strbld_str(sb, table, 0);
strbld_str(sb, "` WHERE ", 0); strbld_str(sb, "` WHERE ", 0);
compileWhereBuilder_sb(wb, sb, 0); compileWhereBuilder_sb(wb, sb, 1);
if (strbld_finalize_or_destroy(&sb, &qry, &qry_len) != 0) { if (strbld_finalize_or_destroy(&sb, &qry, &qry_len) != 0) {
return -1; return -1;
} }
@@ -308,7 +308,7 @@ int deleteQuery(struct stored_conn_t *sconn, const char *table, where_builder *w
strbld_str(sb, "DELETE FROM `", 0); strbld_str(sb, "DELETE FROM `", 0);
strbld_str(sb, table, 0); strbld_str(sb, table, 0);
strbld_str(sb, "` WHERE ", 0); strbld_str(sb, "` WHERE ", 0);
compileWhereBuilder_sb(wb, sb, 0); compileWhereBuilder_sb(wb, sb, 1);
if (strbld_finalize_or_destroy(&sb, &qry, &qry_len) != 0) { if (strbld_finalize_or_destroy(&sb, &qry, &qry_len) != 0) {
return -1; return -1;
} }
@@ -330,15 +330,15 @@ int syncIdMap(struct stored_conn_t *sconn, const char *table,
unsigned int primary_id, size_t n_maps, unsigned int *map_ids) unsigned int primary_id, size_t n_maps, unsigned int *map_ids)
{ {
str_builder *sb; str_builder *sb;
where_builder *wb;
char *qry; char *qry;
size_t qry_len; size_t qry_len;
int qry_ret; int qry_ret;
size_t idx; size_t idx;
wb = where(0, primary_col, EQ, TYPE_ID, 1, primary_id); qry_ret = deleteQuery(
qry_ret = deleteQuery(sconn, table, wb); sconn, table,
freeWhereBuilder(&wb); where(0, primary_col, EQ, TYPE_ID, 1, primary_id)
);
if (qry_ret != 1) { if (qry_ret != 1) {
return qry_ret; return qry_ret;
@@ -405,14 +405,14 @@ int hasIdMap(struct stored_conn_t *sconn, const char *table,
unsigned int primary_id, unsigned int map_id) unsigned int primary_id, unsigned int map_id)
{ {
int64_t qry_ret; int64_t qry_ret;
where_builder *wb;
wb = whereAnd( qry_ret = countQuery(
sconn, table,
whereAnd(
where(table, primary_col, EQ, TYPE_ID, 1, primary_id), where(table, primary_col, EQ, TYPE_ID, 1, primary_id),
where(table, map_col, EQ, TYPE_ID, 1, map_id) where(table, map_col, EQ, TYPE_ID, 1, map_id)
)
); );
qry_ret = countQuery(sconn, table, wb);
freeWhereBuilder(&wb);
return qry_ret > 0; return qry_ret > 0;
} }
@@ -462,14 +462,14 @@ int removeIdMap(struct stored_conn_t *sconn, const char *table,
unsigned int primary_id, unsigned int map_id) unsigned int primary_id, unsigned int map_id)
{ {
int qry_ret; int qry_ret;
where_builder *wb;
wb = whereAnd( qry_ret = deleteQuery(
sconn, table,
whereAnd(
where(0, primary_col, EQ, TYPE_ID, 1, primary_id), where(0, primary_col, EQ, TYPE_ID, 1, primary_id),
where(0, map_col, EQ, TYPE_ID, 1, map_id) where(0, map_col, EQ, TYPE_ID, 1, map_id)
)
); );
qry_ret = deleteQuery(sconn, table, wb);
freeWhereBuilder(&wb);
return qry_ret; return qry_ret;
} }

View File

@@ -29,7 +29,7 @@ char *scalarString(struct stored_conn_t *sconn, const char *qry, size_t qry_len,
// Where query methods // Where query methods
int64_t countQuery(struct stored_conn_t *sconn, const char *table, where_builder *wb); int64_t countQuery(struct stored_conn_t *sconn, const char *table, where_builder *wb);
uint64_t deleteQuery(struct stored_conn_t *sconn, const char *table, where_builder *wb); int deleteQuery(struct stored_conn_t *sconn, const char *table, where_builder *wb);
// Map helpers // Map helpers