Skip to main content

Class AstTableIndexNode

AstTableIndexNode corresponds directly to a SQL Server relational database index.

Namespace: Varigence.Languages.Biml.Table

Assembly: Biml.dll

C#


public class AstTableIndexNode : AstNamedNode, IBindableItem, IGetJsonProvider, INamedNode, IReferenceableItem, IFrameworkItem, IValidationInfo, INamedItem

Inheritance AstNode

  • Implements

    Varigence.Utility.Collections.IVulcanCollectionParent, Varigence.Utility.ComponentModel.IVulcanNotifyPropertyChanged, Varigence.Utility.ComponentModel.IPropertyChangeNotificationTarget, System.ComponentModel.INotifyPropertyChanged, Varigence.Utility.Xml.IXObjectMappingProvider, System.ComponentModel.IDataErrorInfo, Varigence.Utility.Collections.IScopedNameIndexable,

Constructors

ConstructorsDescription
AstTableIndexNode(IFrameworkItem)Initializes a new instance of the AstTableIndexNode class with the specified parent node.

Fields

FieldsDescription
ScopedNamePrefixBackingStore
IsScopeImported

Properties

PropertiesDescription
ClusteredThis value specifies whether the index is clustered. A clustered index is physically laid out on disc with all columns of the rows of the table.
ClusteredDefaultValueGets the default value for the Clustered property
ColumnsThis is a container for index column reference definitions.
CompressionTypeThis value specifies what kind of compression the index uses.
CompressionTypeDefaultValueGets the default value for the CompressionType property
DropExistingWhen DropExisting is specified, the index creation removes any existing indexes with the same name before creating the new index. Unspecified properties in the new index are inherited from the dropped index. Without this option, an attempt to create a second index with the same name would result in an error.
DropExistingDefaultValueGets the default value for the DropExisting property
FileGroupSpecifies the file group within which this index should be created.
FillFactorThis value specifies what percentage of each index page the database engine should fill when creating or rebuilding the index.
FillFactorDefaultValueGets the default value for the FillFactor property
FilterPredicateSpecifies the T-SQL predicate expression that should be used to include/exclude rows from a filtered index.
FilterPredicateDefaultValueGets the default value for the FilterPredicate property
FriendlyTypeNameStaticGets the friendly name of the type of this node
IgnoreDupKeyThis value specifies whether incoming rows that have a duplicate index value should produce a warning (and continue) or an error (and terminate). This property applies only for indexes where the value of Unique is True. It is useful for enabling large bulk inserts to complete when duplicate rows exist.
IgnoreDupKeyDefaultValueGets the default value for the IgnoreDupKey property
IncludesThis is a container for index include column reference definitions.
ItemsGets a collection that contains all index column references and include column references
OnlineThis value specifies whether the index remains online and accessible while index operations are being performed.
OnlineDefaultValueGets the default value for the Online property
PadIndexThis value determines whether each intermediate level of the index is padded with extra open space in each page.
PadIndexDefaultValueGets the default value for the PadIndex property
PartitionColumnDefines the column used by the partition scheme.
PartitionSchemeDefines the partition scheme used to partition this index.
SortInTempDBThis value determines whether the configured temporary database should be used for storing the index.
SortInTempDBDefaultValueGets the default value for the SortInTempDB property
UniqueThis value specifies whether each index value is unique. When the value is True, no two rows have the same values across all of the columns participating in the index.
UniqueDefaultValueGets the default value for the Unique property
ScopedNameGets the scoped name which can be used to uniquely identify this object among other objects of its type
SymbolTableGets a reference to the symbol table that stores a reference to this and all other named objects in the project
SsisSafeScopedNameReturns a version of the ScopedName that has been cleaned of invalid characters for SSIS.
SsisSafeNameReturns a version of the Name that has been cleaned of invalid characters for SSIS.
NameSpecifies the name of the object. This name can be used to reference this object from anywhere else in the program.
ReferencesGets collection of FrameworkItemReference objects, which track rich information about the properties that hold references to this node.
NameDefaultValueGets the default value for the Name property
Guid
AnnotationsThis is a collection of annotation items that can be used to specify documentation, tags, or other information. Annotations are particularly useful for storing information about nodes that can be used by BimlScript code.
ObjectTagThis property provides a general purpose storage mechanism for .NET objects to be associated with AstNode objects. It supplements the annotation system, which is intended for use with string-based metadata.
BimlFileThis value specifies the BimlFile in which the Biml code that defines AstNode resides.
ItemLabelGets a label that can be used to identify this node
ParentItemThis value specifies the parent of the current node. All nodes must have a valid parent in the Biml framework, except for the root node.

