Skip to main content

Class AstTableNode

Table objects correspond directly to regular tables in the SQL Server product. They support all of the same features and present all of the same limitations.

Namespace: Varigence.Languages.Biml.Table

Assembly: Biml.dll

C#


public class AstTableNode : AstSecurableNode, IBindableItem, IGetJsonProvider, INamedNode, IScopeBoundary, IDataflowItem, IEmittableAstNode, IReferenceableItem, IFrameworkItem, IValidationInfo, INamedItem

Inheritance AstNode

Derived AstTableCloneNode

  • 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
AstTableNode(IFrameworkItem)Initializes a new instance of the AstTableNode class with the specified parent node.

Fields

FieldsDescription
ScopedNamePrefixBackingStore
IsScopeImported

Properties

PropertiesDescription
AllMergedColumnsGets a collection of all columns including, those from ancestor clone tables, base tables, and this clone table
AllMergedIndexesGets a collection of all indexes including, those from ancestor clone tables, base tables, and this clone table
AllMergedKeysGets a collection of all keys including, those from ancestor clone tables, base tables, and this clone table
AllMergedSourcesGets a collection of all sources including, those from ancestor clone tables, base tables, and this clone table
AllRelationalColumnsGets a collection of all columns including, those from ancestor clone tables, base tables, and this clone table but excluding those that are placeholders for Analysis Services Named Calculations
AnalysisMetadataThis is a container for all SQL Server Analysis Services (SSAS) metadata objects that are associated with this table definition. These include both multidimensional and tabular metadata.
CheckConstraintsDefines the collection of check constraints associated with the table.
ColumnsThis is a container for table column definitions.
CompressionTypeThis value specifies what kind of compression the table uses.
CompressionTypeDefaultValueGets the default value for the CompressionType property
ConnectionReturns the connection used by this object.
CustomExtensionsThis is a collecton of containers for table index definitions or other table customization.
DatabaseQualifiedNameReturns the database qualified name for the table.
DataSourceViewQualifiedNameReturns the schema qualified name for a data source view
EmitGets or sets a value that determines if this node should be emitted as a package in the build output
ExternalPartitionSchemeDefines that the table uses a partition that is not modeled as part of the project. This can also be used to create the table on a particular filegroup or the "default" filegroup.
ExternalPartitionSchemeDefaultValueGets the default value for the ExternalPartitionScheme property
FileGroupSpecifies the database file group within which this table should be created.
FriendlyNameSpecifies the name to use in the SSAS data source view and downstream SSAS objects.
FriendlyNameDefaultValueGets the default value for the FriendlyName property
FriendlyTypeNameStaticGets the friendly name of the type of this node
HasIdentityGets a value that indicates whether the table contains any identity columns
HasScdColumnsGets a value indicating whether any of the columns have ScdType of Historical
IndexesThis is a container for table index definitions.
KeysThis is a container for table key definitions.
LateArrivingThis value specifies whether the table supports late arriving rows. Late arriving rows allow the table to create placeholder values that are patched later when a dimension foreign key value is loaded in a referencing tabe before it is present in this table.
LateArrivingDefaultValueGets the default value for the LateArriving property
LogicalDisplayFolderSpecifies a path that should be used for organizing the tree display of this object in the Logical View in BimlStudio.
LogicalDisplayFolderDefaultValueGets the default value for the LogicalDisplayFolder property
PackageSubpathThis specifies a file path fragment to use for emitting output files for this table. It is most commonly employed to ensure that the output files for multiple tables will be placed into the same output directory.
PackageSubpathDefaultValueGets the default value for the PackageSubpath property
PartitionColumnDefines the table column used by the partition scheme.
PartitionSchemeIndicates the partition scheme that will be used by this table.
PreferredKeyGets the preferred key for this table to be used in lookups and other operations. This is the primary key or identity if present.

Otherwise, it is based on the key with the minimum number of bytes to compare across all columns referenced by the key.
ReadOnlyColumnsGets a collection of the read-only columns contained by this table
SchemaThis value specifies the schema to which this table belongs. If this value is not supplied, the table will use the default schema specified in the database.
SchemaQualifiedNameReturns the schema qualified name for the table.
SourcesThis is a container for table source definitions.
SsasNameGets the name of the table that should be used for SSAS emission, including DSVs and dimension/fact naming
ViewDefines the information necessary to emit the table as a view.
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.
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)