Fork me on GitHub
摘要: 做sql的的where子句解析,是出于实际业务很多场景是sql查询,通过sql解析 并穷举各种分支反向生成 测试数据。其实有开源的flex和bison来做,但是感觉太重,而且时间成本问题,所以自己来写了个轻量解析方法。eg: 有一个where子句如下((handoutstatus = 2 and horrcause = 28 and eventid = 9 ) or (eventid = 8 and handinstatus = 2 and horrcause = 28)) and protocolid = 111A)基于上述语句,生成其逆波兰表达式 首先对运算符分类为(且优先级从高到低):| 阅读全文
posted @ 2013-09-29 23:29 europelee 阅读(1384) 评论(0) 推荐(0) 编辑