Methods

MethodsDescription
BindingScopeBoundaries()Retrieves the permitted scope boundaries to bind references from this node.
DefinedAstNodes()Retrieves a collection of nodes that have been defined as direct children of the current node.
Duplicate()Creates a duplicate of the current node
Duplicate(IFrameworkItem)Creates a duplicate of the current node with the specified parent item
GetAllItemsReferencedByDefinedSuccessors()Builds a list of all items referenced by this node and its successors.
Each tuple in the returned list represents a FrameworkItemReference.
The first item is the ReferencingItem, the second item is the property name, and the third item is the ReferencedItem.
GetDefaultValue(String)Retrieves the default value for the property with the name propertyName
GetDefaultValue<T>(String)Retrieves the default value for the property with the name propertyName
GetSchemaLocalName()Retrieves the local XML element name that corresponds to this node in Biml code.
StructureEquals(Object)Compares this node to the provided object to determine if all defined children and references are equal.
StructureEquals(AstTableIndexNode, AstTableIndexNode)Gets a value to indicate whether or not the two indexes have identical structure
ToString()Returns a string that represents the current object. In this case, it is the Name of the node.
OnScopedNameChanged(String, String)
OnItemLabelChanged(String, String)
OnNameChanging(String, String)
OnNameChanged(String, String)
AddScopedNameChangedEventListener(IReferenceableItem, EventHandler<VulcanPropertyChangedEventArgs>)Adds the scoped name changed event handler to the specified referenceable item.
RemoveScopedNameChangedEventListener(IReferenceableItem, EventHandler<VulcanPropertyChangedEventArgs>)Removes the scoped name changed event handler from the specified referenceable item.
FirstChildOfType<TChild>()Gets the first defined descendant node of the specified type
RemoveFromParent()Removes this node definition from its parent
GetJson()Generates a JavaScript Object Notation (JSON) representation of the current node
GetExternalJson()Generates a JavaScript Object Notation (JSON) representation of the current node
GetJson(Boolean, Boolean, Boolean, Boolean, Boolean)Generates a JavaScript Object Notation (JSON) representation of the current node
GetXObjectName()Gets the fully qualified XML element name for this node in the code document.
FirstParent<TAstNode>()Retrieves the first parent or ancestor node of the specified type
FirstParent<TAstNode>(Type)Retrieves the first parent or ancestor node of the specified type with the specified custom attribute type
FirstThisOrParent<TAstNode>()Retrieves the first parent or ancestor node of the specified type, including this node
IsDirectAncestor(IFrameworkItem)Retrieves a value indicating whether the specified node is a direct ancestor of this node.
AncestorDistance(IFrameworkItem)Retrieves the number of steps between this node and the nearest shared ancestor with the specified relative node.
FirstThisOrParent<TAstNode>(Type)Retrieves the first parent or ancestor node (including this node) of the specified type with the specified custom attribute type
AllDefinedSuccessors()Retrieves the collection of all nodes defined as a child of this or any successor node or the current node
AllDefinedSuccessors(Boolean)Retrieves the collection of all nodes defined as a child of this or any successor node or optionally the current node
OnNotificationTargetPropertyChanged(String)
OnScopeBoundaryChanged(IScopeBoundary, IScopeBoundary)
AddParseableChangedEventListener(IFlowFileChanged, EventHandler<EventArgs>)
RemoveParseableChangedEventListener(IFlowFileChanged, EventHandler<EventArgs>)
AddScopeBoundaryChangedEventListener(IFrameworkItem, EventHandler<VulcanPropertyChangedEventArgs>)
RemoveScopeBoundaryChangedEventListener(IFrameworkItem, EventHandler<VulcanPropertyChangedEventArgs>)
AddParsePendingChangedEventListener(IFlowFileChanged, EventHandler<EventArgs>)
RemoveParsePendingChangedEventListener(IFlowFileChanged, EventHandler<EventArgs>)
AddFromTemplateChangedEventListener(IFlowFileChanged, EventHandler<EventArgs>)
RemoveFromTemplateChangedEventListener(IFlowFileChanged, EventHandler<EventArgs>)
ParseSelf(XElement, ParserContext)
ParseNameValueMapping(XElement)