c - PostgreSQL:从 C 函数评估 SQL 表达式

标签 c postgresql eval

我需要编写一个 C 函数来扩展我的 PostgreSQL 服务器功能。该函数的参数之一是一个字符串,表示返回数字的任何 PostgreSQL 有效表达式。例如:

  • 3+5*cos(7.4)/8
  • 7
  • 2+2
  • 记录(34)
  • 度(0.5)
  • 功率(9.0, 3.0)
  • case when 8 > 2 then 1 when 7*5 < 43 then 2 else 3 end

等等

关键是我的函数首先将表达式(变量名)中的一些值替换为数字,然后它应该执行表达式并返回结果(一个数字)。对于 PL/pgSQL,我可以使用 EXECUTE expr INTO val,但我如何在 C 函数中执行它?

提前致谢,致以最诚挚的问候

最佳答案

SPI_execute_with_args听起来更接近你要找的东西。查看examples也是。

关于c - PostgreSQL:从 C 函数评估 SQL 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4827713/

相关文章:

python - 为什么 eval 找不到在外部函数中定义的变量?

c - #pragma pack 与 Intel C 的 -fpack-struct

postgresql - 在 Postgresql 中创建一个多列作为参数的函数

bash - bash 中的间接变量赋值

javascript eval 反斜杠在window NT路径问题

php - PostgreSql 'PDOException' 与消息 'could not find driver'

c - 避免在 C 中读取输入后打印新行

c - 堆栈指针与应用程序

c++ - 有没有什么软件可以在 Mac 上为 C/C++ 格式化源代码?

sql - 用 SQL 迭代匹配数据?