public SqlServerSearchService(
            ISearchOptionsFactory searchOptionsFactory,
            IFhirDataStore fhirDataStore,
            ISqlServerFhirModel model,
            SqlRootExpressionRewriter sqlRootExpressionRewriter,
            ChainFlatteningRewriter chainFlatteningRewriter,
            SortRewriter sortRewriter,
            PartitionEliminationRewriter partitionEliminationRewriter,
            SqlConnectionWrapperFactory sqlConnectionWrapperFactory,
            SchemaInformation schemaInformation,
            RequestContextAccessor <IFhirRequestContext> requestContextAccessor,
            ICompressedRawResourceConverter compressedRawResourceConverter,
            ILogger <SqlServerSearchService> logger)
            : base(searchOptionsFactory, fhirDataStore)
        {
            EnsureArg.IsNotNull(sqlRootExpressionRewriter, nameof(sqlRootExpressionRewriter));
            EnsureArg.IsNotNull(chainFlatteningRewriter, nameof(chainFlatteningRewriter));
            EnsureArg.IsNotNull(sqlConnectionWrapperFactory, nameof(sqlConnectionWrapperFactory));
            EnsureArg.IsNotNull(schemaInformation, nameof(schemaInformation));
            EnsureArg.IsNotNull(partitionEliminationRewriter, nameof(partitionEliminationRewriter));
            EnsureArg.IsNotNull(requestContextAccessor, nameof(requestContextAccessor));
            EnsureArg.IsNotNull(logger, nameof(logger));

            _model = model;
            _sqlRootExpressionRewriter = sqlRootExpressionRewriter;
            _sortRewriter = sortRewriter;
            _partitionEliminationRewriter = partitionEliminationRewriter;
            _chainFlatteningRewriter      = chainFlatteningRewriter;
            _sqlConnectionWrapperFactory  = sqlConnectionWrapperFactory;
            _logger = logger;

            _schemaInformation              = schemaInformation;
            _requestContextAccessor         = requestContextAccessor;
            _compressedRawResourceConverter = compressedRawResourceConverter;
        }
