static DynamicColumnSetterFactory createWithTimestampMetadataFromBuilderTask( final DynamicPageBuilder.BuilderTask task, final DefaultValueSetter defaultValue) { return new DynamicColumnSetterFactory(task, defaultValue, false); }
public static DynamicPageBuilder createWithTimestampMetadataFromBuilderTask( BuilderTask task, BufferAllocator allocator, Schema schema, PageOutput output) { // TODO configurable default value DynamicColumnSetterFactory factory = DynamicColumnSetterFactory.createWithTimestampMetadataFromBuilderTask( task, DynamicColumnSetterFactory.nullDefaultValue()); return new DynamicPageBuilder(factory, allocator, schema, output); }
public static DynamicPageBuilder createWithTimestampMetadataFromColumn( BuilderTask task, BufferAllocator allocator, Schema schema, PageOutput output) { // TODO configurable default value DynamicColumnSetterFactory factory = DynamicColumnSetterFactory.createWithTimestampMetadataFromColumn( task, DynamicColumnSetterFactory.nullDefaultValue()); return new DynamicPageBuilder(factory, allocator, schema, output); }
} else if (type instanceof StringType) { TimestampFormatter formatter = TimestampFormatter.of( getTimestampFormatForFormatter(column), getTimeZoneId(column)); return new StringColumnSetter(pageBuilder, column, defaultValue, formatter); } else if (type instanceof TimestampType) { final TimestampType timestampType = (TimestampType) type; parser = TimestampParser.of(getFormatFromTimestampTypeWithDepracationSuppressed(timestampType), getTimeZoneId(column)); } else { parser = TimestampParser.of(getTimestampFormatForParser(column), getTimeZoneId(column)); getTimestampFormatForFormatter(column), getTimeZoneId(column)); return new JsonColumnSetter(pageBuilder, column, defaultValue, formatter);
private String getTimestampFormatForFormatter(Column column) { DynamicPageBuilder.ColumnOption option = getColumnOption(column); if (option != null) { return option.getTimestampFormatString(); } else { return "%Y-%m-%d %H:%M:%S.%6N"; } }
private DynamicPageBuilder( final DynamicColumnSetterFactory factory, final BufferAllocator allocator, final Schema schema, final PageOutput output) { this.pageBuilder = new PageBuilder(allocator, schema, output); this.schema = schema; ImmutableList.Builder<DynamicColumnSetter> setters = ImmutableList.builder(); ImmutableMap.Builder<String, DynamicColumnSetter> lookup = ImmutableMap.builder(); for (Column c : schema.getColumns()) { DynamicColumnSetter setter = factory.newColumnSetter(pageBuilder, c); setters.add(setter); lookup.put(c.getName(), setter); } this.setters = setters.build().toArray(new DynamicColumnSetter[0]); this.columnLookup = lookup.build(); }
private String getTimestampFormatForParser(Column column) { DynamicPageBuilder.ColumnOption option = getColumnOption(column); if (option != null) { return option.getTimestampFormatString(); } else { return "%Y-%m-%d %H:%M:%S.%N"; } }
private String getTimeZoneId(Column column) { DynamicPageBuilder.ColumnOption option = getColumnOption(column); if (option != null) { return option.getTimeZoneId().or(task.getDefaultTimeZoneId()); } else { return task.getDefaultTimeZoneId(); } }
static DynamicColumnSetterFactory createWithTimestampMetadataFromColumn( final DynamicPageBuilder.BuilderTask task, final DefaultValueSetter defaultValue) { return new DynamicColumnSetterFactory(task, defaultValue, true); }