Typedef'd some structs to make code readability easier

This commit is contained in:
2020-10-06 15:00:13 +01:00
parent 14032f98cf
commit 4937b58c98
10 changed files with 78 additions and 79 deletions

View File

@@ -121,7 +121,7 @@ SEXP modb_disconnect(SEXP r_conn_ref)
SEXP modb_exists(SEXP r_conn_ref, SEXP r_name)
{
struct stored_conn_t *sconn;
struct modb_t modb;
struct modb_ref_t modb;
if ((sconn = getConnectionByRef(r_conn_ref)) == 0) {
Rf_error("invalid connection reference\n");
@@ -136,7 +136,7 @@ SEXP modb_exists(SEXP r_conn_ref, SEXP r_name)
SEXP modb_create(SEXP r_conn_ref, SEXP r_name, SEXP r_extra_meta)
{
struct stored_conn_t *sconn;
struct modb_t modb;
struct modb_ref_t modb;
struct column_data_t **cols;
size_t n_cols;
SEXP r_col, r_col_name, r_col_type, r_col_null;
@@ -201,7 +201,7 @@ SEXP modb_create(SEXP r_conn_ref, SEXP r_name, SEXP r_extra_meta)
SEXP modb_destroy(SEXP r_conn_ref, SEXP r_name)
{
struct stored_conn_t *sconn;
struct modb_t modb;
struct modb_ref_t modb;
if ((sconn = getConnectionByRef(r_conn_ref)) == 0) {
Rf_error("invalid connection reference\n");
@@ -223,7 +223,7 @@ SEXP modb_destroy(SEXP r_conn_ref, SEXP r_name)
SEXP modb_use(SEXP r_conn_ref, SEXP r_name, SEXP r_override)
{
struct stored_conn_t *sconn;
struct modb_t modb;
struct modb_ref_t modb;
if ((sconn = getConnectionByRef(r_conn_ref)) == 0) {
Rf_error("invalid connection reference\n");

View File

@@ -70,6 +70,7 @@ struct column_data_t {
uint8_t *nulls;
};
typedef struct column_data_t column_data;
// Null column value handling - maybe convert these to macros?

View File

@@ -28,6 +28,7 @@ struct stored_conn_t {
struct stored_conn_t *prev;
struct stored_conn_t *next;
};
typedef struct stored_conn_t stored_conn;
// Connections are stored in a linked list, these functions provide access
struct stored_conn_t *connectionById(int conn_id);

View File

@@ -10,21 +10,21 @@
#include "modb_manage_p.h"
int modbUse(struct stored_conn_t *sconn, struct modb_t *modb, int override)
int modbUse(stored_conn *sconn, modb_ref *modb, int override)
{
return connectionUseMODB(sconn, modb, override) == 0;
}
int modbFindUse(struct stored_conn_t *sconn, struct modb_t *modb)
int modbFindUse(stored_conn *sconn, modb_ref *modb)
{
return connectionGetUse(sconn, modb) == 1;
}
void modbReleaseUse(struct stored_conn_t *sconn)
void modbReleaseUse(stored_conn *sconn)
{
connectionReleaseMODB(sconn);
}
int modbCreate(struct stored_conn_t *sconn, struct modb_t *modb)
int modbCreate(stored_conn *sconn, modb_ref *modb)
{
if (createSysTable(sconn, modb) == (uint64_t)-1) {
return 0;
@@ -47,11 +47,11 @@ int modbCreate(struct stored_conn_t *sconn, struct modb_t *modb)
return 1;
}
int modbExists(struct stored_conn_t *sconn, struct modb_t *modb)
int modbExists(stored_conn *sconn, modb_ref *modb)
{
return tableExists(sconn, modb, META_TABLE, STR_LEN(META_TABLE));
}
int modbDestroy(struct stored_conn_t *sconn, struct modb_t *modb)
int modbDestroy(stored_conn *sconn, modb_ref *modb)
{
uint64_t err = 0
| destroyTable(sconn, modb, MDO_GROUPS_TABLE, STR_LEN(MDO_GROUPS_TABLE))
@@ -61,7 +61,7 @@ int modbDestroy(struct stored_conn_t *sconn, struct modb_t *modb)
return err == 0;
}
int modbAccountingCreate(struct stored_conn_t *sconn, struct modb_t *modb)
int modbAccountingCreate(stored_conn *sconn, modb_ref *modb)
{
if (createUsersTable(sconn, modb) == (uint64_t)-1) {
return 0;
@@ -78,11 +78,11 @@ int modbAccountingCreate(struct stored_conn_t *sconn, struct modb_t *modb)
return 1;
}
int modbAccountingExists(struct stored_conn_t *sconn, struct modb_t *modb)
int modbAccountingExists(stored_conn *sconn, modb_ref *modb)
{
return tableExists(sconn, modb, USERS_TABLE, STR_LEN(USERS_TABLE));
}
int modbAccountingDestroy(struct stored_conn_t *sconn, struct modb_t *modb)
int modbAccountingDestroy(stored_conn *sconn, modb_ref *modb)
{
uint64_t err = 0
| destroyTable(sconn, modb, USER_GROUPS_TABLE, STR_LEN(USER_GROUPS_TABLE))
@@ -91,18 +91,18 @@ int modbAccountingDestroy(struct stored_conn_t *sconn, struct modb_t *modb)
return err == 0;
}
int modbMetaExtCreate(struct stored_conn_t *sconn, struct modb_t *modb,
struct column_data_t **col_data, size_t cols)
int modbMetaExtCreate(stored_conn *sconn, modb_ref *modb,
column_data **col_data, size_t cols)
{
uint64_t err = 0
| createMetaExtTable(sconn, modb, col_data, cols);
return err == 0;
}
int modbMetaExtExists(struct stored_conn_t *sconn, struct modb_t *modb)
int modbMetaExtExists(stored_conn *sconn, modb_ref *modb)
{
return tableExists(sconn, modb, META_EXT_TABLE, STR_LEN(META_EXT_TABLE));
}
int modbMetaExtDestroy(struct stored_conn_t *sconn, struct modb_t *modb)
int modbMetaExtDestroy(stored_conn *sconn, modb_ref *modb)
{
uint64_t err = 0
| destroyTable(sconn, modb, META_EXT_TABLE, STR_LEN(META_EXT_TABLE));

View File

@@ -6,24 +6,24 @@
// Connection reference
int modbUse(struct stored_conn_t *sconn, struct modb_t *modb, int override);
int modbFindUse(struct stored_conn_t *sconn, struct modb_t *modb);
void modbReleaseUse(struct stored_conn_t *sconn);
int modbUse(stored_conn *sconn, modb_ref *modb, int override);
int modbFindUse(stored_conn *sconn, modb_ref *modb);
void modbReleaseUse(stored_conn *sconn);
// MODB instance
int modbCreate(struct stored_conn_t *sconn, struct modb_t *modb);
int modbExists(struct stored_conn_t *sconn, struct modb_t *modb);
int modbDestroy(struct stored_conn_t *sconn, struct modb_t *modb);
int modbCreate(stored_conn *sconn, modb_ref *modb);
int modbExists(stored_conn *sconn, modb_ref *modb);
int modbDestroy(stored_conn *sconn, modb_ref *modb);
int modbAccountingCreate(struct stored_conn_t *sconn, struct modb_t *modb);
int modbAccountingExists(struct stored_conn_t *sconn, struct modb_t *modb);
int modbAccountingDestroy(struct stored_conn_t *sconn, struct modb_t *modb);
int modbAccountingCreate(stored_conn *sconn, modb_ref *modb);
int modbAccountingExists(stored_conn *sconn, modb_ref *modb);
int modbAccountingDestroy(stored_conn *sconn, modb_ref *modb);
int modbMetaExtCreate(struct stored_conn_t *sconn, struct modb_t *modb,
struct column_data_t **col_data, size_t cols);
int modbMetaExtExists(struct stored_conn_t *sconn, struct modb_t *modb);
int modbMetaExtDestroy(struct stored_conn_t *sconn, struct modb_t *modb);
int modbMetaExtCreate(stored_conn *sconn, modb_ref *modb,
column_data **col_data, size_t cols);
int modbMetaExtExists(stored_conn *sconn, modb_ref *modb);
int modbMetaExtDestroy(stored_conn *sconn, modb_ref *modb);
#endif // H__MODB_MANAGE__

View File

@@ -9,7 +9,7 @@
struct sconn_modb_use_t {
struct stored_conn_t *sconn;
stored_conn *sconn;
char *modb_name;
size_t modb_name_len;
@@ -20,7 +20,7 @@ struct sconn_modb_use_t {
static struct sconn_modb_use_t *storedUses = 0;
uint64_t createSysTable(struct stored_conn_t *sconn, struct modb_t *modb)
uint64_t createSysTable(stored_conn *sconn, modb_ref *modb)
{
char *qry;
uint64_t res;
@@ -46,7 +46,7 @@ uint64_t createSysTable(struct stored_conn_t *sconn, struct modb_t *modb)
return res;
}
uint64_t createMetaTable(struct stored_conn_t *sconn, struct modb_t *modb)
uint64_t createMetaTable(stored_conn *sconn, modb_ref *modb)
{
char *qry;
uint64_t res;
@@ -76,7 +76,7 @@ uint64_t createMetaTable(struct stored_conn_t *sconn, struct modb_t *modb)
return res;
}
uint64_t createObjectsTable(struct stored_conn_t *sconn, struct modb_t *modb)
uint64_t createObjectsTable(stored_conn *sconn, modb_ref *modb)
{
char *qry;
uint64_t res;
@@ -102,7 +102,7 @@ uint64_t createObjectsTable(struct stored_conn_t *sconn, struct modb_t *modb)
return res;
}
uint64_t createMDOGroupsTable(struct stored_conn_t *sconn, struct modb_t *modb)
uint64_t createMDOGroupsTable(stored_conn *sconn, modb_ref *modb)
{
char *qry;
uint64_t res;
@@ -130,7 +130,7 @@ uint64_t createMDOGroupsTable(struct stored_conn_t *sconn, struct modb_t *modb)
return res;
}
uint64_t createUsersTable(struct stored_conn_t *sconn, struct modb_t *modb)
uint64_t createUsersTable(stored_conn *sconn, modb_ref *modb)
{
char *qry;
uint64_t res;
@@ -162,7 +162,7 @@ uint64_t createUsersTable(struct stored_conn_t *sconn, struct modb_t *modb)
return res;
}
uint64_t createGroupsTable(struct stored_conn_t *sconn, struct modb_t *modb)
uint64_t createGroupsTable(stored_conn *sconn, modb_ref *modb)
{
char *qry;
uint64_t res;
@@ -192,7 +192,7 @@ uint64_t createGroupsTable(struct stored_conn_t *sconn, struct modb_t *modb)
return res;
}
uint64_t createUserGroupsTable(struct stored_conn_t *sconn, struct modb_t *modb)
uint64_t createUserGroupsTable(stored_conn *sconn, modb_ref *modb)
{
char *qry;
uint64_t res;
@@ -221,7 +221,7 @@ uint64_t createUserGroupsTable(struct stored_conn_t *sconn, struct modb_t *modb)
}
char *createColString(struct column_data_t *col)
char *createColString(column_data *col)
{
char *colstr;
size_t colstr_len;
@@ -297,8 +297,8 @@ char *createColString(struct column_data_t *col)
return colstr;
}
uint64_t createMetaExtTable(struct stored_conn_t *sconn, struct modb_t *modb,
struct column_data_t **col_data, size_t cols)
uint64_t createMetaExtTable(stored_conn *sconn, modb_ref *modb,
column_data **col_data, size_t cols)
{
char *qry;
uint64_t res;
@@ -314,7 +314,7 @@ uint64_t createMetaExtTable(struct stored_conn_t *sconn, struct modb_t *modb,
strbld_str(sb, "` ("
"`mdo_id` INT UNSIGNED NOT NULL", 0);
for (size_t c = 0; c < cols; c++) {
struct column_data_t *col = *(col_data + c);
column_data *col = *(col_data + c);
if ((colstr = createColString(col)) == 0) {
strbld_destroy(&sb);
return (uint64_t)-1;
@@ -334,8 +334,7 @@ uint64_t createMetaExtTable(struct stored_conn_t *sconn, struct modb_t *modb,
}
int tableExists(struct stored_conn_t *sconn, struct modb_t *modb,
const char *suffix, size_t suffix_len)
int tableExists(stored_conn *sconn, modb_ref *modb, const char *suffix, size_t suffix_len)
{
char *qry, *res;
size_t qry_len;
@@ -378,8 +377,7 @@ int tableExists(struct stored_conn_t *sconn, struct modb_t *modb,
}
uint64_t destroyTable(struct stored_conn_t *sconn, struct modb_t *modb,
const char *suffix, size_t suffix_len)
uint64_t destroyTable(stored_conn *sconn, modb_ref *modb, const char *suffix, size_t suffix_len)
{
char *qry;
uint64_t res;
@@ -403,7 +401,7 @@ uint64_t destroyTable(struct stored_conn_t *sconn, struct modb_t *modb,
}
struct sconn_modb_use_t *allocUse(struct stored_conn_t *sconn, struct modb_t *modb)
struct sconn_modb_use_t *allocUse(stored_conn *sconn, modb_ref *modb)
{
struct sconn_modb_use_t *ptr = 0;
struct sconn_modb_use_t *tail;
@@ -451,7 +449,7 @@ void freeUse(struct sconn_modb_use_t *ptr)
free(ptr);
}
int connectionUseMODB(struct stored_conn_t *sconn, struct modb_t *modb, int override)
int connectionUseMODB(stored_conn *sconn, modb_ref *modb, int override)
{
struct sconn_modb_use_t *ptr = storedUses;
char *old_name;
@@ -495,7 +493,7 @@ int connectionUseMODB(struct stored_conn_t *sconn, struct modb_t *modb, int over
return 0;
}
int connectionGetUse(struct stored_conn_t *sconn, struct modb_t *modb)
int connectionGetUse(stored_conn *sconn, modb_ref *modb)
{
struct sconn_modb_use_t *ptr = storedUses;
@@ -512,7 +510,7 @@ int connectionGetUse(struct stored_conn_t *sconn, struct modb_t *modb)
return 0;
}
void connectionReleaseMODB(struct stored_conn_t *sconn)
void connectionReleaseMODB(stored_conn *sconn)
{
struct sconn_modb_use_t *ptr = storedUses;

View File

@@ -8,26 +8,24 @@
#include "modb_types.h"
uint64_t createSysTable(struct stored_conn_t *sconn, struct modb_t *modb);
uint64_t createMetaTable(struct stored_conn_t *sconn, struct modb_t *modb);
uint64_t createObjectsTable(struct stored_conn_t *sconn, struct modb_t *modb);
uint64_t createMDOGroupsTable(struct stored_conn_t *sconn, struct modb_t *modb);
uint64_t createSysTable(stored_conn *sconn, modb_ref *modb);
uint64_t createMetaTable(stored_conn *sconn, modb_ref *modb);
uint64_t createObjectsTable(stored_conn *sconn, modb_ref *modb);
uint64_t createMDOGroupsTable(stored_conn *sconn, modb_ref *modb);
uint64_t createUsersTable(struct stored_conn_t *sconn, struct modb_t *modb);
uint64_t createGroupsTable(struct stored_conn_t *sconn, struct modb_t *modb);
uint64_t createUserGroupsTable(struct stored_conn_t *sconn, struct modb_t *modb);
uint64_t createUsersTable(stored_conn *sconn, modb_ref *modb);
uint64_t createGroupsTable(stored_conn *sconn, modb_ref *modb);
uint64_t createUserGroupsTable(stored_conn *sconn, modb_ref *modb);
uint64_t createMetaExtTable(struct stored_conn_t *sconn, struct modb_t *modb,
struct column_data_t **col_data, size_t cols);
uint64_t createMetaExtTable(stored_conn *sconn, modb_ref *modb,
column_data **col_data, size_t cols);
int tableExists(struct stored_conn_t *sconn, struct modb_t *modb,
const char *suffix, size_t suffix_len);
int tableExists(stored_conn *sconn, modb_ref *modb, const char *suffix, size_t suffix_len);
uint64_t destroyTable(struct stored_conn_t *sconn, struct modb_t *modb,
const char *suffix, size_t suffix_len);
uint64_t destroyTable(stored_conn *sconn, modb_ref *modb, const char *suffix, size_t suffix_len);
int connectionUseMODB(struct stored_conn_t *sconn, struct modb_t *modb, int override);
int connectionGetUse(struct stored_conn_t *sconn, struct modb_t *modb);
void connectionReleaseMODB(struct stored_conn_t *sconn);
int connectionUseMODB(stored_conn *sconn, modb_ref *modb, int override);
int connectionGetUse(stored_conn *sconn, modb_ref *modb);
void connectionReleaseMODB(stored_conn *sconn);
#endif // H__MODB_P__

View File

@@ -1,7 +1,7 @@
#include "modb_p.h"
#include "strext.h"
char *modbTableName(struct modb_t *modb, const char *suffix, size_t suffix_len)
char *modbTableName(modb_ref *modb, const char *suffix, size_t suffix_len)
{
str_builder *sb;
char *str;
@@ -20,14 +20,14 @@ char *modbTableName(struct modb_t *modb, const char *suffix, size_t suffix_len)
return str;
}
void modbTableName_sb(str_builder *sb, struct modb_t *modb, const char *suffix, size_t suffix_len)
void modbTableName_sb(str_builder *sb, modb_ref *modb, const char *suffix, size_t suffix_len)
{
strbld_str(sb, modb->name, modb->name_len);
strbld_str(sb, suffix, suffix_len);
}
char *modbColumnName(struct modb_t *modb,
char *modbColumnName(modb_ref *modb,
const char *table, size_t table_len,
const char *column, size_t column_len)
{
@@ -47,7 +47,7 @@ char *modbColumnName(struct modb_t *modb,
return str;
}
void modbColumnName_sb(str_builder *sb, struct modb_t *modb,
void modbColumnName_sb(str_builder *sb, modb_ref *modb,
const char *table, size_t table_len,
const char *column, size_t column_len)
{
@@ -62,7 +62,7 @@ void modbColumnName_sb(str_builder *sb, struct modb_t *modb,
strbld_char(sb, '`');
}
char *modbColumnNameAs(struct modb_t *modb,
char *modbColumnNameAs(modb_ref *modb,
const char *table, size_t table_len,
const char *column, size_t column_len,
const char *as_column, size_t as_column_len)
@@ -83,7 +83,7 @@ char *modbColumnNameAs(struct modb_t *modb,
return str;
}
void modbColumnNameAs_sb(str_builder *sb, struct modb_t *modb,
void modbColumnNameAs_sb(str_builder *sb, modb_ref *modb,
const char *table, size_t table_len,
const char *column, size_t column_len,
const char *as_column, size_t as_column_len)

View File

@@ -19,21 +19,21 @@
#define META_EXT_TABLE "_meta_ext"
char *modbTableName(struct modb_t *modb, const char *suffix, size_t suffix_len);
void modbTableName_sb(str_builder *sb, struct modb_t *modb, const char *suffix, size_t suffix_len);
char *modbTableName(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 *modbColumnName(struct modb_t *modb,
char *modbColumnName(modb_ref *modb,
const char *table, size_t table_len,
const char *column, size_t column_len);
void modbColumnName_sb(str_builder *sb, struct modb_t *modb,
void modbColumnName_sb(str_builder *sb, modb_ref *modb,
const char *table, size_t table_len,
const char *column, size_t column_len);
char *modbColumnNameAs(struct modb_t *modb,
char *modbColumnNameAs(modb_ref *modb,
const char *table, size_t table_len,
const char *column, size_t column_len,
const char *as_column, size_t as_column_len);
void modbColumnNameAs_sb(str_builder *sb, struct modb_t *modb,
void modbColumnNameAs_sb(str_builder *sb, modb_ref *modb,
const char *table, size_t table_len,
const char *column, size_t column_len,
const char *as_column, size_t as_column_len);

View File

@@ -4,10 +4,11 @@
#include <stddef.h>
#include <stdint.h>
struct modb_t {
struct modb_ref_t {
const char *name;
size_t name_len;
};
typedef struct modb_ref_t modb_ref;
#endif // H__MODB_TYPES__