@Override public boolean equals(Object o) { if (o != null && o instanceof TableName) { return name.equals(((TableName) o).asName()); } return false; }
/** * Build a map from physical table name to its table definition. * * @param physicalTableDefinitions Definitions to build the map from * * @return the map of physical table name to its table definition */ private Map<String, PhysicalTableDefinition> buildPhysicalTableDefinitionDictionary( Set<PhysicalTableDefinition> physicalTableDefinitions ) { return physicalTableDefinitions.stream() .collect(Collectors.toMap(definition -> definition.getName().asName(), Function.identity())); }
/** * Create a physical table. * * @param name Fili name of the physical table * @param timeGrain time grain of the table * @param columns The columns for this physical table * @param logicalToPhysicalColumnNames Mappings from logical to physical names * @param availability The availability of columns in this table */ public BasePhysicalTable( @NotNull TableName name, @NotNull ZonedTimeGrain timeGrain, @NotNull Iterable<Column> columns, @NotNull Map<String, String> logicalToPhysicalColumnNames, @NotNull Availability availability ) { this.name = name.asName(); this.tableName = name; this.availability = availability; this.schema = new PhysicalTableSchema(timeGrain, columns, logicalToPhysicalColumnNames); }
/** * Create a permissive physical table. * * @param name Name of the physical table as TableName * @param timeGrain time grain of the table * @param columns The columns for this table * @param logicalToPhysicalColumnNames Mappings from logical to physical names * @param metadataService Data source metadata service containing availability data for the table */ public PermissivePhysicalTable( @NotNull TableName name, @NotNull ZonedTimeGrain timeGrain, @NotNull Set<Column> columns, @NotNull Map<String, String> logicalToPhysicalColumnNames, @NotNull DataSourceMetadataService metadataService ) { this( name, timeGrain, columns, logicalToPhysicalColumnNames, new PermissiveAvailability(DataSourceName.of(name.asName()), metadataService) ); }
/** * Load a new physical table into the dictionary and return the loaded physical table. * * @param definition A config object for the physical table * @param metricNames The Set of metric names on the table * @param dictionaries The resource dictionaries for reading and storing resource data * * @return The physical table created * * @deprecated use buildPhysicalTableWithDependency instead, which also supports building table with dependencies */ @Deprecated protected PhysicalTable loadPhysicalTable( PhysicalTableDefinition definition, Set<FieldName> metricNames, ResourceDictionaries dictionaries ) { LOG.debug( "Building table {} with deprecated loadPhysicalTable method, use buildPhysicalTableWithDependency " + "instead", definition.getName().asName() ); return definition.build(dictionaries, getDataSourceMetadataService()); }
@Override public ConfigPhysicalTable build(ResourceDictionaries dictionaries, DataSourceMetadataService metadataService) { Map<ConfigPhysicalTable, DataSourceFilter> availabilityFilters = tablePartDefinitions.entrySet().stream() .collect(Collectors.toMap( entry -> dictionaries.getPhysicalDictionary().get(entry.getKey().asName()), entry -> new DimensionIdFilter(toDimensionValuesMap( entry.getValue(), dictionaries.getDimensionDictionary() )) )); return new BaseCompositePhysicalTable( getName(), getTimeGrain(), buildColumns(dictionaries.getDimensionDictionary()), availabilityFilters.keySet(), getLogicalToPhysicalNames(), PartitionAvailability.build(availabilityFilters) ); }
logicalToPhysicalColumnNames, new StrictAvailability( DataSourceName.of(name.asName()), metadataService, expectedStartDate,
@Override public ConfigPhysicalTable build(ResourceDictionaries dictionaries, DataSourceMetadataService metadataService) { return new SqlPhysicalTable( getName(), getTimeGrain(), buildColumns(dictionaries.getDimensionDictionary()), getLogicalToPhysicalNames(), new EternalAvailability(DataSourceName.of(getName().asName()), metadataService), schemaName, timestampColumn ); }