public void Setup() { tpchData = new TpchData(); TablesMetadata tablesMetadata = new TablesMetadata(); tablesMetadata.AddTable(new TableMetadata("typetest", typeof(TypeTest), new InMemoryOperationsProvider())); tablesMetadata.AddTable(new TableMetadata("typetestdefaultoperationprovider", typeof(TypeTest))); var queryExecutor = new QueryExecutor( new TypeTestTableResolver(), new DefaultFromTableExecutorFactory(), new DefaultWhereExecutorFactory(), new DefaultGroupByExecutorFactory(), new DefaultSelectExecutorFactory(), new DefaultOrderByExecutorFactory(), new DefaultOffsetExecutorFactory(), new DefaultDistinctExecutorFactory(), new DefaultAggregateFunctionFactory()); sqlExecutor = new SqlExecutor( new AntlrSqlParser(), tablesMetadata, queryExecutor, new DefaultSearchExpressionProvider(), new DefaultOperationsProvider()); }
public static IServiceCollection AddKoralium(this IServiceCollection services, Action <IKoraliumBuilder> builder) { services.AddScoped <IDiscoveryService, DefaultDiscoveryService>(); KoraliumBuilder koraliumBuilder = new KoraliumBuilder(services); builder?.Invoke(koraliumBuilder); services.AddSingleton(koraliumBuilder.Build()); TablesMetadata tablesMetadata = new TablesMetadata(); foreach (var table in koraliumBuilder.Tables) { tablesMetadata.AddTable(new TableMetadata( table.Name, table.EntityType, table.OperationsProvider)); } services.AddSqlToExpression(tablesMetadata); if (koraliumBuilder.SearchProviderType != null) { services.AddSingleton(typeof(ISearchExpressionProvider), koraliumBuilder.SearchProviderType); } services.AddScoped <DefaultPartitionResolver>(); services.AddHostedService <PartitionHostedService>(); services.AddScoped <IKoraliumTransportService, KoraliumTransportService>(); services.AddScoped <Koralium.SqlToExpression.ISqlTableResolver, SqlTableResolver>(); return(services); }
public SqlToExpressionParsing() { TablesMetadata tablesMetadata = new TablesMetadata(); tablesMetadata.AddTable(new TableMetadata("project", typeof(Project))); var queryExecutor = new QueryExecutor( new TableResolver(), new DefaultFromTableExecutorFactory(), new DefaultWhereExecutorFactory(), new DefaultGroupByExecutorFactory(), new DefaultSelectExecutorFactory(), new DefaultOrderByExecutorFactory(), new DefaultOffsetExecutorFactory(), new DefaultDistinctExecutorFactory(), new DefaultAggregateFunctionFactory()); sqlExecutor = new SqlExecutor( new AntlrSqlParser(), tablesMetadata, queryExecutor, new DefaultSearchExpressionProvider(), new DefaultOperationsProvider()); sql150Parser = new TSql150Parser(true); }
public void Setup() { tpchData = new TpchData(); TablesMetadata tablesMetadata = new TablesMetadata(); tablesMetadata.AddTable(new TableMetadata("customer", typeof(Customer))); tablesMetadata.AddTable(new TableMetadata("lineitem", typeof(LineItem))); tablesMetadata.AddTable(new TableMetadata("nation", typeof(Nation))); tablesMetadata.AddTable(new TableMetadata("order", typeof(Order), new InMemoryOperationsProvider())); tablesMetadata.AddTable(new TableMetadata("part", typeof(Part))); tablesMetadata.AddTable(new TableMetadata("partsupp", typeof(Partsupp))); tablesMetadata.AddTable(new TableMetadata("region", typeof(Region))); tablesMetadata.AddTable(new TableMetadata("supplier", typeof(Supplier))); tablesMetadata.AddTable(new TableMetadata("columntest", typeof(ColumnTest))); tablesMetadata.AddTable(new TableMetadata("nulltest", typeof(NullTest), new InMemoryOperationsProvider())); tablesMetadata.AddTable(new TableMetadata("enumtable", typeof(EnumTest))); tablesMetadata.AddTable(new TableMetadata("objecttable", typeof(ObjectTest))); var queryExecutor = new QueryExecutor( new TableResolver(tpchData), new DefaultFromTableExecutorFactory(), new DefaultWhereExecutorFactory(), new DefaultGroupByExecutorFactory(), new DefaultSelectExecutorFactory(), new DefaultOrderByExecutorFactory(), new DefaultOffsetExecutorFactory(), new DefaultDistinctExecutorFactory(), new DefaultAggregateFunctionFactory()); sqlExecutor = new SqlExecutor( new AntlrSqlParser(), tablesMetadata, queryExecutor, new DefaultSearchExpressionProvider(), new DefaultOperationsProvider()); }