modbTableName now takes an optional encapsulation char
This commit is contained in:
@@ -137,9 +137,9 @@ int64_t modbUserCreate(stored_conn *sconn, modb_ref *modb,
|
|||||||
if ((sb = strbld_create()) == 0) {
|
if ((sb = strbld_create()) == 0) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
strbld_str(sb, "INSERT INTO `", 0);
|
strbld_str(sb, "INSERT INTO ", 0);
|
||||||
modbTableName_sb(sb, modb, USERS_TABLE, strlen(USERS_TABLE));
|
modbTableName_sb(sb, modb, USERS_TABLE, strlen(USERS_TABLE), '`');
|
||||||
strbld_str(sb, "` (`id`, `username`, `email`) VALUES(", 0);
|
strbld_str(sb, " (`id`, `username`, `email`) VALUES(", 0);
|
||||||
db_value_sb(sb, TYPE_UINT32, 1, id);
|
db_value_sb(sb, TYPE_UINT32, 1, id);
|
||||||
strbld_str(sb, ", ", 0);
|
strbld_str(sb, ", ", 0);
|
||||||
db_value_sb(sb, TYPE_STRING, 1, user_name);
|
db_value_sb(sb, TYPE_STRING, 1, user_name);
|
||||||
@@ -166,9 +166,9 @@ int64_t modbUserUpdate(stored_conn *sconn, modb_ref *modb, unsigned int id,
|
|||||||
if ((sb = strbld_create()) == 0) {
|
if ((sb = strbld_create()) == 0) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
strbld_str(sb, "UPDATE `", 0);
|
strbld_str(sb, "UPDATE ", 0);
|
||||||
modbTableName_sb(sb, modb, USERS_TABLE, strlen(USERS_TABLE));
|
modbTableName_sb(sb, modb, USERS_TABLE, strlen(USERS_TABLE), '`');
|
||||||
strbld_str(sb, "` SET `id` = ", 0);
|
strbld_str(sb, " SET `id` = ", 0);
|
||||||
db_value_sb(sb, TYPE_UINT32, 1, id);
|
db_value_sb(sb, TYPE_UINT32, 1, id);
|
||||||
|
|
||||||
if (username != 0) {
|
if (username != 0) {
|
||||||
@@ -207,8 +207,8 @@ int modbUserDelete(stored_conn *sconn, modb_ref *modb, int id)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
strbld_str(sb, "UPDATE`", 0);
|
strbld_str(sb, "UPDATE`", 0);
|
||||||
modbTableName_sb(sb, modb, USERS_TABLE, strlen(USERS_TABLE));
|
modbTableName_sb(sb, modb, USERS_TABLE, strlen(USERS_TABLE), '`');
|
||||||
strbld_str(sb, "` SET `deleted` = CURRENT_TIMESTAMP() WHERE `id` = ", 0);
|
strbld_str(sb, " SET `deleted` = CURRENT_TIMESTAMP() WHERE `id` = ", 0);
|
||||||
db_value_sb(sb, TYPE_UINT32, 1, id);
|
db_value_sb(sb, TYPE_UINT32, 1, id);
|
||||||
if (strbld_finalize_or_destroy(&sb, &qry, &qry_len) != 0) {
|
if (strbld_finalize_or_destroy(&sb, &qry, &qry_len) != 0) {
|
||||||
return 0;
|
return 0;
|
||||||
@@ -234,9 +234,9 @@ int modbUserDestroy(stored_conn *sconn, modb_ref *modb, int id)
|
|||||||
if ((sb = strbld_create()) == 0) {
|
if ((sb = strbld_create()) == 0) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
strbld_str(sb, "DELETE FROM `", 0);
|
strbld_str(sb, "DELETE FROM ", 0);
|
||||||
modbTableName_sb(sb, modb, USERS_TABLE, strlen(USERS_TABLE));
|
modbTableName_sb(sb, modb, USERS_TABLE, strlen(USERS_TABLE), '`');
|
||||||
strbld_str(sb, "` WHERE `id` = ", 0);
|
strbld_str(sb, " WHERE `id` = ", 0);
|
||||||
db_value_sb(sb, TYPE_UINT32, 1, id);
|
db_value_sb(sb, TYPE_UINT32, 1, id);
|
||||||
if (strbld_finalize_or_destroy(&sb, &qry, &qry_len) != 0) {
|
if (strbld_finalize_or_destroy(&sb, &qry, &qry_len) != 0) {
|
||||||
return 0;
|
return 0;
|
||||||
@@ -344,8 +344,8 @@ int64_t modbGroupCreate(stored_conn *sconn, modb_ref *modb,
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
strbld_str(sb, "INSERT INTO`", 0);
|
strbld_str(sb, "INSERT INTO`", 0);
|
||||||
modbTableName_sb(sb, modb, GROUPS_TABLE, strlen(GROUPS_TABLE));
|
modbTableName_sb(sb, modb, GROUPS_TABLE, strlen(GROUPS_TABLE), '`');
|
||||||
strbld_str(sb, "` (`id`, `name`) VALUES(", 0);
|
strbld_str(sb, " (`id`, `name`) VALUES(", 0);
|
||||||
db_value_sb(sb, TYPE_UINT32, 1, id);
|
db_value_sb(sb, TYPE_UINT32, 1, id);
|
||||||
strbld_str(sb, ", ", 0);
|
strbld_str(sb, ", ", 0);
|
||||||
db_value_sb(sb, TYPE_STRING, 1, name);
|
db_value_sb(sb, TYPE_STRING, 1, name);
|
||||||
@@ -370,9 +370,9 @@ int64_t modbGroupUpdate(stored_conn *sconn, modb_ref *modb, unsigned int id,
|
|||||||
if ((sb = strbld_create()) == 0) {
|
if ((sb = strbld_create()) == 0) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
strbld_str(sb, "UPDATE `", 0);
|
strbld_str(sb, "UPDATE ", 0);
|
||||||
modbTableName_sb(sb, modb, GROUPS_TABLE, strlen(GROUPS_TABLE));
|
modbTableName_sb(sb, modb, GROUPS_TABLE, strlen(GROUPS_TABLE), '`');
|
||||||
strbld_str(sb, "` SET `id` = ", 0);
|
strbld_str(sb, " SET `id` = ", 0);
|
||||||
db_value_sb(sb, TYPE_UINT32, 1, id);
|
db_value_sb(sb, TYPE_UINT32, 1, id);
|
||||||
|
|
||||||
if (name == 0) {
|
if (name == 0) {
|
||||||
@@ -407,9 +407,9 @@ int modbGroupDelete(stored_conn *sconn, modb_ref *modb, int id)
|
|||||||
if ((sb = strbld_create()) == 0) {
|
if ((sb = strbld_create()) == 0) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
strbld_str(sb, "UPDATE `", 0);
|
strbld_str(sb, "UPDATE ", 0);
|
||||||
modbTableName_sb(sb, modb, GROUPS_TABLE, strlen(GROUPS_TABLE));
|
modbTableName_sb(sb, modb, GROUPS_TABLE, strlen(GROUPS_TABLE), '`');
|
||||||
strbld_str(sb, "` SET `deleted` = CURRENT_TIMESTAMP() WHERE `id` = ", 0);
|
strbld_str(sb, " SET `deleted` = CURRENT_TIMESTAMP() WHERE `id` = ", 0);
|
||||||
db_value_sb(sb, TYPE_UINT32, 1, id);
|
db_value_sb(sb, TYPE_UINT32, 1, id);
|
||||||
if (strbld_finalize_or_destroy(&sb, &qry, &qry_len) != 0) {
|
if (strbld_finalize_or_destroy(&sb, &qry, &qry_len) != 0) {
|
||||||
return 0;
|
return 0;
|
||||||
@@ -435,9 +435,9 @@ int modbGroupDestroy(stored_conn *sconn, modb_ref *modb, int id)
|
|||||||
if ((sb = strbld_create()) == 0) {
|
if ((sb = strbld_create()) == 0) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
strbld_str(sb, "DELETE FROM `", 0);
|
strbld_str(sb, "DELETE FROM ", 0);
|
||||||
modbTableName_sb(sb, modb, GROUPS_TABLE, strlen(GROUPS_TABLE));
|
modbTableName_sb(sb, modb, GROUPS_TABLE, strlen(GROUPS_TABLE), '`');
|
||||||
strbld_str(sb, "` WHERE `id` = ", 0);
|
strbld_str(sb, " WHERE `id` = ", 0);
|
||||||
db_value_sb(sb, TYPE_UINT32, 1, id);
|
db_value_sb(sb, TYPE_UINT32, 1, id);
|
||||||
if (strbld_finalize_or_destroy(&sb, &qry, &qry_len) != 0) {
|
if (strbld_finalize_or_destroy(&sb, &qry, &qry_len) != 0) {
|
||||||
return 0;
|
return 0;
|
||||||
@@ -463,7 +463,7 @@ int modbSyncGroupsUser(stored_conn *sconn, modb_ref *modb,
|
|||||||
int qry_ret;
|
int qry_ret;
|
||||||
char *table;
|
char *table;
|
||||||
|
|
||||||
if ((table = modbTableName(modb, USER_GROUPS_TABLE, STR_LEN(USER_GROUPS_TABLE))) == 0) {
|
if ((table = modbTableName(modb, USER_GROUPS_TABLE, STR_LEN(USER_GROUPS_TABLE), 0)) == 0) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -479,7 +479,7 @@ int modbSyncUserGroups_va(stored_conn *sconn, modb_ref *modb,
|
|||||||
int qry_ret;
|
int qry_ret;
|
||||||
char *table;
|
char *table;
|
||||||
|
|
||||||
if ((table = modbTableName(modb, USER_GROUPS_TABLE, STR_LEN(USER_GROUPS_TABLE))) == 0) {
|
if ((table = modbTableName(modb, USER_GROUPS_TABLE, STR_LEN(USER_GROUPS_TABLE), 0)) == 0) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -497,7 +497,7 @@ int modbSyncGroupUsers(stored_conn *sconn, modb_ref *modb,
|
|||||||
int qry_ret;
|
int qry_ret;
|
||||||
char *table;
|
char *table;
|
||||||
|
|
||||||
if ((table = modbTableName(modb, USER_GROUPS_TABLE, STR_LEN(USER_GROUPS_TABLE))) == 0) {
|
if ((table = modbTableName(modb, USER_GROUPS_TABLE, STR_LEN(USER_GROUPS_TABLE), 0)) == 0) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -513,7 +513,7 @@ int modbSyncGroupUsers_va(stored_conn *sconn, modb_ref *modb,
|
|||||||
int qry_ret;
|
int qry_ret;
|
||||||
char *table;
|
char *table;
|
||||||
|
|
||||||
if ((table = modbTableName(modb, USER_GROUPS_TABLE, STR_LEN(USER_GROUPS_TABLE))) == 0) {
|
if ((table = modbTableName(modb, USER_GROUPS_TABLE, STR_LEN(USER_GROUPS_TABLE), 0)) == 0) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -545,16 +545,16 @@ int modbFetchUserGroupIds(stored_conn *sconn, modb_ref *modb, int with_deleted,
|
|||||||
if ((sb = strbld_create()) == 0) {
|
if ((sb = strbld_create()) == 0) {
|
||||||
return -errno;
|
return -errno;
|
||||||
}
|
}
|
||||||
strbld_str(sb, "SELECT `group_id` FROM `", 0);
|
strbld_str(sb, "SELECT `group_id` FROM ", 0);
|
||||||
modbTableName_sb(sb, modb, USER_GROUPS_TABLE, strlen(USER_GROUPS_TABLE));
|
modbTableName_sb(sb, modb, USER_GROUPS_TABLE, strlen(USER_GROUPS_TABLE), '`');
|
||||||
strbld_str(sb, "` ", 2);
|
strbld_char(sb, ' ');
|
||||||
modbJoin_sb(sb, modb, "LEFT", 4, 1,
|
modbJoin_sb(sb, modb, "LEFT", 4, 1,
|
||||||
GROUPS_TABLE, strlen(GROUPS_TABLE), "id", 2,
|
GROUPS_TABLE, strlen(GROUPS_TABLE), "id", 2,
|
||||||
USER_GROUPS_TABLE, STR_LEN(USER_GROUPS_TABLE), "group_id", 8);
|
USER_GROUPS_TABLE, STR_LEN(USER_GROUPS_TABLE), "group_id", 8);
|
||||||
strbld_str(sb, " WHERE ", 0);
|
strbld_str(sb, " WHERE ", 0);
|
||||||
wb = where(0, "user_id", EQ, TYPE_ID, 1, user_id);
|
wb = where(0, "user_id", EQ, TYPE_ID, 1, user_id);
|
||||||
if (!with_deleted) {
|
if (!with_deleted) {
|
||||||
table = modbTableName(modb, GROUPS_TABLE, STR_LEN(GROUPS_TABLE));
|
table = modbTableName(modb, GROUPS_TABLE, STR_LEN(GROUPS_TABLE), 0);
|
||||||
wb = whereAnd(wb, where(table, "deleted", IS_NULL, TYPE_RAW, 0));
|
wb = whereAnd(wb, where(table, "deleted", IS_NULL, TYPE_RAW, 0));
|
||||||
free(table);
|
free(table);
|
||||||
}
|
}
|
||||||
@@ -603,16 +603,16 @@ int modbFetchGroupUserIds(stored_conn *sconn, modb_ref *modb, int with_deleted,
|
|||||||
if ((sb = strbld_create()) == 0) {
|
if ((sb = strbld_create()) == 0) {
|
||||||
return -errno;
|
return -errno;
|
||||||
}
|
}
|
||||||
strbld_str(sb, "SELECT `user_id` FROM `", 0);
|
strbld_str(sb, "SELECT `user_id` FROM ", 0);
|
||||||
modbTableName_sb(sb, modb, USER_GROUPS_TABLE, strlen(USER_GROUPS_TABLE));
|
modbTableName_sb(sb, modb, USER_GROUPS_TABLE, strlen(USER_GROUPS_TABLE), '`');
|
||||||
strbld_str(sb, "` ", 2);
|
strbld_char(sb, ' ');
|
||||||
modbJoin_sb(sb, modb, "LEFT", 4, 1,
|
modbJoin_sb(sb, modb, "LEFT", 4, 1,
|
||||||
USERS_TABLE, strlen(USERS_TABLE), "id", 2,
|
USERS_TABLE, strlen(USERS_TABLE), "id", 2,
|
||||||
USER_GROUPS_TABLE, STR_LEN(USER_GROUPS_TABLE), "user_id", 8);
|
USER_GROUPS_TABLE, STR_LEN(USER_GROUPS_TABLE), "user_id", 8);
|
||||||
strbld_str(sb, " WHERE ", 0);
|
strbld_str(sb, " WHERE ", 0);
|
||||||
wb = where(0, "group_id", EQ, TYPE_ID, 1, group_id);
|
wb = where(0, "group_id", EQ, TYPE_ID, 1, group_id);
|
||||||
if (!with_deleted) {
|
if (!with_deleted) {
|
||||||
table = modbTableName(modb, USERS_TABLE, STR_LEN(USERS_TABLE));
|
table = modbTableName(modb, USERS_TABLE, STR_LEN(USERS_TABLE), 0);
|
||||||
wb = whereAnd(wb, where(table, "deleted", IS_NULL, TYPE_RAW, 0));
|
wb = whereAnd(wb, where(table, "deleted", IS_NULL, TYPE_RAW, 0));
|
||||||
free(table);
|
free(table);
|
||||||
}
|
}
|
||||||
@@ -709,7 +709,7 @@ int modbIsLinked_Group_User(stored_conn *sconn, modb_ref *modb,
|
|||||||
int qry_ret;
|
int qry_ret;
|
||||||
char *table;
|
char *table;
|
||||||
|
|
||||||
if ((table = modbTableName(modb, USER_GROUPS_TABLE, STR_LEN(USER_GROUPS_TABLE))) == 0) {
|
if ((table = modbTableName(modb, USER_GROUPS_TABLE, STR_LEN(USER_GROUPS_TABLE), 0)) == 0) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -724,7 +724,7 @@ int modbLink_Group_User(stored_conn *sconn, modb_ref *modb,
|
|||||||
int qry_ret;
|
int qry_ret;
|
||||||
char *table;
|
char *table;
|
||||||
|
|
||||||
if ((table = modbTableName(modb, USER_GROUPS_TABLE, STR_LEN(USER_GROUPS_TABLE))) == 0) {
|
if ((table = modbTableName(modb, USER_GROUPS_TABLE, STR_LEN(USER_GROUPS_TABLE), 0)) == 0) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -739,7 +739,7 @@ int modbUnlink_Group_User(stored_conn *sconn, modb_ref *modb,
|
|||||||
int qry_ret;
|
int qry_ret;
|
||||||
char *table;
|
char *table;
|
||||||
|
|
||||||
if ((table = modbTableName(modb, USER_GROUPS_TABLE, STR_LEN(USER_GROUPS_TABLE))) == 0) {
|
if ((table = modbTableName(modb, USER_GROUPS_TABLE, STR_LEN(USER_GROUPS_TABLE), 0)) == 0) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -83,9 +83,8 @@ int doUsersQuery(stored_conn *sconn, modb_ref *modb, where_builder *wb,
|
|||||||
if ((sb = strbld_create()) == 0) {
|
if ((sb = strbld_create()) == 0) {
|
||||||
return -errno;
|
return -errno;
|
||||||
}
|
}
|
||||||
strbld_str(sb, "SELECT * FROM `", 0);
|
strbld_str(sb, "SELECT * FROM ", 0);
|
||||||
modbTableName_sb(sb, modb, USERS_TABLE, strlen(USERS_TABLE));
|
modbTableName_sb(sb, modb, USERS_TABLE, strlen(USERS_TABLE), '`');
|
||||||
strbld_char(sb, '`');
|
|
||||||
if (wb != 0) {
|
if (wb != 0) {
|
||||||
strbld_str(sb, " WHERE ", 0);
|
strbld_str(sb, " WHERE ", 0);
|
||||||
compileWhereBuilder_sb(wb, sb, 0);
|
compileWhereBuilder_sb(wb, sb, 0);
|
||||||
@@ -207,9 +206,8 @@ int doGroupsQuery(stored_conn *sconn, modb_ref *modb, where_builder *wb,
|
|||||||
if ((sb = strbld_create()) == 0) {
|
if ((sb = strbld_create()) == 0) {
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
strbld_str(sb, "SELECT * FROM `", 0);
|
strbld_str(sb, "SELECT * FROM ", 0);
|
||||||
modbTableName_sb(sb, modb, GROUPS_TABLE, strlen(GROUPS_TABLE));
|
modbTableName_sb(sb, modb, GROUPS_TABLE, strlen(GROUPS_TABLE), '`');
|
||||||
strbld_char(sb, '`');
|
|
||||||
if (wb != 0) {
|
if (wb != 0) {
|
||||||
strbld_str(sb, " WHERE ", 0);
|
strbld_str(sb, " WHERE ", 0);
|
||||||
compileWhereBuilder_sb(wb, sb, 0);
|
compileWhereBuilder_sb(wb, sb, 0);
|
||||||
|
|||||||
@@ -30,9 +30,9 @@ uint64_t createSysTable(stored_conn *sconn, modb_ref *modb)
|
|||||||
if ((sb = strbld_create()) == 0) {
|
if ((sb = strbld_create()) == 0) {
|
||||||
return (uint64_t)-1;
|
return (uint64_t)-1;
|
||||||
}
|
}
|
||||||
strbld_str(sb, "CREATE TABLE `", 0);
|
strbld_str(sb, "CREATE TABLE ", 0);
|
||||||
modbTableName_sb(sb, modb, SYS_TABLE, STR_LEN(SYS_TABLE));
|
modbTableName_sb(sb, modb, SYS_TABLE, STR_LEN(SYS_TABLE), '`');
|
||||||
strbld_str(sb, "` ("
|
strbld_str(sb, " ("
|
||||||
"`key` VARCHAR(255) NULL, "
|
"`key` VARCHAR(255) NULL, "
|
||||||
"`value` VARCHAR(255) NULL, "
|
"`value` VARCHAR(255) NULL, "
|
||||||
"UNIQUE(`key`)"
|
"UNIQUE(`key`)"
|
||||||
@@ -56,9 +56,9 @@ uint64_t createMetaTable(stored_conn *sconn, modb_ref *modb)
|
|||||||
if ((sb = strbld_create()) == 0) {
|
if ((sb = strbld_create()) == 0) {
|
||||||
return (uint64_t)-1;
|
return (uint64_t)-1;
|
||||||
}
|
}
|
||||||
strbld_str(sb, "CREATE TABLE `", 0);
|
strbld_str(sb, "CREATE TABLE ", 0);
|
||||||
modbTableName_sb(sb, modb, META_TABLE, STR_LEN(META_TABLE));
|
modbTableName_sb(sb, modb, META_TABLE, STR_LEN(META_TABLE), '`');
|
||||||
strbld_str(sb, "` ("
|
strbld_str(sb, " ("
|
||||||
"`mdo_id` INT UNSIGNED NOT NULL AUTO_INCREMENT, "
|
"`mdo_id` INT UNSIGNED NOT NULL AUTO_INCREMENT, "
|
||||||
"`title` VARCHAR(255) NOT NULL, "
|
"`title` VARCHAR(255) NOT NULL, "
|
||||||
"`owner` INT UNSIGNED NOT NULL, "
|
"`owner` INT UNSIGNED NOT NULL, "
|
||||||
@@ -86,9 +86,9 @@ uint64_t createObjectsTable(stored_conn *sconn, modb_ref *modb)
|
|||||||
if ((sb = strbld_create()) == 0) {
|
if ((sb = strbld_create()) == 0) {
|
||||||
return (uint64_t)-1;
|
return (uint64_t)-1;
|
||||||
}
|
}
|
||||||
strbld_str(sb, "CREATE TABLE `", 0);
|
strbld_str(sb, "CREATE TABLE ", 0);
|
||||||
modbTableName_sb(sb, modb, OBJECTS_TABLE, STR_LEN(OBJECTS_TABLE));
|
modbTableName_sb(sb, modb, OBJECTS_TABLE, STR_LEN(OBJECTS_TABLE), '`');
|
||||||
strbld_str(sb, "` ("
|
strbld_str(sb, " ("
|
||||||
"`mdo_id` INT UNSIGNED NOT NULL, "
|
"`mdo_id` INT UNSIGNED NOT NULL, "
|
||||||
"`object` MEDIUMBLOB NOT NULL, "
|
"`object` MEDIUMBLOB NOT NULL, "
|
||||||
"PRIMARY KEY (`mdo_id`)"
|
"PRIMARY KEY (`mdo_id`)"
|
||||||
@@ -112,9 +112,9 @@ uint64_t createMDOGroupsTable(stored_conn *sconn, modb_ref *modb)
|
|||||||
if ((sb = strbld_create()) == 0) {
|
if ((sb = strbld_create()) == 0) {
|
||||||
return (uint64_t)-1;
|
return (uint64_t)-1;
|
||||||
}
|
}
|
||||||
strbld_str(sb, "CREATE TABLE `", 0);
|
strbld_str(sb, "CREATE TABLE ", 0);
|
||||||
modbTableName_sb(sb, modb, MDO_GROUPS_TABLE, STR_LEN(MDO_GROUPS_TABLE));
|
modbTableName_sb(sb, modb, MDO_GROUPS_TABLE, STR_LEN(MDO_GROUPS_TABLE), '`');
|
||||||
strbld_str(sb, "` ("
|
strbld_str(sb, " ("
|
||||||
"`mdo_id` INT UNSIGNED NOT NULL, "
|
"`mdo_id` INT UNSIGNED NOT NULL, "
|
||||||
"`group_id` INT UNSIGNED NOT NULL, "
|
"`group_id` INT UNSIGNED NOT NULL, "
|
||||||
"INDEX(`mdo_id`), "
|
"INDEX(`mdo_id`), "
|
||||||
@@ -140,9 +140,9 @@ uint64_t createUsersTable(stored_conn *sconn, modb_ref *modb)
|
|||||||
if ((sb = strbld_create()) == 0) {
|
if ((sb = strbld_create()) == 0) {
|
||||||
return (uint64_t)-1;
|
return (uint64_t)-1;
|
||||||
}
|
}
|
||||||
strbld_str(sb, "CREATE TABLE `", 0);
|
strbld_str(sb, "CREATE TABLE ", 0);
|
||||||
modbTableName_sb(sb, modb, USERS_TABLE, STR_LEN(USERS_TABLE));
|
modbTableName_sb(sb, modb, USERS_TABLE, STR_LEN(USERS_TABLE), '`');
|
||||||
strbld_str(sb, "` ("
|
strbld_str(sb, " ("
|
||||||
"`id` INT UNSIGNED NOT NULL AUTO_INCREMENT, "
|
"`id` INT UNSIGNED NOT NULL AUTO_INCREMENT, "
|
||||||
"`username` VARCHAR(255) NOT NULL, "
|
"`username` VARCHAR(255) NOT NULL, "
|
||||||
"`email` VARCHAR(255) NOT NULL, "
|
"`email` VARCHAR(255) NOT NULL, "
|
||||||
@@ -172,9 +172,9 @@ uint64_t createGroupsTable(stored_conn *sconn, modb_ref *modb)
|
|||||||
if ((sb = strbld_create()) == 0) {
|
if ((sb = strbld_create()) == 0) {
|
||||||
return (uint64_t)-1;
|
return (uint64_t)-1;
|
||||||
}
|
}
|
||||||
strbld_str(sb, "CREATE TABLE `", 0);
|
strbld_str(sb, "CREATE TABLE ", 0);
|
||||||
modbTableName_sb(sb, modb, GROUPS_TABLE, STR_LEN(GROUPS_TABLE));
|
modbTableName_sb(sb, modb, GROUPS_TABLE, STR_LEN(GROUPS_TABLE), '`');
|
||||||
strbld_str(sb, "` ("
|
strbld_str(sb, " ("
|
||||||
"`id` INT UNSIGNED NOT NULL AUTO_INCREMENT, "
|
"`id` INT UNSIGNED NOT NULL AUTO_INCREMENT, "
|
||||||
"`name` VARCHAR(255) NOT NULL, "
|
"`name` VARCHAR(255) NOT NULL, "
|
||||||
"`created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, "
|
"`created` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, "
|
||||||
@@ -202,9 +202,9 @@ uint64_t createUserGroupsTable(stored_conn *sconn, modb_ref *modb)
|
|||||||
if ((sb = strbld_create()) == 0) {
|
if ((sb = strbld_create()) == 0) {
|
||||||
return (uint64_t)-1;
|
return (uint64_t)-1;
|
||||||
}
|
}
|
||||||
strbld_str(sb, "CREATE TABLE `", 0);
|
strbld_str(sb, "CREATE TABLE ", 0);
|
||||||
modbTableName_sb(sb, modb, USER_GROUPS_TABLE, STR_LEN(USER_GROUPS_TABLE));
|
modbTableName_sb(sb, modb, USER_GROUPS_TABLE, STR_LEN(USER_GROUPS_TABLE), '`');
|
||||||
strbld_str(sb, "` ("
|
strbld_str(sb, " ("
|
||||||
"`user_id` INT UNSIGNED NOT NULL, "
|
"`user_id` INT UNSIGNED NOT NULL, "
|
||||||
"`group_id` INT UNSIGNED NOT NULL, "
|
"`group_id` INT UNSIGNED NOT NULL, "
|
||||||
"INDEX(`user_id`), "
|
"INDEX(`user_id`), "
|
||||||
@@ -232,9 +232,9 @@ uint64_t createMetaExtTable(stored_conn *sconn, modb_ref *modb,
|
|||||||
if ((sb = strbld_create()) == 0) {
|
if ((sb = strbld_create()) == 0) {
|
||||||
return (uint64_t)-1;
|
return (uint64_t)-1;
|
||||||
}
|
}
|
||||||
strbld_str(sb, "CREATE TABLE `", 0);
|
strbld_str(sb, "CREATE TABLE ", 0);
|
||||||
modbTableName_sb(sb, modb, META_EXT_TABLE, STR_LEN(META_EXT_TABLE));
|
modbTableName_sb(sb, modb, META_EXT_TABLE, STR_LEN(META_EXT_TABLE), '`');
|
||||||
strbld_str(sb, "` ("
|
strbld_str(sb, " ("
|
||||||
"`mdo_id` INT UNSIGNED NOT NULL", 0);
|
"`mdo_id` INT UNSIGNED NOT NULL", 0);
|
||||||
for (size_t c = 0; c < cols; c++) {
|
for (size_t c = 0; c < cols; c++) {
|
||||||
createColumn_sb(sb, *(col_data + c));
|
createColumn_sb(sb, *(col_data + c));
|
||||||
@@ -261,9 +261,8 @@ int tableExists(stored_conn *sconn, modb_ref *modb, const char *suffix, size_t s
|
|||||||
if ((sb = strbld_create()) == 0) {
|
if ((sb = strbld_create()) == 0) {
|
||||||
return -errno;
|
return -errno;
|
||||||
}
|
}
|
||||||
strbld_str(sb, "SHOW TABLES LIKE '", 0);
|
strbld_str(sb, "SHOW TABLES LIKE ", 0);
|
||||||
modbTableName_sb(sb, modb, suffix, suffix_len);
|
modbTableName_sb(sb, modb, suffix, suffix_len, '\'');
|
||||||
strbld_char(sb, '\'');
|
|
||||||
if (strbld_finalize_or_destroy(&sb, &qry, &qry_len) != 0) {
|
if (strbld_finalize_or_destroy(&sb, &qry, &qry_len) != 0) {
|
||||||
return -errno;
|
return -errno;
|
||||||
}
|
}
|
||||||
@@ -304,9 +303,8 @@ uint64_t destroyTable(stored_conn *sconn, modb_ref *modb, const char *suffix, si
|
|||||||
if ((sb = strbld_create()) == 0) {
|
if ((sb = strbld_create()) == 0) {
|
||||||
return (uint64_t)-1;
|
return (uint64_t)-1;
|
||||||
}
|
}
|
||||||
strbld_str(sb, "DROP TABLE `", 0);
|
strbld_str(sb, "DROP TABLE ", 0);
|
||||||
modbTableName_sb(sb, modb, suffix, suffix_len);
|
modbTableName_sb(sb, modb, suffix, suffix_len, '`');
|
||||||
strbld_char(sb, '`');
|
|
||||||
if (strbld_finalize_or_destroy(&sb, &qry, &qry_len) != 0) {
|
if (strbld_finalize_or_destroy(&sb, &qry, &qry_len) != 0) {
|
||||||
return (uint64_t)-1;
|
return (uint64_t)-1;
|
||||||
}
|
}
|
||||||
|
|||||||
25
src/modb_p.c
25
src/modb_p.c
@@ -1,7 +1,7 @@
|
|||||||
#include "modb_p.h"
|
#include "modb_p.h"
|
||||||
#include "strext.h"
|
#include "strext.h"
|
||||||
|
|
||||||
char *modbTableName(modb_ref *modb, const char *suffix, size_t suffix_len)
|
char *modbTableName(modb_ref *modb, const char *suffix, size_t suffix_len, char encap)
|
||||||
{
|
{
|
||||||
str_builder *sb;
|
str_builder *sb;
|
||||||
char *str;
|
char *str;
|
||||||
@@ -11,7 +11,7 @@ char *modbTableName(modb_ref *modb, const char *suffix, size_t suffix_len)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
modbTableName_sb(sb, modb, suffix, suffix_len);
|
modbTableName_sb(sb, modb, suffix, suffix_len, encap);
|
||||||
|
|
||||||
if (strbld_finalize_or_destroy(&sb, &str, &len) != 0) {
|
if (strbld_finalize_or_destroy(&sb, &str, &len) != 0) {
|
||||||
return 0;
|
return 0;
|
||||||
@@ -20,10 +20,17 @@ char *modbTableName(modb_ref *modb, const char *suffix, size_t suffix_len)
|
|||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
||||||
void modbTableName_sb(str_builder *sb, modb_ref *modb, const char *suffix, size_t suffix_len)
|
void modbTableName_sb(str_builder *sb, modb_ref *modb, const char *suffix, size_t suffix_len,
|
||||||
|
char encap)
|
||||||
{
|
{
|
||||||
|
if (encap != 0) {
|
||||||
|
strbld_char(sb, encap);
|
||||||
|
}
|
||||||
strbld_str(sb, modb->name, modb->name_len);
|
strbld_str(sb, modb->name, modb->name_len);
|
||||||
strbld_str(sb, suffix, suffix_len);
|
strbld_str(sb, suffix, suffix_len);
|
||||||
|
if (encap != 0) {
|
||||||
|
strbld_char(sb, encap);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -58,10 +65,10 @@ void modbJoin_sb(str_builder *sb, modb_ref *modb,
|
|||||||
{
|
{
|
||||||
strbld_str(sb, join, join_len);
|
strbld_str(sb, join, join_len);
|
||||||
strbld_str(sb, " JOIN ", 6);
|
strbld_str(sb, " JOIN ", 6);
|
||||||
modbTableName_sb(sb, modb, tableA, tableA_len);
|
modbTableName_sb(sb, modb, tableA, tableA_len, '`');
|
||||||
strbld_str(sb, " ON ", 4);
|
strbld_str(sb, " ON ", 4);
|
||||||
modbColumnName_sb(sb, modb, tableA, tableA_len, colA, colA_len);
|
modbColumnName_sb(sb, modb, tableA, tableA_len, colA, colA_len);
|
||||||
strbld_str(sb, equals ? " = " : " != ", 4);
|
strbld_str(sb, (equals ? " = " : " != "), (equals ? 3 : 4));
|
||||||
modbColumnName_sb(sb, modb, tableB, tableB_len, colB, colB_len);
|
modbColumnName_sb(sb, modb, tableB, tableB_len, colB, colB_len);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -91,9 +98,7 @@ void modbColumnName_sb(str_builder *sb, modb_ref *modb,
|
|||||||
const char *column, size_t column_len)
|
const char *column, size_t column_len)
|
||||||
{
|
{
|
||||||
if (table != 0) {
|
if (table != 0) {
|
||||||
strbld_char(sb, '`');
|
modbTableName_sb(sb, modb, table, table_len, '`');
|
||||||
modbTableName_sb(sb, modb, table, table_len);
|
|
||||||
strbld_char(sb, '`');
|
|
||||||
strbld_char(sb, '.');
|
strbld_char(sb, '.');
|
||||||
}
|
}
|
||||||
strbld_char(sb, '`');
|
strbld_char(sb, '`');
|
||||||
@@ -128,9 +133,7 @@ void modbColumnNameAs_sb(str_builder *sb, modb_ref *modb,
|
|||||||
const char *as_column, size_t as_column_len)
|
const char *as_column, size_t as_column_len)
|
||||||
{
|
{
|
||||||
if (table != 0) {
|
if (table != 0) {
|
||||||
strbld_char(sb, '`');
|
modbTableName_sb(sb, modb, table, table_len, '`');
|
||||||
modbTableName_sb(sb, modb, table, table_len);
|
|
||||||
strbld_char(sb, '`');
|
|
||||||
strbld_char(sb, '.');
|
strbld_char(sb, '.');
|
||||||
}
|
}
|
||||||
strbld_char(sb, '`');
|
strbld_char(sb, '`');
|
||||||
|
|||||||
@@ -19,8 +19,9 @@
|
|||||||
#define META_EXT_TABLE "_meta_ext"
|
#define META_EXT_TABLE "_meta_ext"
|
||||||
|
|
||||||
|
|
||||||
char *modbTableName(modb_ref *modb, const char *suffix, size_t suffix_len);
|
char *modbTableName(modb_ref *modb, const char *suffix, size_t suffix_len, char encap);
|
||||||
void modbTableName_sb(str_builder *sb, modb_ref *modb, const char *suffix, size_t suffix_len);
|
void modbTableName_sb(str_builder *sb, modb_ref *modb, const char *suffix, size_t suffix_len,
|
||||||
|
char encap);
|
||||||
|
|
||||||
char *modbJoin(modb_ref *modb,
|
char *modbJoin(modb_ref *modb,
|
||||||
const char *join, size_t join_len, int equals,
|
const char *join, size_t join_len, int equals,
|
||||||
|
|||||||
Reference in New Issue
Block a user