Мне нужно написать C-функцию для расширения функциональности моего сервера PostgreSQL. Одним из аргументов этой функции является строка, представляющая любое допустимое выражение PostgreSQL, возвращающее число. Например:
- 3 + 5 * сов (7.4) / 8
- 7
- 2 + 2
- журнал (34)
- градусов (0,5)
- Мощность (9,0, 3,0)
- случай, когда 8> 2, затем 1, когда 7 * 5 <43, затем 2, в противном случае 3 end </li>
и т. Д.
Дело в том, что моя функция сначала заменяет некоторые значения в выражении (имена переменных) на числа, а затем должна выполнить выражение и вернуть результат (число). С PL / pgSQL я могу использовать EXECUTE expr INTO val, но как я могу сделать это в функции C?
Большое спасибо заранее и наилучшими пожеланиями