sqlparse.RepoObject_SqlModules_51_Identitfier - V
type: V ( view ), modify_date: 2021-08-17 20:14:37
RepoObject_guid: 0E813EBD-7764-EB11-84DD-A81E8446D5B0
Columns
PK | Column Name | Data Type | NULL? | ID |
---|---|---|---|---|
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
Indexes
idx_RepoObject_SqlModules_51_Identitfier__1
-
IndexSemanticGroup: no_group
-
[column-RepoObject_guid]; uniqueidentifier
-
[column-json_key]; nvarchar(4000)
-
-
PK, Unique, Real: 0, 0, 0
idx_RepoObject_SqlModules_51_Identitfier__2
-
IndexSemanticGroup: no_group
-
[column-RepoObject_guid]; uniqueidentifier
-
-
PK, Unique, Real: 0, 0, 0
Column Details
_
sql_modules_definition
sqlparse.RepoObject_SqlModules_51_Identitfier - V script
/*
--only SELECT Identifier (before FROM)
SELECT
T1.*
FROM repo.RepoObject_SqlModules_51_Identitfier T1
INNER JOIN
repo.RepoObject_SqlModules_39_object AS T39
ON T39.RepoObject_guid = T1.RepoObject_guid
AND T39.Min_RowNumber_From = T1.RowNumber_per_Object + 1
*/
CREATE View sqlparse.RepoObject_SqlModules_51_Identitfier
As
Select
--
T1.RepoObject_guid
, T1.json_key
, T1.SysObject_fullname
, T1.RowNumber_per_Object
, T1.class
, T1.normalized
, T1.is_group
, T1.is_keyword
, T1.is_whitespace
--same logic: [repo].[RepoObject_SqlModules_25_IdentifierList_children_IdentifierSplit]
--in case of an simple identifier like [T1].[aaa] get the table part (before dot) and the column part (after dot)
, source_table = Case
When T1.child1_normalized = '.'
And Not T1.child2_normalized Is Null
Then
T1.child0_normalized
When T1.child1_normalized Is Null
Then
Null
End
, source_column = Case
When T1.child1_normalized = '.'
And Not T1.child2_normalized Is Null
Then
T1.child2_normalized
When T1.child1_normalized Is Null
Then
T1.child0_normalized
End
, T1.children
, T1.child0_class
--what happens in case of aa.bb as c or c = aa.bb?
--, [T1].[RepoObject_guid]
--, [T1].[json_key]
--, [T1].[SysObject_fullname]
--, [T1].[RowNumber_per_Object]
--, [T1].[class]
--, [T1].[is_group]
--, [T1].[is_keyword]
--, [T1].[is_whitespace]
--, [T1].[normalized]
--, [T1].[children]
--, [T1].[child0_class]
--, [T1].[child0_is_group]
--, [T1].[child0_is_keyword]
--, [T1].[child0_is_whitespace]
--, [T1].[child0_normalized]
--, [T1].[child0_children]
--, [T1].[child1_class]
--, [T1].[child1_is_group]
--, [T1].[child1_is_keyword]
--, [T1].[child1_is_whitespace]
--, [T1].[child1_normalized]
--, [T1].[child1_children]
--, [T1].[child2_class]
--, [T1].[child2_is_group]
--, [T1].[child2_is_keyword]
--, [T1].[child2_is_whitespace]
--, [T1].[child2_normalized]
--, [T1].[child2_children]
--, [T1].[child3_class]
--, [T1].[child3_is_group]
--, [T1].[child3_is_keyword]
--, [T1].[child3_is_whitespace]
--, [T1].[child3_normalized]
--, [T1].[child3_children]
--, [T1].[child4_class]
--, [T1].[child4_is_group]
--, [T1].[child4_is_keyword]
--, [T1].[child4_is_whitespace]
--, [T1].[child4_normalized]
--, [T1].[child4_children]
From
sqlparse.RepoObject_SqlModules_20_statement_children As T1
Where
T1.class = 'Identifier'