Example #2
0
        public SqlServerSearchParameterStatusDataStore(
            Func <IScoped <SqlConnectionWrapperFactory> > scopedSqlConnectionWrapperFactory,
            VLatest.UpsertSearchParamsTvpGenerator <List <ResourceSearchParameterStatus> > updateSearchParamsTvpGenerator,
            FilebasedSearchParameterStatusDataStore.Resolver filebasedRegistry,
            SchemaInformation schemaInformation,
            SqlServerSortingValidator sortingValidator,
            ISqlServerFhirModel fhirModel,
            ISearchParameterDefinitionManager searchParameterDefinitionManager)
        {
            EnsureArg.IsNotNull(scopedSqlConnectionWrapperFactory, nameof(scopedSqlConnectionWrapperFactory));
            EnsureArg.IsNotNull(updateSearchParamsTvpGenerator, nameof(updateSearchParamsTvpGenerator));
            EnsureArg.IsNotNull(filebasedRegistry, nameof(filebasedRegistry));
            EnsureArg.IsNotNull(schemaInformation, nameof(schemaInformation));
            EnsureArg.IsNotNull(sortingValidator, nameof(sortingValidator));
            EnsureArg.IsNotNull(fhirModel, nameof(fhirModel));
            EnsureArg.IsNotNull(searchParameterDefinitionManager, nameof(searchParameterDefinitionManager));

            _scopedSqlConnectionWrapperFactory       = scopedSqlConnectionWrapperFactory;
            _updateSearchParamsTvpGenerator          = updateSearchParamsTvpGenerator;
            _filebasedSearchParameterStatusDataStore = filebasedRegistry.Invoke();
            _schemaInformation = schemaInformation;
            _sortingValidator  = sortingValidator;
            _fhirModel         = fhirModel;
            _searchParameterDefinitionManager = searchParameterDefinitionManager;
        }
        public BulkCompartmentAssignmentV1RowGenerator(ISqlServerFhirModel model, SearchParameterToSearchValueTypeMap searchParameterTypeMap)
        {
            EnsureArg.IsNotNull(model, nameof(model));
            EnsureArg.IsNotNull(searchParameterTypeMap, nameof(searchParameterTypeMap));

            _model = model;
            _searchParameterTypeMap = searchParameterTypeMap;
        }
        public BulkResourceWriteClaimV1RowGenerator(ISqlServerFhirModel model, SearchParameterToSearchValueTypeMap searchParameterTypeMap)
        {
            EnsureArg.IsNotNull(model, nameof(model));
            EnsureArg.IsNotNull(searchParameterTypeMap, nameof(searchParameterTypeMap));

            _model = model;
            _searchParameterTypeMap = searchParameterTypeMap;
        }
        internal SearchParameterQueryGeneratorContext(IndentedStringBuilder stringBuilder, HashingSqlQueryParameterManager parameters, ISqlServerFhirModel model, SchemaInformation schemaInformation, string tableAlias = null)
        {
            EnsureArg.IsNotNull(stringBuilder, nameof(stringBuilder));
            EnsureArg.IsNotNull(parameters, nameof(parameters));
            EnsureArg.IsNotNull(model, nameof(model));
            EnsureArg.IsNotNull(schemaInformation, nameof(schemaInformation));

            StringBuilder     = stringBuilder;
            Parameters        = parameters;
            Model             = model;
            SchemaInformation = schemaInformation;
            TableAlias        = tableAlias;
        }
        public PartitionEliminationRewriter(
            ISqlServerFhirModel model,
            SchemaInformation schemaInformation,
            ISearchParameterDefinitionManager.SearchableSearchParameterDefinitionManagerResolver searchParameterDefinitionManagerResolver)
        {
            EnsureArg.IsNotNull(model, nameof(model));
            EnsureArg.IsNotNull(schemaInformation, nameof(schemaInformation));
            EnsureArg.IsNotNull(searchParameterDefinitionManagerResolver, nameof(searchParameterDefinitionManagerResolver));

            _model                       = model;
            _schemaInformation           = schemaInformation;
            _resourceTypeSearchParameter = searchParameterDefinitionManagerResolver.Invoke().GetSearchParameter(KnownResourceTypes.Resource, SearchParameterNames.ResourceType);
        }
