resolve more conflict
This commit is contained in:
parent
d076b7cec8
commit
a3f36045ab
|
@ -87,6 +87,22 @@ int tdGetSchemaEncodeSize(STSchema *pSchema);
|
||||||
void * tdEncodeSchema(void *dst, STSchema *pSchema);
|
void * tdEncodeSchema(void *dst, STSchema *pSchema);
|
||||||
STSchema *tdDecodeSchema(void **psrc);
|
STSchema *tdDecodeSchema(void **psrc);
|
||||||
|
|
||||||
|
static FORCE_INLINE int comparColId(const void *key1, const void *key2) {
|
||||||
|
if (*(int16_t *)key1 > ((STColumn *)key2)->colId) {
|
||||||
|
return 1;
|
||||||
|
} else if (*(int16_t *)key1 < ((STColumn *)key2)->colId) {
|
||||||
|
return -1;
|
||||||
|
} else {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
static FORCE_INLINE STColumn *tdGetColOfID(STSchema *pSchema, int16_t colId) {
|
||||||
|
void *ptr = bsearch(&colId, (void *)pSchema->columns, schemaNCols(pSchema), sizeof(STColumn), comparColId);
|
||||||
|
if (ptr == NULL) return NULL;
|
||||||
|
return (STColumn *)ptr;
|
||||||
|
}
|
||||||
|
|
||||||
// ----------------- Data row structure
|
// ----------------- Data row structure
|
||||||
|
|
||||||
/* A data row, the format is like below:
|
/* A data row, the format is like below:
|
||||||
|
|
|
@ -250,29 +250,24 @@ STSchema * tsdbGetTableTagSchema(STsdbMeta *pMeta, STable *pTable) {
|
||||||
int32_t tsdbGetTableTagVal(TsdbRepoT* repo, STableId* id, int32_t colId, int16_t* type, int16_t* bytes, char** val) {
|
int32_t tsdbGetTableTagVal(TsdbRepoT* repo, STableId* id, int32_t colId, int16_t* type, int16_t* bytes, char** val) {
|
||||||
STsdbMeta* pMeta = tsdbGetMeta(repo);
|
STsdbMeta* pMeta = tsdbGetMeta(repo);
|
||||||
STable* pTable = tsdbGetTableByUid(pMeta, id->uid);
|
STable* pTable = tsdbGetTableByUid(pMeta, id->uid);
|
||||||
|
|
||||||
|
STSchema *pSchema = tsdbGetTableTagSchema(pMeta, pTable);
|
||||||
|
STColumn *pCol = tdGetColOfID(pSchema, colId);
|
||||||
|
if (pCol == NULL) {
|
||||||
|
return -1; // No matched tag volumn
|
||||||
|
}
|
||||||
|
|
||||||
*val = tdQueryTagByID(pTable->tagVal, colId, type);
|
*val = tdGetKVRowValOfCol(pTable->tagVal, colId);
|
||||||
|
*type = pCol->type;
|
||||||
|
|
||||||
if (*val != NULL) {
|
if (*val != NULL) {
|
||||||
switch(*type) {
|
if (IS_VAR_DATA_TYPE(*type)) {
|
||||||
case TSDB_DATA_TYPE_BINARY:
|
*bytes = varDataLen(*val);
|
||||||
case TSDB_DATA_TYPE_NCHAR: *bytes = varDataLen(*val); break;
|
} else {
|
||||||
case TSDB_DATA_TYPE_NULL: *bytes = 0; break;
|
*bytes = TYPE_BYTES[*type];
|
||||||
default:
|
|
||||||
*bytes = tDataTypeDesc[*type].nSize;break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pCol == NULL) {
|
|
||||||
return -1; // No matched tags. Maybe the modification of tags has not been done yet.
|
|
||||||
}
|
|
||||||
|
|
||||||
char* d = tdGetKVRowValOfCol(pTable->tagVal, pCol->colId);
|
|
||||||
//ASSERT((int8_t)tagtype == pCol->type)
|
|
||||||
*val = d;
|
|
||||||
*type = pCol->type;
|
|
||||||
*bytes = pCol->bytes;
|
|
||||||
|
|
||||||
return TSDB_CODE_SUCCESS;
|
return TSDB_CODE_SUCCESS;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -453,7 +453,7 @@ int tsdbWriteCompIdx(SRWHelper *pHelper) {
|
||||||
pHelper->pBuffer = trealloc(pHelper->pBuffer, tsizeof(pHelper->pBuffer)*2);
|
pHelper->pBuffer = trealloc(pHelper->pBuffer, tsizeof(pHelper->pBuffer)*2);
|
||||||
}
|
}
|
||||||
buf = POINTER_SHIFT(pHelper->pBuffer, drift);
|
buf = POINTER_SHIFT(pHelper->pBuffer, drift);
|
||||||
buf = taosEncodeVariant32(buf, i);
|
buf = taosEncodeVariantU32(buf, i);
|
||||||
buf = tsdbEncodeSCompIdx(buf, pCompIdx);
|
buf = tsdbEncodeSCompIdx(buf, pCompIdx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue