u_nodes
TLz_Attr = class(TLz_node);
TLz_Attr represents a dot separated name, or just a single name.
Usually, it represents a database object like table, field, function name, etc...
relname is the first source token of identifier.
Take identifier: server.database.schema_name.object_name for example, relname points to "server".
attrs stores source tokens in identifier except first one. Take identifier: server.database.schema_name.object_name for example, attrs includes "database",
"schema_name", and "object_name".
If identifier is a single name like this: object_name, then relname stores source token of object_name, and attrs is empty.
If attr is a dot separated name like this: schema_name.object_name, then relname -> schema_name , and attrs[0] -> object_name.
If attr is a dot separated name like this: database.schema_name.object_name, then relname -> database , and attrs[0] -> schema_name, attrs[1] -> object_name.
If attr is a dot separated name like this: server.database.schema_name.object_name, then relname -> server , and attrs[0] -> database,attrs[1] -> schema_name, attrs[2] -> object_name.
You can also fetch database object info use following properties: ServerNameToken, DatabaseNameToken, SchemaNameToken, ObjectNameToken, ColumnNameToken,ObjectPropertyNameToken, ObjectMethodNameToken.
If a token is ObjectNameToken, then you can use DBObjType to determine what database object is this token stands for.
For example:
server.database.schema_name.object_name
TLz_Attr.ObjectNameToken->object_name
TLz_Attr.SchemaNameToken->schema_name
TLz_Attr.DatabaseNameToken->database
TLz_Attr.ServerNameToken->server
server.database..object_name
TLz_Attr.ObjectNameToken->object_name
TLz_Attr.SchemaNameToken-> empty text
TLz_Attr.DatabaseNameToken->database
TLz_Attr.ServerNameToken->server
server..schema_name.object_name
TLz_Attr.ObjectName->object_name
TLz_Attr.SchemaName->schema_name
TLz_Attr.DatabaseNameToken->empty text
TLz_Attr.ServerName->server
server...object_name
TLz_Attr.ObjectName->object_name
TLz_Attr.SchemaName->empty text
TLz_Attr.DatabaseNameToken->empty text
TLz_Attr.ServerName->server
database.schema_name.object_name
TLz_Attr.ObjectName->object_name
TLz_Attr.SchemaName->schema_name
TLz_Attr.DatabaseName->database
TLz_Attr.ServerName-> null
database..object_name
TLz_Attr.ObjectName->object_name
TLz_Attr.SchemaName->empty text
TLz_Attr.DatabaseName->database
TLz_Attr.ServerName-> null
schema_name.object_name
TLz_Attr.ObjectName->object_name
TLz_Attr.SchemaName->schema_name
TLz_Attr.DatabaseName-> null
TLz_Attr.ServerName-> null
object_name
TLz_Attr.ObjectName->object_name
TLz_Attr.SchemaName-> null
TLz_Attr.DatabaseName-> null
TLz_Attr.ServerName-> null
Gudu software http://www.sqlparser.com
|
Send comments about this topic.
|