关于oceanbase中存储过程的设计与实现

转自http://www.zhujuncoding.com/index.php/Index/blogview?id=82

 

这篇文章是关于在淘宝的数据库oceanbase中添加存储过程支持的文章,oceanbase在下文中使用ob简称

    学校接的项目要在开源数据系统oceanbase中实现存储过程的

    首先、我们要进行语法分析和词法分析,这两个使用开源的flex & bison来做,因为在ob中的sql语句解析就是使用这样的模式来做的,我们存储过程的实现是参考postgrepsql中的存储过程部分来实现的

    语句输入后由 语言处理模块分离出 过程语言和 sql语句

    Sql 语句调用oceanbase的sql引擎来执行

    过程语言 进行语法分析,把变量和数据类型保存符号表中

    中间代码保存在缓存中,而源代码需要保存在数据库系统表中

    

    存储过程执行

    使用名字堆栈 (解决变量的作用域)

    

        词法分析 ->语法分析–>语义处理

   

posted @ 2014-08-18 10:35  小竹zz  阅读(728)  评论(0编辑  收藏  举报