예제 #1
0
파일: Subquery.cs 프로젝트: deveel/deveeldb
            public static SelectColumn BuildColumn(PlSqlParser.SelectedElementContext context)
            {
                string alias = null;
                if (context.column_alias() != null &&
                    !context.column_alias().IsEmpty) {
                    alias = Name.Simple(context.column_alias());
                }

                SelectColumn column;
                if (context.expression() != null &&
                    !context.expression().IsEmpty) {
                    column = new SelectColumn(Expression.Build(context.expression()), alias);
                } else if (context.selectedColumn() != null &&
                    !context.selectedColumn().IsEmpty) {
                    bool glob = context.selectedColumn().glob != null;
                    ObjectName name = Name.Select(context.selectedColumn().objectName(), glob);

                    var exp = SqlExpression.Reference(name);
                    column = new SelectColumn(exp, alias);
                } else {
                    throw new ParseCanceledException();
                }

                return column;
            }