(insertTargetName string, measurementSchemas []*MeasurementSchema, maxRowNumber int)
| 333 | } |
| 334 | |
| 335 | func NewTablet(insertTargetName string, measurementSchemas []*MeasurementSchema, maxRowNumber int) (*Tablet, error) { |
| 336 | tablet := &Tablet{ |
| 337 | insertTargetName: insertTargetName, |
| 338 | measurementSchemas: measurementSchemas, |
| 339 | maxRowNumber: maxRowNumber, |
| 340 | } |
| 341 | tablet.timestamps = make([]int64, maxRowNumber) |
| 342 | tablet.values = make([]interface{}, len(measurementSchemas)) |
| 343 | for i, schema := range tablet.measurementSchemas { |
| 344 | switch schema.DataType { |
| 345 | case BOOLEAN: |
| 346 | tablet.values[i] = make([]bool, maxRowNumber) |
| 347 | case INT32, DATE: |
| 348 | tablet.values[i] = make([]int32, maxRowNumber) |
| 349 | case INT64, TIMESTAMP: |
| 350 | tablet.values[i] = make([]int64, maxRowNumber) |
| 351 | case FLOAT: |
| 352 | tablet.values[i] = make([]float32, maxRowNumber) |
| 353 | case DOUBLE: |
| 354 | tablet.values[i] = make([]float64, maxRowNumber) |
| 355 | case TEXT, STRING, BLOB: |
| 356 | tablet.values[i] = make([][]byte, maxRowNumber) |
| 357 | default: |
| 358 | return nil, fmt.Errorf("illegal datatype %v", schema.DataType) |
| 359 | } |
| 360 | } |
| 361 | return tablet, nil |
| 362 | } |
| 363 | |
| 364 | func NewRelationalTablet(tableName string, measurementSchemas []*MeasurementSchema, columnCategories []ColumnCategory, maxRowNumber int) (*Tablet, error) { |
| 365 | tablet, err := NewTablet(tableName, measurementSchemas, maxRowNumber) |
no outgoing calls
searching dependent graphs…