pgsql数字/十进制二进制表示&可可

时间:2014-09-30 20:32:32

标签: postgresql cocoa libpq

我正在尝试将对numeric / decimal pgsql(以及SQL99标准)数据类型的支持添加到cocoa框架中。 到目前为止,我还没有找到任何有关libpq在为

等查询提供输出时使用的内部二进制表示的信息。
SELECT "12,345"::numeric(5,3); 

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

二进制格式的主要参考是源代码 - src/backend/utils/adt/numeric.c。请参阅numeric_sendnumeric_recv以及源文件顶部的注释。

为什么需要使用二进制表示?除非明确请求二进制模式,否则通常将numeric值与PostgreSQL服务器交换为格式化文本。

如果确实需要二进制格式,您可能希望查看libpqtypes,其中包含对NUMERIC的二进制表示形式的支持并将其与服务器进行交换。您可能需要考虑在代码中使用libpqtypes。也许提交补丁以添加对您libpqtypes使用的任意精度十进制浮点库的支持。

见相关:

它的文档记录不足,在适当的SGML文档中有这个很好。您的补丁将受到欢迎; - )