mfc中报错未声明的标识符_Calcite中定制自已SQL解析器

1. 什么Sql Parser

所谓Sql Parser, 就是根据某种特定的定义而生成的Sql 语法解析器。 打个比方: 在计算器中输入 1 + 2 = 之所以可以得到结果3是因为是计算器可以准确地根据上述字符解析出相应的输入参数与算法,进而计算到最终的结果。 如果输入的是1 +- 2 = 计算器可能就会提示错误, 这其实就是类似于SQL中提示语法错误,而在处理SQL的过程与处理上面的例子很类似, 可见我们需要定制相应的语法规则进而解析SQL。

2. Java CC

熟悉ANTRL的同学应该知道.g文件的作用, 在Calcite中与之对就是JavaCC(关于什么是JavaCC,可以自行Google), 通过JavaCC文件Calcite可以定义如何去解析传入的SQL语法

3. Calcite 内置语法解析

现在就以一上简单的例子介绍一下Calcite 默认语法解析

SchemaPlus rootSchema = Frameworks.createRootSchema(true);
    final FrameworkConfig config = Frameworks.newConfigBuilder()
            .parserConfig(SqlParser.configBuilder()
                    .setParserFactory(SqlParserImpl.FACTORY)
                    .setCaseSensitive(false)
                    .setQuoting(Quoting.BACK_TICK)
                    .setQuotedCasing(Casing.TO_UPPER)
                    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值