Skip to content

应该按原样支持所有token的大小写 #4

Description

@sdcb

比如像SQL Server,token是对大小写不敏感的,比如 SELECT * FROM sys.objectsselect * from sys.objects ,都是没有问题的,但作为一个良好的parser解析时应该保留原始大小写的信息,也就是说token不仅有token id,还应该保留其原始的token string(或者token range: start+end),这样可以随时读取其原始文字。

比如这行代码:

var sql = "SELECT * FROM [sys].[objects] ORDER BY [object_id] DESC";
var sqlAst = DbUtils.Parse(sql, SqlParser.Net.DbType.SqlServer);
var visitor = new SqlGenerationAstVisitor(SqlParser.Net.DbType.SqlServer);
visitor.VisitSqlSelectExpression((SqlSelectExpression)sqlAst);
visitor.GetResult().Dump();

应该输出:
SELECT * FROM [sys].[objects] ORDER BY [object_id] DESC

而不是:
select * from sys.[objects] order by [object_id] desc

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions