【发布时间】:2012-01-06 11:33:18
【问题描述】:
我想验证包含 sql 查询的文件的语法,然后才能将它们提交到我的 CVS 项目中。
为了做到这一点,我有一个 commitinfo 脚本,但我无法确定 sql 命令是否有效。 psql 似乎没有空运行模式,从语法(源代码中)构建我自己的 postgresql-dialact 测试器似乎很长。
脚本可能包含多个查询,因此不能将EXPLAIN 包裹起来。
有什么提示吗?
【问题讨论】:
-
我在 postgresql 块上存在与 SP 相关的问题,直到它未被调用时才被验证
-
@triclosan:你可能对
plpgsql lint感兴趣,它正好解决了这个缺点。 Pavel Stěhule 是主要开发人员。看到这个blog post。 -
我对 postgres 不是很有经验,所以这可能是一个糟糕的解决方法,不值得真正回答,但我只是在脚本末尾添加了一个垃圾行,我知道这会导致错误.如果它遇到的第一个错误是垃圾行,我可以有理由相信脚本的其余部分是好的。与事务不同,它保留序列值,对于简单的脚本,它比下载另一个实用程序更快、更容易。
标签: sql parsing postgresql syntax cvs