• PRODUCTS
  • SUPPORT
  • DOCS
  • PARTNERS
  • COMPANY
  • QUOTE
  • ACCOUNT
  • STORE
QUOTE

Documentation

Support Forums
What can we help you with?
Topics

Class AstTableCloneNode

TableClone enables you to create a copy of an existing table, allowing you to add your own additional columns, indexes, and keys in order to support staging mechanisms, temp-tables, etc.

Namespace:
Varigence.Languages.Biml.Table
Assembly:
Biml.dll
C#
    public class AstTableCloneNode : AstTableNode, IBindableItem, IGetJsonProvider, INamedNode, IScopeBoundary, IDataflowItem, IEmittableAstNode, IReferenceableItem, IFrameworkItem, IValidationInfo, INamedItem
    
  
Inheritance
System.Object
AstNode
AstNamedNode
AstScopeBoundaryNode
AstSecurableNode
AstTableNode
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

AstTableCloneNode(IFrameworkItem)

Initializes a new instance of the AstTableCloneNode class with the specified parent node.

Fields

ScopedNamePrefixBackingStore
IsScopeImported

Properties

AllMergedColumns

Gets a collection of all columns including, those from ancestor clone tables, base tables, and this clone table

AllMergedIndexes

Gets a collection of all indexes including, those from ancestor clone tables, base tables, and this clone table

AllMergedKeys

Gets a collection of all keys including, those from ancestor clone tables, base tables, and this clone table

AllMergedSources

Gets a collection of all sources including, those from ancestor clone tables, base tables, and this clone table

AllRelationalColumns

Gets 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

ClonedColumns

This collection is for internal use only. It is used to store column definitions that have been cloned from the table that is the basis for this clone table.

ClonedIndexes

This collection is for internal use only. It is used to store index definitions that have been cloned from the table that is the basis for this clone table.

ClonedKeys

This collection is for internal use only. It is used to store key definitions that have been cloned from the table that is the basis for this clone table.

ClonedSources

This collection is for internal use only. It is used to store source definitions that have been cloned from the table that is the basis for this clone table.

CloneIndexes

This value specifies whether indexes from the referenced table should be included in the cloned table. In situations where the clone table will be used for a smaller amount of data or for different purposes than the reference table, the same indexes may not be required. The default value is False.

CloneIndexesDefaultValue

Gets the default value for the CloneIndexes property

CloneKeys

This value specifies whether keys from the referenced table should be included in the cloned table. In situations where the clone table will include unverified data, the same keys may not be valid. The default value is False.

CloneKeysDefaultValue

Gets the default value for the CloneKeys property

CloneStaticSources

This value specifies whether static source values defined on the referenced table should also be added to the clone table. Static source values are those data items that are prepopulated into the table when it is created. The default value is False.

CloneStaticSourcesDefaultValue

Gets the default value for the CloneStaticSources property

FriendlyTypeNameStatic

Gets the friendly name of the type of this node

HasTableReferenceCycles

Gets a value to indicate whether this clone table directly or indirectly clones itself or another clone table that clones itself - thereby creating an infinite loop

NullClonedColumns

This value specifies whether all columns from the referenced tables should be modified to permit null values. This is often useful in situations where the clone table will be used as a staging area for unverified data that will be loaded into the referenced table after null and other quality checks have been performed. The default value is False.

NullClonedColumnsDefaultValue

Gets the default value for the NullClonedColumns property

Table

This is a reference to the table that will serve as the basis for the clone table. Except as modified using the other clone table properties, the clone table will be an exact schema copy of the referenced table.

Connection

Returns the connection used by this object.

HasIdentity

Gets a value that indicates whether the table contains any identity columns

SchemaQualifiedName

Returns the schema qualified name for the table.

DatabaseQualifiedName

Returns the database qualified name for the table.

DataSourceViewQualifiedName

Returns the schema qualified name for a data source view

HasScdColumns

Gets a value indicating whether any of the columns have ScdType of Historical

PreferredKey

Gets 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.

ReadOnlyColumns

Gets a collection of the read-only columns contained by this table

SsasName

Gets the name of the table that should be used for SSAS emission, including DSVs and dimension/fact naming

Emit

Gets or sets a value that determines if this node should be emitted as a package in the build output

Columns

This is a container for table column definitions.

Keys

This is a container for table key definitions.

Sources

This is a container for table source definitions.

Indexes

This is a container for table index definitions.

CustomExtensions

This is a collecton of containers for table index definitions or other table customization.

LateArriving

This 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.

Schema

This 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.

CompressionType

This value specifies what kind of compression the table uses.

PackageSubpath

This 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.

FriendlyName

Specifies the name to use in the SSAS data source view and downstream SSAS objects.

PartitionScheme

Indicates the partition scheme that will be used by this table.

ExternalPartitionScheme

Defines 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.

PartitionColumn

Defines the table column used by the partition scheme.

CheckConstraints

Defines the collection of check constraints associated with the table.

View

Defines the information necessary to emit the table as a view.

FileGroup

Specifies the database file group within which this table should be created.

LogicalDisplayFolder

Specifies a path that should be used for organizing the tree display of this object in the Logical View in BimlStudio.

AnalysisMetadata

This 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.

LateArrivingDefaultValue

Gets the default value for the LateArriving property

CompressionTypeDefaultValue

Gets the default value for the CompressionType property

PackageSubpathDefaultValue

Gets the default value for the PackageSubpath property

FriendlyNameDefaultValue

Gets the default value for the FriendlyName property

ExternalPartitionSchemeDefaultValue

Gets the default value for the ExternalPartitionScheme property

LogicalDisplayFolderDefaultValue

Gets the default value for the LogicalDisplayFolder property

ScopedName

Gets the scoped name which can be used to uniquely identify this object among other objects of its type

SymbolTable

Gets a reference to the symbol table that stores a reference to this and all other named objects in the project

SsisSafeScopedName

Returns a version of the ScopedName that has been cleaned of invalid characters for SSIS.

SsisSafeName

Returns a version of the Name that has been cleaned of invalid characters for SSIS.

Name

Specifies the name of the object. This name can be used to reference this object from anywhere else in the program.

References

Gets collection of FrameworkItemReference objects, which track rich information about the properties that hold references to this node.

NameDefaultValue

Gets the default value for the Name property

Guid
Annotations

This 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.

ObjectTag

This 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.

BimlFile

This value specifies the BimlFile in which the Biml code that defines AstNode resides.

ItemLabel

Gets a label that can be used to identify this node

ParentItem

This 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

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

StructureEquals(Object)

Compares this node to the provided object to determine if all defined children and references are equal.

GetSchemaLocalName()

Retrieves the local XML element name that corresponds to this node in Biml code.

ParseChild(XElement, ParserContext)
GetBimlChildFragment(CulturedStringBuilder, Int32)
HasAnyBimlChildNodes()
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)

© Varigence