refactor and add more
This commit is contained in:
parent
14bbe488c7
commit
7e0ece016a
|
@ -79,14 +79,17 @@ void tdUpdateSchema(STSchema *pSchema);
|
|||
*/
|
||||
typedef void *SDataRow;
|
||||
|
||||
#define TD_DATA_ROW_HEAD_SIZE sizeof(int32_t)
|
||||
|
||||
#define dataRowLen(r) (*(int32_t *)(r))
|
||||
#define dataRowTuple(r) ((char *)(r) + sizeof(int32_t))
|
||||
#define dataRowTuple(r) ((char *)(r) + TD_DATA_ROW_HEAD_SIZE)
|
||||
#define dataRowSetLen(r, l) (dataRowLen(r) = (l))
|
||||
#define dataRowIdx(r, i) ((char *)(r) + i)
|
||||
#define dataRowCpy(dst, r) memcpy((dst), (r), dataRowLen(r))
|
||||
|
||||
SDataRow tdNewDataRow(int32_t bytes);
|
||||
// SDataRow tdNewDdataFromSchema(SSchema *pSchema);
|
||||
int tdMaxRowBytesFromSchema(STSchema *pSchema);
|
||||
SDataRow tdNewDataRowFromSchema(STSchema *pSchema);
|
||||
void tdFreeDataRow(SDataRow row);
|
||||
// int32_t tdAppendColVal(SDataRow row, void *value, SColumn *pCol, int32_t suffixOffset);
|
||||
void tdDataRowCpy(void *dst, SDataRow row);
|
||||
|
|
|
@ -178,10 +178,33 @@ SDataRow tdNewDataRow(int32_t bytes) {
|
|||
return row;
|
||||
}
|
||||
|
||||
// SDataRow tdNewDdataFromSchema(SSchema *pSchema) {
|
||||
// int32_t bytes = tdMaxRowDataBytes(pSchema);
|
||||
// return tdNewDataRow(bytes);
|
||||
// }
|
||||
/**
|
||||
* Get maximum bytes a data row from a schema
|
||||
* ASSUMPTIONS: VALID PARAMETER
|
||||
*/
|
||||
int tdMaxRowBytesFromSchema(STSchema *pSchema) {
|
||||
// TODO
|
||||
int bytes = TD_DATA_ROW_HEAD_SIZE;
|
||||
for (int i = 0; i < schemaNCols(pSchema); i++) {
|
||||
STColumn *pCol = schemaColAt(pSchema, i);
|
||||
bytes += TYPE_BYTES[pCol->type];
|
||||
|
||||
if (pCol->type == TSDB_DATA_TYPE_BINARY || pCol->type == TSDB_DATA_TYPE_NCHAR) {
|
||||
bytes += pCol->bytes;
|
||||
}
|
||||
}
|
||||
|
||||
return bytes;
|
||||
}
|
||||
|
||||
SDataRow tdNewDataRowFromSchema(STSchema *pSchema) {
|
||||
int bytes = 0;
|
||||
{
|
||||
// TODO: estimiate size from schema
|
||||
}
|
||||
|
||||
return tdNewDataRow(bytes);
|
||||
}
|
||||
|
||||
/**
|
||||
* Free the SDataRow object
|
||||
|
|
|
@ -26,9 +26,9 @@ const int32_t TYPE_BYTES[11] = {
|
|||
sizeof(int64_t), // TSDB_DATA_TYPE_BIGINT
|
||||
sizeof(float), // TSDB_DATA_TYPE_FLOAT
|
||||
sizeof(double), // TSDB_DATA_TYPE_DOUBLE
|
||||
-1, // TSDB_DATA_TYPE_BINARY
|
||||
sizeof(int32_t), // TSDB_DATA_TYPE_BINARY
|
||||
sizeof(TSKEY), // TSDB_DATA_TYPE_TIMESTAMP
|
||||
-1 // TSDB_DATA_TYPE_NCHAR
|
||||
sizeof(int32_t) // TSDB_DATA_TYPE_NCHAR
|
||||
};
|
||||
|
||||
tDataTypeDescriptor tDataTypeDesc[11] = {
|
||||
|
|
|
@ -34,5 +34,8 @@ TEST(TsdbTest, createRepo) {
|
|||
tsdbCreateTable(pRepo, &tCfg);
|
||||
|
||||
// 3. Loop to write some simple data
|
||||
SDataRow row = tdNewDataRowFromSchema(schema);
|
||||
for (int i = 0; i < nCols; i++) {
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue