diff --git a/src/db_column.c b/src/db_column.c index 98b8c62..57eeca4 100644 --- a/src/db_column.c +++ b/src/db_column.c @@ -358,4 +358,19 @@ int setColumnValue(struct column_data_t *col, uint64_t row, const char *value, s return 0; } +struct column_data_t *selectColumn(struct column_data_t **col_data, size_t n_cols, const char *name) +{ + struct column_data_t *col = 0; + size_t idx = 0; + size_t name_len = strlen(name); + while (idx < n_cols) { + col = *(col_data + idx); + if (col->name_len == name_len && strncmp(col->name, name, name_len) == 0) { + return *(col_data + idx); + } + idx++; + } + + return 0; +} diff --git a/src/db_column.h b/src/db_column.h index 5a96641..54bd8b1 100644 --- a/src/db_column.h +++ b/src/db_column.h @@ -97,4 +97,7 @@ void freeColumns(struct column_data_t **col_data, size_t n_cols); int setColumnValue(struct column_data_t *col, uint64_t row, const char *value, size_t value_size); +struct column_data_t *selectColumn(struct column_data_t **col_data, size_t n_cols, + const char *name); + #endif // H__DB_COLUMN__