more code
This commit is contained in:
parent
844a563295
commit
49f49fd238
|
@ -95,7 +95,7 @@ const static uint8_t BIT2_MAP[4] = {0b11111100, 0b11110011, 0b11001111, 0b001111
|
|||
#define COL_VAL_IS_VALUE(CV) ((CV)->flag == CV_FLAG_VALUE)
|
||||
|
||||
// SValueColumn ================================
|
||||
int32_t tValueColumnInit(SValueColumn *valCol, int8_t type);
|
||||
int32_t tValueColumnInit(SValueColumn *valCol);
|
||||
int32_t tValueColumnDestroy(SValueColumn *valCol);
|
||||
int32_t tValueColumnClear(SValueColumn *valCol);
|
||||
int32_t tValueColumnAppend(SValueColumn *valCol, const SValue *value);
|
||||
|
@ -291,6 +291,13 @@ STSchema *tBuildTSchema(SSchema *aSchema, int32_t numOfCols, int32_t version);
|
|||
} \
|
||||
} while (0)
|
||||
|
||||
struct SValueColumn {
|
||||
int8_t type;
|
||||
uint32_t numOfValues;
|
||||
SBuffer data;
|
||||
SBuffer offsets;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
@ -3786,15 +3786,8 @@ void (*tColDataCalcSMA[])(SColData *pColData, int64_t *sum, int64_t *max, int64_
|
|||
};
|
||||
|
||||
// SValueColumn ================================
|
||||
struct SValueColumn {
|
||||
int8_t type;
|
||||
uint32_t numOfValues;
|
||||
SBuffer data;
|
||||
SBuffer offsets;
|
||||
};
|
||||
|
||||
int32_t tValueColumnInit(SValueColumn *valCol, int8_t type) {
|
||||
valCol->type = type;
|
||||
int32_t tValueColumnInit(SValueColumn *valCol) {
|
||||
valCol->type = TSDB_DATA_TYPE_NULL;
|
||||
valCol->numOfValues = 0;
|
||||
tBufferInit(&valCol->data);
|
||||
tBufferInit(&valCol->offsets);
|
||||
|
@ -3810,6 +3803,7 @@ int32_t tValueColumnDestroy(SValueColumn *valCol) {
|
|||
}
|
||||
|
||||
int32_t tValueColumnClear(SValueColumn *valCol) {
|
||||
valCol->type = TSDB_DATA_TYPE_NULL;
|
||||
valCol->numOfValues = 0;
|
||||
tBufferClear(&valCol->data);
|
||||
tBufferClear(&valCol->offsets);
|
||||
|
@ -3819,7 +3813,12 @@ int32_t tValueColumnClear(SValueColumn *valCol) {
|
|||
int32_t tValueColumnAppend(SValueColumn *valCol, const SValue *value) {
|
||||
int32_t code;
|
||||
|
||||
if (valCol->numOfValues == 0) {
|
||||
valCol->type = value->type;
|
||||
}
|
||||
|
||||
ASSERT(value->type == valCol->type);
|
||||
|
||||
if (IS_VAR_DATA_TYPE(value->type)) {
|
||||
int32_t offset = tBufferGetSize(&valCol->data);
|
||||
if ((code = tBufferAppend(&valCol->offsets, &offset, sizeof(offset)))) {
|
||||
|
|
Loading…
Reference in New Issue