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("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 SqlExecutor( ISqlParser sqlParser, TablesMetadata tablesMetadata, IQueryExecutor queryExecutor, ISearchExpressionProvider searchExpressionProvider, IOperationsProvider operationsProvider) { _sqlParser = sqlParser; _tablesMetadata = tablesMetadata; _queryExecutor = queryExecutor; _stageConverter = new StageConverter(); _searchExpressionProvider = searchExpressionProvider; _operationsProvider = operationsProvider; }
public VisitorMetadata( SqlParameters sqlParameters, TablesMetadata tablesMetadata, ISearchExpressionProvider searchExpressionProvider, IOperationsProvider operationsProvider) { Debug.Assert(tablesMetadata != null); if (sqlParameters != null) { Parameters = sqlParameters; } else { Parameters = new SqlParameters(); } TablesMetadata = tablesMetadata; SearchExpressionProvider = searchExpressionProvider; OperationsProvider = operationsProvider; }
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()); }
public PersistCommand(MsSqlTableSet tableSet) { this.oraTableName = TablesMetadata.FindByTableName(DbTypesEnum.MsSql, tableSet.TableName).OracleTable.TableName; this.tableSet = tableSet; }
protected PersistCommand(OracleTableSet tableSet) { this.tableSet = tableSet; this.msTableName = TablesMetadata.FindByTableName(DbTypesEnum.Oracle, tableSet.TableName).MsSqlTable.TableName; }
public static IServiceCollection AddSqlToExpression(this IServiceCollection services, TablesMetadata tablesMetadata) { services.AddSingleton(tablesMetadata); services.AddScoped <IQueryExecutor, QueryExecutor>(); services.AddSingleton <IFromTableExecutorFactory, DefaultFromTableExecutorFactory>(); services.AddSingleton <IWhereExecutorFactory, DefaultWhereExecutorFactory>(); services.AddSingleton <IGroupByExecutorFactory, DefaultGroupByExecutorFactory>(); services.AddSingleton <ISelectExecutorFactory, DefaultSelectExecutorFactory>(); services.AddSingleton <IOrderByExecutorFactory, DefaultOrderByExecutorFactory>(); services.AddSingleton <IOffsetExecutorFactory, DefaultOffsetExecutorFactory>(); services.AddSingleton <IDistinctExecutorFactory, DefaultDistinctExecutorFactory>(); services.AddSingleton <ISearchExpressionProvider, DefaultSearchExpressionProvider>(); services.AddSingleton <IOperationsProvider, DefaultOperationsProvider>(); services.AddSingleton <IAggregateFunctionExecutorFactory, DefaultAggregateFunctionFactory>(); services.AddScoped <SqlExecutor>(); //Add parser services.AddSingleton <ISqlParser>(new AntlrSqlParser()); return(services); }