Example #7
0
        public SqlServerFhirDataStore(
            ISqlServerFhirModel model,
            SearchParameterToSearchValueTypeMap searchParameterTypeMap,
            V6.UpsertResourceTvpGenerator <ResourceMetadata> upsertResourceTvpGeneratorV6,
            V7.UpsertResourceTvpGenerator <ResourceMetadata> upsertResourceTvpGeneratorV7,
            V13.UpsertResourceTvpGenerator <IReadOnlyList <ResourceWrapper> > upsertResourceTvpGeneratorV13,
            V17.UpsertResourceTvpGenerator <IReadOnlyList <ResourceWrapper> > upsertResourceTvpGeneratorV17,
            V18.UpsertResourceTvpGenerator <IReadOnlyList <ResourceWrapper> > upsertResourceTvpGeneratorV18,
            VLatest.UpsertResourceTvpGenerator <IReadOnlyList <ResourceWrapper> > upsertResourceTvpGeneratorVLatest,
            V17.ReindexResourceTvpGenerator <IReadOnlyList <ResourceWrapper> > reindexResourceTvpGeneratorV17,
            VLatest.ReindexResourceTvpGenerator <IReadOnlyList <ResourceWrapper> > reindexResourceTvpGeneratorVLatest,
            V17.BulkReindexResourcesTvpGenerator <IReadOnlyList <ResourceWrapper> > bulkReindexResourcesTvpGeneratorV17,
            VLatest.BulkReindexResourcesTvpGenerator <IReadOnlyList <ResourceWrapper> > bulkReindexResourcesTvpGeneratorVLatest,
            IOptions <CoreFeatureConfiguration> coreFeatures,
            SqlConnectionWrapperFactory sqlConnectionWrapperFactory,
            ICompressedRawResourceConverter compressedRawResourceConverter,
            ILogger <SqlServerFhirDataStore> logger,
            SchemaInformation schemaInformation,
            IModelInfoProvider modelInfoProvider)
        {
            _model = EnsureArg.IsNotNull(model, nameof(model));
            _searchParameterTypeMap                  = EnsureArg.IsNotNull(searchParameterTypeMap, nameof(searchParameterTypeMap));
            _upsertResourceTvpGeneratorV6            = EnsureArg.IsNotNull(upsertResourceTvpGeneratorV6, nameof(upsertResourceTvpGeneratorV6));
            _upsertResourceTvpGeneratorV7            = EnsureArg.IsNotNull(upsertResourceTvpGeneratorV7, nameof(upsertResourceTvpGeneratorV7));
            _upsertResourceTvpGeneratorV13           = EnsureArg.IsNotNull(upsertResourceTvpGeneratorV13, nameof(upsertResourceTvpGeneratorV13));
            _upsertResourceTvpGeneratorV17           = EnsureArg.IsNotNull(upsertResourceTvpGeneratorV17, nameof(upsertResourceTvpGeneratorV17));
            _upsertResourceTvpGeneratorV18           = EnsureArg.IsNotNull(upsertResourceTvpGeneratorV18, nameof(upsertResourceTvpGeneratorV18));
            _upsertResourceTvpGeneratorVLatest       = EnsureArg.IsNotNull(upsertResourceTvpGeneratorVLatest, nameof(upsertResourceTvpGeneratorVLatest));
            _reindexResourceTvpGeneratorV17          = EnsureArg.IsNotNull(reindexResourceTvpGeneratorV17, nameof(reindexResourceTvpGeneratorV17));
            _reindexResourceTvpGeneratorVLatest      = EnsureArg.IsNotNull(reindexResourceTvpGeneratorVLatest, nameof(reindexResourceTvpGeneratorVLatest));
            _bulkReindexResourcesTvpGeneratorV17     = EnsureArg.IsNotNull(bulkReindexResourcesTvpGeneratorV17, nameof(bulkReindexResourcesTvpGeneratorV17));
            _bulkReindexResourcesTvpGeneratorVLatest = EnsureArg.IsNotNull(bulkReindexResourcesTvpGeneratorVLatest, nameof(bulkReindexResourcesTvpGeneratorVLatest));
            _coreFeatures = EnsureArg.IsNotNull(coreFeatures?.Value, nameof(coreFeatures));
            _sqlConnectionWrapperFactory    = EnsureArg.IsNotNull(sqlConnectionWrapperFactory, nameof(sqlConnectionWrapperFactory));
            _compressedRawResourceConverter = EnsureArg.IsNotNull(compressedRawResourceConverter, nameof(compressedRawResourceConverter));
            _logger            = EnsureArg.IsNotNull(logger, nameof(logger));
            _schemaInformation = EnsureArg.IsNotNull(schemaInformation, nameof(schemaInformation));
            _modelInfoProvider = EnsureArg.IsNotNull(modelInfoProvider, nameof(modelInfoProvider));

            _memoryStreamManager = new RecyclableMemoryStreamManager();
        }
        public SqlServerFhirDataStore(
            ISqlServerFhirModel model,
            SearchParameterToSearchValueTypeMap searchParameterTypeMap,
            V6.UpsertResourceTvpGenerator <ResourceMetadata> upsertResourceTvpGeneratorV6,
            V7.UpsertResourceTvpGenerator <ResourceMetadata> upsertResourceTvpGeneratorV7,
            VLatest.UpsertResourceTvpGenerator <IReadOnlyList <ResourceWrapper> > upsertResourceTvpGeneratorVLatest,
            VLatest.ReindexResourceTvpGenerator <IReadOnlyList <ResourceWrapper> > reindexResourceTvpGeneratorVLatest,
            VLatest.BulkReindexResourcesTvpGenerator <IReadOnlyList <ResourceWrapper> > bulkReindexResourcesTvpGeneratorVLatest,
            IOptions <CoreFeatureConfiguration> coreFeatures,
            SqlConnectionWrapperFactory sqlConnectionWrapperFactory,
            ILogger <SqlServerFhirDataStore> logger,
            SchemaInformation schemaInformation)
        {
            EnsureArg.IsNotNull(model, nameof(model));
            EnsureArg.IsNotNull(searchParameterTypeMap, nameof(searchParameterTypeMap));
            EnsureArg.IsNotNull(upsertResourceTvpGeneratorV6, nameof(upsertResourceTvpGeneratorV6));
            EnsureArg.IsNotNull(upsertResourceTvpGeneratorV7, nameof(upsertResourceTvpGeneratorV7));
            EnsureArg.IsNotNull(upsertResourceTvpGeneratorVLatest, nameof(upsertResourceTvpGeneratorVLatest));
            EnsureArg.IsNotNull(reindexResourceTvpGeneratorVLatest, nameof(reindexResourceTvpGeneratorVLatest));
            EnsureArg.IsNotNull(bulkReindexResourcesTvpGeneratorVLatest, nameof(bulkReindexResourcesTvpGeneratorVLatest));
            EnsureArg.IsNotNull(coreFeatures, nameof(coreFeatures));
            EnsureArg.IsNotNull(sqlConnectionWrapperFactory, nameof(sqlConnectionWrapperFactory));
            EnsureArg.IsNotNull(logger, nameof(logger));
            EnsureArg.IsNotNull(schemaInformation, nameof(schemaInformation));

            _model = model;
            _searchParameterTypeMap                  = searchParameterTypeMap;
            _upsertResourceTvpGeneratorV6            = upsertResourceTvpGeneratorV6;
            _upsertResourceTvpGeneratorV7            = upsertResourceTvpGeneratorV7;
            _upsertResourceTvpGeneratorVLatest       = upsertResourceTvpGeneratorVLatest;
            _reindexResourceTvpGeneratorVLatest      = reindexResourceTvpGeneratorVLatest;
            _bulkReindexResourcesTvpGeneratorVLatest = bulkReindexResourcesTvpGeneratorVLatest;
            _coreFeatures = coreFeatures.Value;
            _sqlConnectionWrapperFactory = sqlConnectionWrapperFactory;
            _logger            = logger;
            _schemaInformation = schemaInformation;

            _memoryStreamManager = new RecyclableMemoryStreamManager();
        }
Example #9
0
        public SqlImportOperation(
            SqlConnectionWrapperFactory sqlConnectionWrapperFactory,
            ISqlServerTransientFaultRetryPolicyFactory sqlServerTransientFaultRetryPolicyFactory,
            ISqlServerFhirModel model,
            IOptions <OperationsConfiguration> operationsConfig,
            SchemaInformation schemaInformation,
            ILogger <SqlImportOperation> logger)
        {
            EnsureArg.IsNotNull(sqlConnectionWrapperFactory, nameof(sqlConnectionWrapperFactory));
            EnsureArg.IsNotNull(sqlServerTransientFaultRetryPolicyFactory, nameof(sqlServerTransientFaultRetryPolicyFactory));
            EnsureArg.IsNotNull(model, nameof(model));
            EnsureArg.IsNotNull(operationsConfig, nameof(operationsConfig));
            EnsureArg.IsNotNull(schemaInformation, nameof(schemaInformation));
            EnsureArg.IsNotNull(logger, nameof(logger));

            _sqlConnectionWrapperFactory = sqlConnectionWrapperFactory;
            _sqlServerTransientFaultRetryPolicyFactory = sqlServerTransientFaultRetryPolicyFactory;
            _model = model;
            _importTaskConfiguration = operationsConfig.Value.Import;
            _schemaInformation       = schemaInformation;
            _logger = logger;

            _memoryStreamManager = new RecyclableMemoryStreamManager();
        }
 public BulkReindexResourceV1RowGenerator(ISqlServerFhirModel model)
 {
     EnsureArg.IsNotNull(model, nameof(model));
     _model = model;
 }
Example #11
0
 public ResourceWriteClaimV1RowGenerator(ISqlServerFhirModel model)
 {
     EnsureArg.IsNotNull(model, nameof(model));
     _model = model;
 }
Example #12
0
 public CompartmentAssignmentV1RowGenerator(ISqlServerFhirModel model)
 {
     EnsureArg.IsNotNull(model, nameof(model));
     _model = model;
 }