Uses of Class
io.trino.type.BlockTypeOperators
-
-
Uses of BlockTypeOperators in io.trino
Constructors in io.trino with parameters of type BlockTypeOperators Constructor Description GroupByHashPageIndexer(List<? extends Type> hashTypes, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators)GroupByHashPageIndexerFactory(JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators) -
Uses of BlockTypeOperators in io.trino.metadata
Constructors in io.trino.metadata with parameters of type BlockTypeOperators Constructor Description FunctionRegistry(Supplier<BlockEncodingSerde> blockEncodingSerdeSupplier, FeaturesConfig featuresConfig, TypeOperators typeOperators, BlockTypeOperators blockTypeOperators, String nodeVersion)MetadataManager(FeaturesConfig featuresConfig, SessionPropertyManager sessionPropertyManager, SchemaPropertyManager schemaPropertyManager, TablePropertyManager tablePropertyManager, MaterializedViewPropertyManager materializedViewPropertyManager, ColumnPropertyManager columnPropertyManager, AnalyzePropertyManager analyzePropertyManager, TransactionManager transactionManager, TypeOperators typeOperators, BlockTypeOperators blockTypeOperators, NodeVersion nodeVersion) -
Uses of BlockTypeOperators in io.trino.operator
Methods in io.trino.operator with parameters of type BlockTypeOperators Modifier and Type Method Description static GroupByHashGroupByHash. createGroupByHash(Session session, List<? extends Type> hashTypes, int[] hashChannels, Optional<Integer> inputHashChannel, int expectedSize, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators)static GroupByHashGroupByHash. createGroupByHash(List<? extends Type> hashTypes, int[] hashChannels, Optional<Integer> inputHashChannel, int expectedSize, boolean processDictionary, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators, UpdateMemory updateMemory)OperatorFactoryOperatorFactories. fullOuterJoin(int operatorId, PlanNodeId planNodeId, JoinBridgeManager<? extends LookupSourceFactory> lookupSourceFactory, List<Type> probeTypes, List<Integer> probeJoinChannel, OptionalInt probeHashChannel, Optional<List<Integer>> probeOutputChannels, OptionalInt totalOperatorsCount, PartitioningSpillerFactory partitioningSpillerFactory, BlockTypeOperators blockTypeOperators)OperatorFactoryTrinoOperatorFactories. fullOuterJoin(int operatorId, PlanNodeId planNodeId, JoinBridgeManager<? extends LookupSourceFactory> lookupSourceFactory, List<Type> probeTypes, List<Integer> probeJoinChannel, OptionalInt probeHashChannel, Optional<List<Integer>> probeOutputChannels, OptionalInt totalOperatorsCount, PartitioningSpillerFactory partitioningSpillerFactory, BlockTypeOperators blockTypeOperators)OperatorFactoryOperatorFactories. innerJoin(int operatorId, PlanNodeId planNodeId, JoinBridgeManager<? extends LookupSourceFactory> lookupSourceFactory, List<Type> probeTypes, boolean outputSingleMatch, boolean waitForBuild, List<Integer> probeJoinChannel, OptionalInt probeHashChannel, Optional<List<Integer>> probeOutputChannels, OptionalInt totalOperatorsCount, PartitioningSpillerFactory partitioningSpillerFactory, BlockTypeOperators blockTypeOperators)OperatorFactoryTrinoOperatorFactories. innerJoin(int operatorId, PlanNodeId planNodeId, JoinBridgeManager<? extends LookupSourceFactory> lookupSourceFactory, List<Type> probeTypes, boolean outputSingleMatch, boolean waitForBuild, List<Integer> probeJoinChannel, OptionalInt probeHashChannel, Optional<List<Integer>> probeOutputChannels, OptionalInt totalOperatorsCount, PartitioningSpillerFactory partitioningSpillerFactory, BlockTypeOperators blockTypeOperators)OperatorFactoryOperatorFactories. lookupOuterJoin(int operatorId, PlanNodeId planNodeId, JoinBridgeManager<? extends LookupSourceFactory> lookupSourceFactory, List<Type> probeTypes, boolean waitForBuild, List<Integer> probeJoinChannel, OptionalInt probeHashChannel, Optional<List<Integer>> probeOutputChannels, OptionalInt totalOperatorsCount, PartitioningSpillerFactory partitioningSpillerFactory, BlockTypeOperators blockTypeOperators)OperatorFactoryTrinoOperatorFactories. lookupOuterJoin(int operatorId, PlanNodeId planNodeId, JoinBridgeManager<? extends LookupSourceFactory> lookupSourceFactory, List<Type> probeTypes, boolean waitForBuild, List<Integer> probeJoinChannel, OptionalInt probeHashChannel, Optional<List<Integer>> probeOutputChannels, OptionalInt totalOperatorsCount, PartitioningSpillerFactory partitioningSpillerFactory, BlockTypeOperators blockTypeOperators)OperatorFactoryOperatorFactories. probeOuterJoin(int operatorId, PlanNodeId planNodeId, JoinBridgeManager<? extends LookupSourceFactory> lookupSourceFactory, List<Type> probeTypes, boolean outputSingleMatch, List<Integer> probeJoinChannel, OptionalInt probeHashChannel, Optional<List<Integer>> probeOutputChannels, OptionalInt totalOperatorsCount, PartitioningSpillerFactory partitioningSpillerFactory, BlockTypeOperators blockTypeOperators)OperatorFactoryTrinoOperatorFactories. probeOuterJoin(int operatorId, PlanNodeId planNodeId, JoinBridgeManager<? extends LookupSourceFactory> lookupSourceFactory, List<Type> probeTypes, boolean outputSingleMatch, List<Integer> probeJoinChannel, OptionalInt probeHashChannel, Optional<List<Integer>> probeOutputChannels, OptionalInt totalOperatorsCount, PartitioningSpillerFactory partitioningSpillerFactory, BlockTypeOperators blockTypeOperators)Constructors in io.trino.operator with parameters of type BlockTypeOperators Constructor Description ChannelSetBuilder(Type type, Optional<Integer> hashChannel, int expectedPositions, OperatorContext operatorContext, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators)DefaultFactory(OrderingCompiler orderingCompiler, JoinCompiler joinCompiler, FeaturesConfig featuresConfig, BlockTypeOperators blockTypeOperators)DistinctLimitOperator(OperatorContext operatorContext, List<Integer> distinctChannels, List<Type> distinctTypes, long limit, Optional<Integer> hashChannel, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators)DistinctLimitOperatorFactory(int operatorId, PlanNodeId planNodeId, List<? extends Type> sourceTypes, List<Integer> distinctChannels, long limit, Optional<Integer> hashChannel, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators)DynamicFilterSourceOperatorFactory(int operatorId, PlanNodeId planNodeId, Consumer<TupleDomain<DynamicFilterId>> dynamicPredicateConsumer, List<DynamicFilterSourceOperator.Channel> channels, int maxDisinctValues, io.airlift.units.DataSize maxFilterSize, int minMaxCollectionLimit, BlockTypeOperators blockTypeOperators)HashAggregationOperator(OperatorContext operatorContext, List<Type> groupByTypes, List<Integer> groupByChannels, List<Integer> globalAggregationGroupIds, AggregationNode.Step step, boolean produceDefaultOutput, List<AccumulatorFactory> accumulatorFactories, Optional<Integer> hashChannel, Optional<Integer> groupIdChannel, int expectedGroups, Optional<io.airlift.units.DataSize> maxPartialMemory, boolean spillEnabled, io.airlift.units.DataSize memoryLimitForMerge, io.airlift.units.DataSize memoryLimitForMergeWithMemory, SpillerFactory spillerFactory, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators, boolean useSystemMemory)HashAggregationOperatorFactory(int operatorId, PlanNodeId planNodeId, List<? extends Type> groupByTypes, List<Integer> groupByChannels, List<Integer> globalAggregationGroupIds, AggregationNode.Step step, boolean produceDefaultOutput, List<AccumulatorFactory> accumulatorFactories, Optional<Integer> hashChannel, Optional<Integer> groupIdChannel, int expectedGroups, Optional<io.airlift.units.DataSize> maxPartialMemory, boolean spillEnabled, io.airlift.units.DataSize unspillMemoryLimit, SpillerFactory spillerFactory, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators, boolean useSystemMemory)HashAggregationOperatorFactory(int operatorId, PlanNodeId planNodeId, List<? extends Type> groupByTypes, List<Integer> groupByChannels, List<Integer> globalAggregationGroupIds, AggregationNode.Step step, List<AccumulatorFactory> accumulatorFactories, Optional<Integer> hashChannel, Optional<Integer> groupIdChannel, int expectedGroups, Optional<io.airlift.units.DataSize> maxPartialMemory, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators, boolean useSystemMemory)InterpretedHashGenerator(List<Type> hashChannelTypes, int[] hashChannels, BlockTypeOperators blockTypeOperators)InterpretedHashGenerator(List<Type> hashChannelTypes, List<Integer> hashChannels, BlockTypeOperators blockTypeOperators)MarkDistinctHash(Session session, List<Type> types, int[] channels, Optional<Integer> hashChannel, int expectedDistinctValues, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators, UpdateMemory updateMemory)MarkDistinctHash(Session session, List<Type> types, int[] channels, Optional<Integer> hashChannel, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators, UpdateMemory updateMemory)MarkDistinctOperator(OperatorContext operatorContext, List<Type> types, List<Integer> markDistinctChannels, Optional<Integer> hashChannel, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators)MarkDistinctOperatorFactory(int operatorId, PlanNodeId planNodeId, List<? extends Type> sourceTypes, Collection<Integer> markDistinctChannels, Optional<Integer> hashChannel, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators)MergeHashSort(AggregatedMemoryContext memoryContext, BlockTypeOperators blockTypeOperators)MultiChannelGroupByHash(List<? extends Type> hashTypes, int[] hashChannels, Optional<Integer> inputHashChannel, int expectedSize, boolean processDictionary, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators, UpdateMemory updateMemory)RowNumberOperator(OperatorContext operatorContext, List<Type> sourceTypes, List<Integer> outputChannels, List<Integer> partitionChannels, List<Type> partitionTypes, Optional<Integer> maxRowsPerPartition, Optional<Integer> hashChannel, int expectedPositions, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators)RowNumberOperatorFactory(int operatorId, PlanNodeId planNodeId, List<? extends Type> sourceTypes, List<Integer> outputChannels, List<Integer> partitionChannels, List<? extends Type> partitionTypes, Optional<Integer> maxRowsPerPartition, Optional<Integer> hashChannel, int expectedPositions, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators)SetBuilderOperator(OperatorContext operatorContext, SetBuilderOperator.SetSupplier setSupplier, int setChannel, Optional<Integer> hashChannel, int expectedPositions, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators)SetBuilderOperatorFactory(int operatorId, PlanNodeId planNodeId, Type type, int setChannel, Optional<Integer> hashChannel, int expectedPositions, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators)SimplePagesHashStrategy(List<Type> types, List<Integer> outputChannels, List<List<Block>> channels, List<Integer> hashChannels, OptionalInt precomputedHashChannel, Optional<Integer> sortChannel, BlockTypeOperators blockTypeOperators)SimplePageWithPositionEqualsAndHash(List<Type> channelTypes, List<Integer> equalityChannels, BlockTypeOperators blockTypeOperators)TopNRankingOperator(OperatorContext operatorContext, TopNRankingNode.RankingType rankingType, List<? extends Type> sourceTypes, List<Integer> outputChannels, List<Integer> partitionChannels, List<Type> partitionTypes, List<Integer> sortChannels, List<SortOrder> sortOrders, int maxRankingPerPartition, boolean generateRanking, Optional<Integer> hashChannel, int expectedPositions, JoinCompiler joinCompiler, TypeOperators typeOperators, BlockTypeOperators blockTypeOperators)TopNRankingOperatorFactory(int operatorId, PlanNodeId planNodeId, TopNRankingNode.RankingType rankingType, List<? extends Type> sourceTypes, List<Integer> outputChannels, List<Integer> partitionChannels, List<? extends Type> partitionTypes, List<Integer> sortChannels, List<SortOrder> sortOrder, int maxRowCountPerPartition, boolean partial, Optional<Integer> hashChannel, int expectedPositions, JoinCompiler joinCompiler, TypeOperators typeOperators, BlockTypeOperators blockTypeOperators) -
Uses of BlockTypeOperators in io.trino.operator.aggregation
Methods in io.trino.operator.aggregation with parameters of type BlockTypeOperators Modifier and Type Method Description AccumulatorFactoryAccumulatorFactoryBinder. bind(List<Integer> argumentChannels, Optional<Integer> maskChannel, List<Type> sourceTypes, List<Integer> orderByChannels, List<SortOrder> orderings, PagesIndex.Factory pagesIndexFactory, boolean distinct, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators, List<LambdaProvider> lambdaProviders, Session session)AccumulatorFactoryGenericAccumulatorFactoryBinder. bind(List<Integer> argumentChannels, Optional<Integer> maskChannel, List<Type> sourceTypes, List<Integer> orderByChannels, List<SortOrder> orderings, PagesIndex.Factory pagesIndexFactory, boolean distinct, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators, List<LambdaProvider> lambdaProviders, Session session)AccumulatorFactoryInternalAggregationFunction. bind(List<Integer> inputChannels, Optional<Integer> maskChannel, List<Type> sourceTypes, List<Integer> orderByChannels, List<SortOrder> orderings, PagesIndex.Factory pagesIndexFactory, boolean distinct, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators, List<LambdaProvider> lambdaProviders, Session session)AccumulatorFactoryLazyAccumulatorFactoryBinder. bind(List<Integer> argumentChannels, Optional<Integer> maskChannel, List<Type> sourceTypes, List<Integer> orderByChannels, List<SortOrder> orderings, PagesIndex.Factory pagesIndexFactory, boolean distinct, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators, List<LambdaProvider> lambdaProviders, Session session) -
Uses of BlockTypeOperators in io.trino.operator.aggregation.builder
Constructors in io.trino.operator.aggregation.builder with parameters of type BlockTypeOperators Constructor Description InMemoryHashAggregationBuilder(List<AccumulatorFactory> accumulatorFactories, AggregationNode.Step step, int expectedGroups, List<Type> groupByTypes, List<Integer> groupByChannels, Optional<Integer> hashChannel, OperatorContext operatorContext, Optional<io.airlift.units.DataSize> maxPartialMemory, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators, UpdateMemory updateMemory)InMemoryHashAggregationBuilder(List<AccumulatorFactory> accumulatorFactories, AggregationNode.Step step, int expectedGroups, List<Type> groupByTypes, List<Integer> groupByChannels, Optional<Integer> hashChannel, OperatorContext operatorContext, Optional<io.airlift.units.DataSize> maxPartialMemory, Optional<Integer> overwriteIntermediateChannelOffset, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators, UpdateMemory updateMemory)MergingHashAggregationBuilder(List<AccumulatorFactory> accumulatorFactories, AggregationNode.Step step, int expectedGroups, List<Type> groupByTypes, Optional<Integer> hashChannel, OperatorContext operatorContext, WorkProcessor<Page> sortedPages, AggregatedMemoryContext aggregatedMemoryContext, long memoryLimitForMerge, int overwriteIntermediateChannelOffset, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators)SpillableHashAggregationBuilder(List<AccumulatorFactory> accumulatorFactories, AggregationNode.Step step, int expectedGroups, List<Type> groupByTypes, List<Integer> groupByChannels, Optional<Integer> hashChannel, OperatorContext operatorContext, io.airlift.units.DataSize memoryLimitForMerge, io.airlift.units.DataSize memoryLimitForMergeWithMemory, SpillerFactory spillerFactory, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators) -
Uses of BlockTypeOperators in io.trino.operator.aggregation.histogram
Constructors in io.trino.operator.aggregation.histogram with parameters of type BlockTypeOperators Constructor Description Histogram(BlockTypeOperators blockTypeOperators) -
Uses of BlockTypeOperators in io.trino.operator.aggregation.minmaxby
Constructors in io.trino.operator.aggregation.minmaxby with parameters of type BlockTypeOperators Constructor Description MaxByNAggregationFunction(BlockTypeOperators blockTypeOperators)MinByNAggregationFunction(BlockTypeOperators blockTypeOperators) -
Uses of BlockTypeOperators in io.trino.operator.aggregation.multimapagg
Constructors in io.trino.operator.aggregation.multimapagg with parameters of type BlockTypeOperators Constructor Description MultimapAggregationFunction(BlockTypeOperators blockTypeOperators) -
Uses of BlockTypeOperators in io.trino.operator.exchange
Constructors in io.trino.operator.exchange with parameters of type BlockTypeOperators Constructor Description LocalExchange(NodePartitioningManager nodePartitioningManager, Session session, int sinkFactoryCount, int bufferCount, PartitioningHandle partitioning, List<Integer> partitionChannels, List<Type> partitionChannelTypes, Optional<Integer> partitionHashChannel, io.airlift.units.DataSize maxBufferedBytes, BlockTypeOperators blockTypeOperators)LocalExchangeFactory(NodePartitioningManager nodePartitioningManager, Session session, PartitioningHandle partitioning, int defaultConcurrency, List<Type> types, List<Integer> partitionChannels, Optional<Integer> partitionHashChannel, PipelineExecutionStrategy exchangeSourcePipelineExecutionStrategy, io.airlift.units.DataSize maxBufferedBytes, BlockTypeOperators blockTypeOperators) -
Uses of BlockTypeOperators in io.trino.operator.index
Constructors in io.trino.operator.index with parameters of type BlockTypeOperators Constructor Description DynamicTupleFilterFactory(int filterOperatorId, PlanNodeId planNodeId, int[] tupleFilterChannels, int[] outputFilterChannels, List<Type> outputTypes, PageFunctionCompiler pageFunctionCompiler, BlockTypeOperators blockTypeOperators)IndexLoader(Set<Integer> lookupSourceInputChannels, List<Integer> keyOutputChannels, OptionalInt keyOutputHashChannel, List<Type> outputTypes, IndexBuildDriverFactoryProvider indexBuildDriverFactoryProvider, int expectedPositions, io.airlift.units.DataSize maxIndexMemorySize, IndexJoinLookupStats stats, PagesIndex.Factory pagesIndexFactory, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators)IndexLookupSourceFactory(Set<Integer> lookupSourceInputChannels, List<Integer> keyOutputChannels, OptionalInt keyOutputHashChannel, List<Type> outputTypes, IndexBuildDriverFactoryProvider indexBuildDriverFactoryProvider, io.airlift.units.DataSize maxIndexMemorySize, IndexJoinLookupStats stats, boolean shareIndexLoading, PagesIndex.Factory pagesIndexFactory, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators)UnloadedIndexKeyRecordSet(Session session, IndexSnapshot existingSnapshot, Set<Integer> channelsForDistinct, List<Type> types, List<io.trino.operator.index.UpdateRequest> requests, JoinCompiler joinCompiler, BlockTypeOperators blockTypeOperators) -
Uses of BlockTypeOperators in io.trino.operator.join
Methods in io.trino.operator.join with parameters of type BlockTypeOperators Modifier and Type Method Description static TrackingLookupSourceSupplierPartitionedLookupSource. createPartitionedLookupSourceSupplier(List<Supplier<LookupSource>> partitions, List<Type> hashChannelTypes, boolean outer, BlockTypeOperators blockTypeOperators)Constructors in io.trino.operator.join with parameters of type BlockTypeOperators Constructor Description LookupJoinOperatorFactory(int operatorId, PlanNodeId planNodeId, JoinBridgeManager<? extends LookupSourceFactory> lookupSourceFactoryManager, List<Type> probeTypes, List<Type> probeOutputTypes, List<Type> buildOutputTypes, LookupJoinOperatorFactory.JoinType joinType, boolean outputSingleMatch, boolean waitForBuild, JoinProbe.JoinProbeFactory joinProbeFactory, BlockTypeOperators blockTypeOperators, OptionalInt totalOperatorsCount, List<Integer> probeJoinChannels, OptionalInt probeHashChannel, PartitioningSpillerFactory partitioningSpillerFactory)PartitionedLookupSourceFactory(List<Type> types, List<Type> outputTypes, List<Type> hashChannelTypes, int partitionCount, boolean outer, BlockTypeOperators blockTypeOperators) -
Uses of BlockTypeOperators in io.trino.operator.scalar
Constructors in io.trino.operator.scalar with parameters of type BlockTypeOperators Constructor Description MapConcatFunction(BlockTypeOperators blockTypeOperators)MapToMapCast(BlockTypeOperators blockTypeOperators)MapTransformKeysFunction(BlockTypeOperators blockTypeOperators) -
Uses of BlockTypeOperators in io.trino.sql.planner
Methods in io.trino.sql.planner with parameters of type BlockTypeOperators Modifier and Type Method Description abstract BucketFunctionSystemPartitioningHandle.SystemPartitionFunction. createBucketFunction(List<Type> partitionChannelTypes, boolean isHashPrecomputed, int bucketCount, BlockTypeOperators blockTypeOperators)PartitionFunctionSystemPartitioningHandle. getPartitionFunction(List<Type> partitionChannelTypes, boolean isHashPrecomputed, int[] bucketToPartition, BlockTypeOperators blockTypeOperators)Constructors in io.trino.sql.planner with parameters of type BlockTypeOperators Constructor Description LocalExecutionPlanner(Metadata metadata, TypeAnalyzer typeAnalyzer, Optional<ExplainAnalyzeContext> explainAnalyzeContext, PageSourceProvider pageSourceProvider, IndexManager indexManager, NodePartitioningManager nodePartitioningManager, PageSinkManager pageSinkManager, ExchangeClientSupplier exchangeClientSupplier, ExpressionCompiler expressionCompiler, PageFunctionCompiler pageFunctionCompiler, JoinFilterFunctionCompiler joinFilterFunctionCompiler, IndexJoinLookupStats indexJoinLookupStats, TaskManagerConfig taskManagerConfig, SpillerFactory spillerFactory, SingleStreamSpillerFactory singleStreamSpillerFactory, PartitioningSpillerFactory partitioningSpillerFactory, PagesIndex.Factory pagesIndexFactory, JoinCompiler joinCompiler, OperatorFactories operatorFactories, OrderingCompiler orderingCompiler, DynamicFilterConfig dynamicFilterConfig, TypeOperators typeOperators, BlockTypeOperators blockTypeOperators)NodePartitioningManager(NodeScheduler nodeScheduler, BlockTypeOperators blockTypeOperators) -
Uses of BlockTypeOperators in io.trino.testing
Methods in io.trino.testing that return BlockTypeOperators Modifier and Type Method Description BlockTypeOperatorsLocalQueryRunner. getBlockTypeOperators() -
Uses of BlockTypeOperators in io.trino.util
Methods in io.trino.util with parameters of type BlockTypeOperators Modifier and Type Method Description static BlockTypeOperators.BlockPositionComparisonMinMaxCompare. getMaxCompare(BlockTypeOperators operators, Type type)
-