// This file was generated by a T4 Template. Do not modify directly, instead update the SmoQueryModelDefinition.xml file // and re-run the T4 template. This can be done in Visual Studio by right-click in and choosing "Run Custom Tool", // or from the command-line on any platform by running "build.cmd -Target=CodeGen" or "build.sh -Target=CodeGen". using System; using System.Collections.Generic; using System.Composition; using System.Linq; using Microsoft.SqlServer.Management.Smo; using Microsoft.SqlServer.Management.Smo.Broker; namespace Microsoft.SqlTools.ServiceLayer.ObjectExplorer.SmoModel { [Export(typeof(SmoQuerier))] internal partial class SqlDatabaseQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(Database) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Server parentServer = context.Parent as Server; if (parentServer != null) { var retValue = parentServer.Databases; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentServer, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlLinkedServerLoginQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(LinkedServer) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Server parentServer = context.Parent as Server; if (parentServer != null) { var retValue = parentServer.LinkedServers; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentServer, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlLoginQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(Login) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Server parentServer = context.Parent as Server; if (parentServer != null) { var retValue = parentServer.Logins; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentServer, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlServerRoleQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(ServerRole) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Server parentServer = context.Parent as Server; if (parentServer != null) { var retValue = parentServer.Roles; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentServer, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlCredentialQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(Credential) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Server parentServer = context.Parent as Server; if (parentServer != null) { var retValue = parentServer.Credentials; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentServer, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlCryptographicProviderQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(CryptographicProvider) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Server parentServer = context.Parent as Server; if (parentServer != null) { var retValue = parentServer.CryptographicProviders; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentServer, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlServerAuditQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(Audit) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Server parentServer = context.Parent as Server; if (parentServer != null) { var retValue = parentServer.Audits; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentServer, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlServerAuditSpecificationQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(ServerAuditSpecification) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Server parentServer = context.Parent as Server; if (parentServer != null) { var retValue = parentServer.ServerAuditSpecifications; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentServer, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlEndpointQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(Endpoint) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Server parentServer = context.Parent as Server; if (parentServer != null) { var retValue = parentServer.Endpoints; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentServer, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlLinkedServerQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(LinkedServer) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Server parentServer = context.Parent as Server; if (parentServer != null) { var retValue = parentServer.LinkedServers; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentServer, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlServerDdlTriggerQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(ServerDdlTrigger) }; public override ValidForFlag ValidFor { get { return ValidForFlag.NotSqlDw; } } public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Server parentServer = context.Parent as Server; if (parentServer != null) { var retValue = parentServer.Triggers; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentServer, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlErrorMessageQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(UserDefinedMessage) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Server parentServer = context.Parent as Server; if (parentServer != null) { var retValue = parentServer.UserDefinedMessages; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentServer, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlTableQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(Table) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.Tables; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlHistoryTableQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(Table) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Table parentTable = context.Parent as Table; if (parentTable != null) { var retValue = parentTable.Parent.Tables; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper
(retValue).Where(c => PassesFinalFilters(parentTable, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlViewQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(View) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.Views; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlSynonymQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(Synonym) }; public override ValidForFlag ValidFor { get { return ValidForFlag.NotSqlDw; } } public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.Synonyms; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlColumnQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(Column) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { TableViewTableTypeBase parentTableViewTableTypeBase = context.Parent as TableViewTableTypeBase; if (parentTableViewTableTypeBase != null) { var retValue = parentTableViewTableTypeBase.Columns; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentTableViewTableTypeBase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlIndexQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(Index) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { TableViewTableTypeBase parentTableViewTableTypeBase = context.Parent as TableViewTableTypeBase; if (parentTableViewTableTypeBase != null) { var retValue = parentTableViewTableTypeBase.Indexes; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentTableViewTableTypeBase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlCheckQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(Check) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Table parentTable = context.Parent as Table; if (parentTable != null) { var retValue = parentTable.Checks; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentTable, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlForeignKeyConstraintQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(ForeignKey) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Table parentTable = context.Parent as Table; if (parentTable != null) { var retValue = parentTable.ForeignKeys; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentTable, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlDefaultConstraintQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(DefaultConstraint) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Column parentColumn = context.Parent as Column; if (parentColumn != null) { var retValue = parentColumn.DefaultConstraint; if (retValue != null) { if (refresh) { parentColumn.DefaultConstraint.Refresh(); } return new SqlSmoObject[] { retValue }; } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlDmlTriggerQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(Trigger) }; public override ValidForFlag ValidFor { get { return ValidForFlag.NotSqlDw; } } public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Table parentTable = context.Parent as Table; if (parentTable != null) { var retValue = parentTable.Triggers; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentTable, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlFullTextIndexQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(FullTextIndex) }; public override ValidForFlag ValidFor { get { return ValidForFlag.NotSqlDw; } } public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Table parentTable = context.Parent as Table; if (parentTable != null) { var retValue = parentTable.FullTextIndex; if (retValue != null) { if (refresh) { parentTable.FullTextIndex.Refresh(); } return new SqlSmoObject[] { retValue }; } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlStatisticQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(Statistic) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { TableViewBase parentTableViewBase = context.Parent as TableViewBase; if (parentTableViewBase != null) { var retValue = parentTableViewBase.Statistics; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentTableViewBase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlDatabaseDdlTriggerQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(DatabaseDdlTrigger) }; public override ValidForFlag ValidFor { get { return ValidForFlag.NotSqlDw; } } public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.Triggers; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlAssemblyQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(SqlAssembly) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.Assemblies; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlSequenceQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(Sequence) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.Sequences; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlUserDefinedDataTypeQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(UserDefinedDataType) }; public override ValidForFlag ValidFor { get { return ValidForFlag.NotSqlDw; } } public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.UserDefinedDataTypes; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlUserDefinedTableTypeQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(UserDefinedTableType) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.UserDefinedTableTypes; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlXmlSchemaCollectionQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(XmlSchemaCollection) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.XmlSchemaCollections; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlUserDefinedTypeQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(UserDefinedType) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.UserDefinedTypes; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlUserDefinedFunctionQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(UserDefinedFunction) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.UserDefinedFunctions; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlUserDefinedAggregateQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(UserDefinedAggregate) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.UserDefinedAggregates; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlFileGroupQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(FileGroup) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.FileGroups; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlFileQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(DataFile) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { FileGroup parentFileGroup = context.Parent as FileGroup; if (parentFileGroup != null) { var retValue = parentFileGroup.Files; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentFileGroup, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlFullTextCatalogQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(FullTextCatalog) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.FullTextCatalogs; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlFullTextStopListQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(FullTextStopList) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.FullTextStopLists; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlPartitionFunctionQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(PartitionFunction) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.PartitionFunctions; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlPartitionSchemeQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(PartitionScheme) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.PartitionSchemes; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlSearchPropertyListQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(SearchPropertyList) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.SearchPropertyLists; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlUserQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(User) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.Users; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlSchemaQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(Schema) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.Schemas; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlAsymmetricKeyQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(AsymmetricKey) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.AsymmetricKeys; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlCertificateQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(Certificate) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.Certificates; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlSymmetricKeyQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(SymmetricKey) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.SymmetricKeys; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlDatabaseEncryptionKeyQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(DatabaseEncryptionKey) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.DatabaseEncryptionKey; if (retValue != null) { if (refresh) { parentDatabase.DatabaseEncryptionKey.Refresh(); } return new SqlSmoObject[] { retValue }; } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlMasterKeyQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(MasterKey) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.MasterKey; if (retValue != null) { if (refresh) { parentDatabase.MasterKey.Refresh(); } return new SqlSmoObject[] { retValue }; } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlDatabaseAuditSpecificationQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(DatabaseAuditSpecification) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.DatabaseAuditSpecifications; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlSecurityPolicyQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(SecurityPolicy) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.SecurityPolicies; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlDatabaseCredentialQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(DatabaseScopedCredential) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.DatabaseScopedCredentials; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlRoleQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(DatabaseRole) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.Roles; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlApplicationRoleQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(ApplicationRole) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.ApplicationRoles; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlColumnMasterKeyQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(ColumnMasterKey) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.ColumnMasterKeys; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlColumnEncryptionKeyQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(ColumnEncryptionKey) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.ColumnEncryptionKeys; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlServiceBrokerQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(ServiceBroker) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.ServiceBroker; if (retValue != null) { if (refresh) { parentDatabase.ServiceBroker.Refresh(); } return new SqlSmoObject[] { retValue }; } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlServiceQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(BrokerService) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { ServiceBroker parentServiceBroker = context.Parent as ServiceBroker; if (parentServiceBroker != null) { var retValue = parentServiceBroker.Services; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentServiceBroker, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlContractQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(ServiceContract) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { ServiceBroker parentServiceBroker = context.Parent as ServiceBroker; if (parentServiceBroker != null) { var retValue = parentServiceBroker.ServiceContracts; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentServiceBroker, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlQueueQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(ServiceQueue) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { ServiceBroker parentServiceBroker = context.Parent as ServiceBroker; if (parentServiceBroker != null) { var retValue = parentServiceBroker.Queues; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentServiceBroker, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlRemoteServiceBindingQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(RemoteServiceBinding) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { ServiceBroker parentServiceBroker = context.Parent as ServiceBroker; if (parentServiceBroker != null) { var retValue = parentServiceBroker.RemoteServiceBindings; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentServiceBroker, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlBrokerPriorityQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(BrokerPriority) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { ServiceBroker parentServiceBroker = context.Parent as ServiceBroker; if (parentServiceBroker != null) { var retValue = parentServiceBroker.Priorities; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentServiceBroker, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlMessageTypeQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(MessageType) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { ServiceBroker parentServiceBroker = context.Parent as ServiceBroker; if (parentServiceBroker != null) { var retValue = parentServiceBroker.MessageTypes; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentServiceBroker, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlExternalDataSourceQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(ExternalDataSource) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.ExternalDataSources; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlExternalFileFormatQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(ExternalFileFormat) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.ExternalFileFormats; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlProcedureQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(StoredProcedure) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.StoredProcedures; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlExtendedStoredProcedureQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(ExtendedStoredProcedure) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.ExtendedStoredProcedures; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlSubroutineParameterQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(Parameter) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { StoredProcedure parentStoredProcedure = context.Parent as StoredProcedure; if (parentStoredProcedure != null) { var retValue = parentStoredProcedure.Parameters; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentStoredProcedure, c)); } } UserDefinedAggregate parentUserDefinedAggregate = context.Parent as UserDefinedAggregate; if (parentUserDefinedAggregate != null) { var retValue = parentUserDefinedAggregate.Parameters; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentUserDefinedAggregate, c)); } } UserDefinedFunction parentUserDefinedFunction = context.Parent as UserDefinedFunction; if (parentUserDefinedFunction != null) { var retValue = parentUserDefinedFunction.Parameters; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentUserDefinedFunction, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlPartitionFunctionParameterQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(PartitionFunctionParameter) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { PartitionFunction parentPartitionFunction = context.Parent as PartitionFunction; if (parentPartitionFunction != null) { var retValue = parentPartitionFunction.PartitionFunctionParameters; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentPartitionFunction, c)); } } return Enumerable.Empty(); } } [Export(typeof(SmoQuerier))] internal partial class SqlBuiltInTypeQuerier: SmoQuerier { Type[] supportedTypes = new Type[] { typeof(SystemDataType) }; public override Type[] SupportedObjectTypes { get { return supportedTypes; } } public override IEnumerable Query(SmoQueryContext context, string filter, bool refresh, IEnumerable extraProperties) { Database parentDatabase = context.Parent as Database; if (parentDatabase != null) { var retValue = parentDatabase.Parent.SystemDataTypes; if (retValue != null) { retValue.ClearAndInitialize(filter, extraProperties); return new SmoCollectionWrapper(retValue).Where(c => PassesFinalFilters(parentDatabase, c)); } } return Enumerable.Empty(); } } }