Search Postgresql Archives

Passing enum Parameters to User-defined C-Language Functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

I have a (I hope not too dumb) question regarding the use of enum parameters in a user-defined function written in C, e.g. for the example given in [1]: CREATE TYPE mood AS ENUM ('sad', 'ok', 'happy');

- How would a “mood” parameter be encoded when it is passed to the function?  “Four bytes on disk” might imply that its either an int4 or a float4?
- How is the association between enumlabel (e.g. 'happy') and value?  The same as enumsortorder in pg_enum?
- How are NULL values encoded?

Or is it a bad idea to use an enum in this case – actually, an int2 plus a few #define's would do the job, too, but the dedicated type looks cleaner to me.

Thanks in advance,
Albrecht.


[1] <https://www.postgresql.org/docs/16/datatype-enum.html>

Attachment: openpgp-digital-signature.asc
Description: This is a digitally signed message part.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux