示例#1
0
        private void CopyMembers(QueryObject old)
        {
            this.syncRoot = new object();

            this.context = old.context;
            this.scheduler = old.scheduler;

            this.queryFactoryTypeName = old.queryFactoryTypeName;
            this.queryFactory = new Lazy<QueryFactory>(() => (QueryFactory)Activator.CreateInstance(Type.GetType(queryFactoryTypeName)), false);

            this.federationReference = new EntityProperty<Registry.Federation>(old.federationReference);

            this.queryString = old.queryString;

            //this.databaseVersionName = old.databaseVersionName;
            //this.defaultDatasetName = old.defaultDatasetName;
            //this.defaultSchemaName = old.defaultSchemaName;
            this.defaultDataset = old.defaultDataset;
            this.temporaryDataset = old.temporaryDataset;
            this.codeDataset = old.codeDataset;
            this.customDatasets = new List<DatasetBase>(old.customDatasets);

            this.executionMode = old.executionMode;

            this.isCanceled = false;
            this.cancelableTasks = new Dictionary<string, ICancelableTask>();

            this.assignedServerInstanceReference = new EntityProperty<ServerInstance>(old.assignedServerInstanceReference);
            this.interpretedQueryString = null;
            this.selectStatement = null;

            this.temporaryDatabaseInstanceReference = new EntityProperty<DatabaseInstance>(old.temporaryDatabaseInstanceReference);

            this.temporaryTables = new ConcurrentDictionary<string, Table>(old.temporaryTables, SchemaManager.Comparer);
            this.temporaryViews = new ConcurrentDictionary<string, View>(old.temporaryViews, SchemaManager.Comparer);

            this.codeDatabaseInstanceReference = new EntityProperty<DatabaseInstance>(old.codeDatabaseInstanceReference);
        }
示例#2
0
 public QueryObject(QueryObject old)
 {
     CopyMembers(old);
 }
示例#3
0
 public QueryObject(QueryObject old)
 {
     CopyMembers(old);
 }