-
Notifications
You must be signed in to change notification settings - Fork 27
Open
Description
比如像SQL Server,token是对大小写不敏感的,比如 SELECT * FROM sys.objects 和 select * 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
Labels
No labels