コード例 #1
0
        public static QsiTableReferenceNode VisitTableName(TableNameContext context)
        {
            return(TreeHelper.Create <QsiTableReferenceNode>(n =>
            {
                n.Identifier = IdentifierVisitor.VisitFullId(context.fullId());

                PrimarSqlTree.PutContextSpan(n, context);
            }));
        }
コード例 #2
0
        public static (string schemaName, string tableName) ExtractTableName(TableNameContext context)
        {
            var    fullIdContext = context.GetChild <FullIdContext>();
            var    schemaName    = "";
            string tableName;

            //MEMO: TableNameContext.tablename() contains schema name if query style is `schema`.`table`.
            // 3     = schema.table (expr + . + expr)
            // other = table
            if (fullIdContext.ChildCount == 3)
            {
                schemaName = fullIdContext.GetChild <UidContext>().GetText()?.RemoveBackQuote();
                tableName  = fullIdContext.GetChild <UidContext>(1).GetText()?.RemoveBackQuote();
            }
            else
            {
                tableName = fullIdContext.GetChild <UidContext>().GetText()?.RemoveBackQuote();
            }
            return(schemaName, tableName);
        }
コード例 #3
0
 /// <summary>
 /// Listener for Table Name detection
 /// </summary>
 /// <param name="context"></param>
 public override void EnterTableName([NotNull] TableNameContext context)
 {
     base.EnterTableName(context);
     // table name
     (TableDefinition.SchemaName, TableDefinition.Name) = MySqlTableDefinition.ExtractTableName(context);
 }