small code deduplication

This commit is contained in:
2021-07-22 19:28:08 +02:00
parent fc5fd32976
commit 977a9cd198
4 changed files with 39 additions and 34 deletions

26
row.cpp
View File

@@ -51,6 +51,32 @@ namespace usql {
m_columns[col_index] = std::make_unique<ColStringValue>(value);
};
void Row::setColumnValue(ColDefNode *col_def, ColValue *col_value) {
if (!col_value->isNull()) {
if (col_def->type == ColumnType::integer_type)
setColumnValue(col_def->order, col_value->getIntValue());
else if (col_def->type == ColumnType::float_type)
setColumnValue(col_def->order, col_value->getDoubleValue());
else if (col_def->type == ColumnType::varchar_type)
setColumnValue(col_def->order, col_value->getStringValue());
} else {
setColumnNull(col_def->order);
}
}
void Row::setColumnValue(ColDefNode *col_def, ValueNode *col_value) {
if (!col_value->isNull()) {
if (col_def->type == ColumnType::integer_type)
setColumnValue(col_def->order, col_value->getIntValue());
else if (col_def->type == ColumnType::float_type)
setColumnValue(col_def->order, col_value->getDoubleValue());
else if (col_def->type == ColumnType::varchar_type)
setColumnValue(col_def->order, col_value->getStringValue());
} else {
setColumnNull(col_def->order);
}
}
void Row::print() {
for (int ci = 0; ci < m_columns.size(); ci++) {
if (ci > 0) std::cout << ",";