示例#1
0
        public StringBuilder Visit(IndexedColumnNode indexedColumnNode)
        {
            var sb = new StringBuilder();

            sb.Append(indexedColumnNode.Id);

            if (indexedColumnNode.CollationId != null)
            {
                sb.Append(" COLLATE ");
                sb.Append(indexedColumnNode.CollationId);
            }

            if (indexedColumnNode.Order != null)
            {
                if (indexedColumnNode.Order.Value == SortOrder.Asc)
                {
                    sb.Append(" ASC");
                }
                else if (indexedColumnNode.Order.Value == SortOrder.Desc)
                {
                    sb.Append(" DESC");
                }
            }

            return(sb);
        }
示例#2
0
        private IndexedColumnNode CreateIndexedColumnNode(dynamic context)
        {
            var ret = new IndexedColumnNode(context)
            {
                Id = context.id(0).GetText()
            };

            if (context.COLLATE() != null)
            {
                ret.CollationId = context.id(1).GetText();
            }

            if (context.ASC() != null)
            {
                ret.Order = SortOrder.Asc;
            }
            else if (context.DESC() != null)
            {
                ret.Order = SortOrder.Desc;
            }

            return(ret);
        }