sql - 如何(如果可能)独立使用 PostgreSQL 的解析器(C 语言)?

标签 sql c parsing postgresql

我需要一个解析器(主要用于“选择”类型的查询)并避免从头开始的麻烦。有谁知道如何使用 pgsql 的 scan.l/gram.y 来实现此目的?我也查过 pgpool,但看起来很相似。目前,如果有人可以给出编译解析器的说明(可能使用提供的 makefile)而不会出现错误,以便可以提供(有效?)查询并输出解析树(以任何形式),这可能会非常有帮助!

最佳答案

<小时/>

您可能无法从 postgres 源 tarball 中获取任何文件并单独编译它。解析器使用内部 OOP 结构(用 C 实现)。但有一些可能性(并不简单) - ecpg 预处理器尝试将 PostgreSQL gram 文件转换为辅助 gram 文件 - 并且您可以使用相同的机制。它使用一个小实用程序parse.pl(它是PostgreSQL源代码的一部分(src/postgresql/src/interfaces/ecpg/preproc))

关于sql - 如何(如果可能)独立使用 PostgreSQL 的解析器(C 语言)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16520797/

相关文章:

php - 我应该使用 SQL 还是 XML?

sql - 循环有条件导出表 SAS(大量变量)

android - 如何在Android.mk的LOCAL_CFLAGS中动态获取当前编译目标文件名?

c# - 为重复行的特定实例解析定界数据

loops - 解析唯一数据并重命名文件

mysql - 在多对多关系中选择特定属性

mysql - 如何将以下数据表转换为另一种结构

C - 初始化元素不是常量

c - 如何在/etc/passwd 中添加、删除编辑用户名

php - 将隐藏的输入作为字符串抓取(使用 PHP 简单 HTML DOM 解析器)