ajoo JRC

阅读更多
http://jrc.dev.java.net

ajoo项目批准了。
想参与的去java.net上申请一个账号吧。告诉ajoo,可以把你加进去。

cvs:
host: cvs.dev.java.net
repository: /cvs
module: /jrc

项目的缘起可以看这里。
http://forum.iteye.com/viewtopic.php?p=132021#132021

项目总共分3部分。
1. jrc的组合子部分,可以生成AST。
checked out code。看到这部分ajoo已经做了。Relation,
这部分就是SQL的语法元素组合子。ajoo称之为AST。

2. 写parser,把ansi sql翻译成ast。准备用jparsec来写。
这部分是我的任务。要写一个Parser,根据SQL的解析结果产生AST。

jparsec的基本思想参见 Java Functional In Action
http://forum.iteye.com/viewtopic.php?t=7951

jparsec项目参见
http://jparsec.codehaus.org/

3. Visitor
通过实现ast的visitor接口来针对具体dbms生成sql代码。(这里面应该还是有一些设计的技巧可用,来尽量在不同dbms之间重用代码。)
DB Dialect, native SQL.

---------------

JRC的使用过程:

Relation r = parser.parse(sql);

Relation r1 = r.top(n).where(...);

String sql = oracleVisitor.visit(r1);

你可能感兴趣的:(SQL,Oracle,Haskell,单元测试,MySQL)