Skip to content

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

@sdcb

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

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