Module cast

Source

Statics§

_LINKME_ELEMENT_bool_out_boolean_varchar πŸ”’
_LINKME_ELEMENT_cast_anyarray_anyarray πŸ”’
_LINKME_ELEMENT_cast_anyarray_varchar πŸ”’
_LINKME_ELEMENT_cast_anymap_anymap πŸ”’
_LINKME_ELEMENT_cast_boolean_int4 πŸ”’
_LINKME_ELEMENT_cast_boolean_varchar πŸ”’
_LINKME_ELEMENT_cast_bytea_varchar πŸ”’
_LINKME_ELEMENT_cast_date_timestamp πŸ”’
_LINKME_ELEMENT_cast_date_varchar πŸ”’
_LINKME_ELEMENT_cast_decimal_float4 πŸ”’
_LINKME_ELEMENT_cast_decimal_float8 πŸ”’
_LINKME_ELEMENT_cast_decimal_int2 πŸ”’
_LINKME_ELEMENT_cast_decimal_int4 πŸ”’
_LINKME_ELEMENT_cast_decimal_int8 πŸ”’
_LINKME_ELEMENT_cast_decimal_varchar πŸ”’
_LINKME_ELEMENT_cast_float4_decimal πŸ”’
_LINKME_ELEMENT_cast_float4_float8 πŸ”’
_LINKME_ELEMENT_cast_float4_int2 πŸ”’
_LINKME_ELEMENT_cast_float4_int4 πŸ”’
_LINKME_ELEMENT_cast_float4_int8 πŸ”’
_LINKME_ELEMENT_cast_float4_varchar πŸ”’
_LINKME_ELEMENT_cast_float8_decimal πŸ”’
_LINKME_ELEMENT_cast_float8_float4 πŸ”’
_LINKME_ELEMENT_cast_float8_int2 πŸ”’
_LINKME_ELEMENT_cast_float8_int4 πŸ”’
_LINKME_ELEMENT_cast_float8_int8 πŸ”’
_LINKME_ELEMENT_cast_float8_varchar πŸ”’
_LINKME_ELEMENT_cast_int2_decimal πŸ”’
_LINKME_ELEMENT_cast_int2_float4 πŸ”’
_LINKME_ELEMENT_cast_int2_float8 πŸ”’
_LINKME_ELEMENT_cast_int2_int4 πŸ”’
_LINKME_ELEMENT_cast_int2_int8 πŸ”’
_LINKME_ELEMENT_cast_int2_int256 πŸ”’
_LINKME_ELEMENT_cast_int2_varchar πŸ”’
_LINKME_ELEMENT_cast_int4_boolean πŸ”’
_LINKME_ELEMENT_cast_int4_decimal πŸ”’
_LINKME_ELEMENT_cast_int4_float4 πŸ”’
_LINKME_ELEMENT_cast_int4_float8 πŸ”’
_LINKME_ELEMENT_cast_int4_int2 πŸ”’
_LINKME_ELEMENT_cast_int4_int8 πŸ”’
_LINKME_ELEMENT_cast_int4_int256 πŸ”’
_LINKME_ELEMENT_cast_int4_varchar πŸ”’
_LINKME_ELEMENT_cast_int8_decimal πŸ”’
_LINKME_ELEMENT_cast_int8_float4 πŸ”’
_LINKME_ELEMENT_cast_int8_float8 πŸ”’
_LINKME_ELEMENT_cast_int8_int2 πŸ”’
_LINKME_ELEMENT_cast_int8_int4 πŸ”’
_LINKME_ELEMENT_cast_int8_int256 πŸ”’
_LINKME_ELEMENT_cast_int8_serial πŸ”’
_LINKME_ELEMENT_cast_int8_varchar πŸ”’
_LINKME_ELEMENT_cast_int256_float8 πŸ”’
_LINKME_ELEMENT_cast_int256_varchar πŸ”’
_LINKME_ELEMENT_cast_interval_time πŸ”’
_LINKME_ELEMENT_cast_interval_varchar πŸ”’
_LINKME_ELEMENT_cast_jsonb_boolean πŸ”’
_LINKME_ELEMENT_cast_jsonb_decimal πŸ”’
_LINKME_ELEMENT_cast_jsonb_float4 πŸ”’
_LINKME_ELEMENT_cast_jsonb_float8 πŸ”’
_LINKME_ELEMENT_cast_jsonb_int2 πŸ”’
_LINKME_ELEMENT_cast_jsonb_int4 πŸ”’
_LINKME_ELEMENT_cast_jsonb_int8 πŸ”’
_LINKME_ELEMENT_cast_jsonb_varchar πŸ”’
_LINKME_ELEMENT_cast_serial_int8 πŸ”’
_LINKME_ELEMENT_cast_struct_struct πŸ”’
_LINKME_ELEMENT_cast_time_interval πŸ”’
_LINKME_ELEMENT_cast_time_varchar πŸ”’
_LINKME_ELEMENT_cast_timestamp_date πŸ”’
_LINKME_ELEMENT_cast_timestamp_time πŸ”’
_LINKME_ELEMENT_cast_timestamp_varchar πŸ”’
_LINKME_ELEMENT_cast_varchar_anyarray πŸ”’
_LINKME_ELEMENT_cast_varchar_boolean πŸ”’
_LINKME_ELEMENT_cast_varchar_bytea πŸ”’
_LINKME_ELEMENT_cast_varchar_date πŸ”’
_LINKME_ELEMENT_cast_varchar_decimal πŸ”’
_LINKME_ELEMENT_cast_varchar_float4 πŸ”’
_LINKME_ELEMENT_cast_varchar_float8 πŸ”’
_LINKME_ELEMENT_cast_varchar_int2 πŸ”’
_LINKME_ELEMENT_cast_varchar_int4 πŸ”’
_LINKME_ELEMENT_cast_varchar_int8 πŸ”’
_LINKME_ELEMENT_cast_varchar_int256 πŸ”’
_LINKME_ELEMENT_cast_varchar_interval πŸ”’
_LINKME_ELEMENT_cast_varchar_jsonb πŸ”’
_LINKME_ELEMENT_cast_varchar_time πŸ”’
_LINKME_ELEMENT_cast_varchar_timestamp πŸ”’
_LINKME_ELEMENT_cast_varchar_varchar πŸ”’
_LINKME_ELEMENT_pgwire_recv_bytea_int8 πŸ”’
_LINKME_ELEMENT_pgwire_send_int8_bytea πŸ”’

Functions§

bool_out
bool_out is different from cast(boolean) -> varchar to produce a single char. PostgreSQL uses different variants of bool-to-string in different situations.
bool_out_boolean_varchar πŸ”’
bool_to_varchar
cast
cast_anyarray_anyarray πŸ”’
cast_anyarray_varchar πŸ”’
cast_anymap_anymap πŸ”’
cast_boolean_int4 πŸ”’
cast_boolean_varchar πŸ”’
cast_bytea_varchar πŸ”’
cast_date_timestamp πŸ”’
cast_date_varchar πŸ”’
cast_decimal_float4 πŸ”’
cast_decimal_float8 πŸ”’
cast_decimal_int2 πŸ”’
cast_decimal_int4 πŸ”’
cast_decimal_int8 πŸ”’
cast_decimal_varchar πŸ”’
cast_float4_decimal πŸ”’
cast_float4_float8 πŸ”’
cast_float4_int2 πŸ”’
cast_float4_int4 πŸ”’
cast_float4_int8 πŸ”’
cast_float4_varchar πŸ”’
cast_float8_decimal πŸ”’
cast_float8_float4 πŸ”’
cast_float8_int2 πŸ”’
cast_float8_int4 πŸ”’
cast_float8_int8 πŸ”’
cast_float8_varchar πŸ”’
cast_int2_decimal πŸ”’
cast_int2_float4 πŸ”’
cast_int2_float8 πŸ”’
cast_int2_int4 πŸ”’
cast_int2_int8 πŸ”’
cast_int2_int256 πŸ”’
cast_int2_varchar πŸ”’
cast_int4_boolean πŸ”’
cast_int4_decimal πŸ”’
cast_int4_float4 πŸ”’
cast_int4_float8 πŸ”’
cast_int4_int2 πŸ”’
cast_int4_int8 πŸ”’
cast_int4_int256 πŸ”’
cast_int4_varchar πŸ”’
cast_int8_decimal πŸ”’
cast_int8_float4 πŸ”’
cast_int8_float8 πŸ”’
cast_int8_int2 πŸ”’
cast_int8_int4 πŸ”’
cast_int8_int256 πŸ”’
cast_int8_serial πŸ”’
cast_int8_varchar πŸ”’
cast_int256_float8 πŸ”’
cast_int256_varchar πŸ”’
cast_interval_time πŸ”’
cast_interval_varchar πŸ”’
cast_jsonb_boolean πŸ”’
cast_jsonb_decimal πŸ”’
cast_jsonb_float4 πŸ”’
cast_jsonb_float8 πŸ”’
cast_jsonb_int2 πŸ”’
cast_jsonb_int4 πŸ”’
cast_jsonb_int8 πŸ”’
cast_jsonb_varchar πŸ”’
cast_serial_int8 πŸ”’
cast_struct_struct πŸ”’
cast_time_interval πŸ”’
cast_time_varchar πŸ”’
cast_timestamp_date πŸ”’
cast_timestamp_time πŸ”’
cast_timestamp_varchar πŸ”’
cast_varchar_anyarray πŸ”’
cast_varchar_boolean πŸ”’
cast_varchar_bytea πŸ”’
cast_varchar_date πŸ”’
cast_varchar_decimal πŸ”’
cast_varchar_float4 πŸ”’
cast_varchar_float8 πŸ”’
cast_varchar_int2 πŸ”’
cast_varchar_int4 πŸ”’
cast_varchar_int8 πŸ”’
cast_varchar_int256 πŸ”’
cast_varchar_interval πŸ”’
cast_varchar_jsonb πŸ”’
cast_varchar_time πŸ”’
cast_varchar_timestamp πŸ”’
cast_varchar_varchar πŸ”’
general_to_text
For most of the types, cast them to varchar is the same as their pgwire β€œTEXT” format. So we use ToText to cast type to varchar.
int_to_bool
jsonb_to_bool
jsonb_to_number
Note that PostgreSQL casts JSON numbers from arbitrary precision numeric but we use f64. This is less powerful but still meets RFC 8259 interoperability.
list_cast πŸ”’
Cast array with source_elem_type into array with target_elem_type by casting each element.
map_cast πŸ”’
Cast array with source_elem_type into array with target_elem_type by casting each element.
pgwire_recv
pgwire_recv_bytea_int8 πŸ”’
pgwire_send πŸ”’
pgwire_send_int8_bytea πŸ”’
str_parse
str_to_bool
str_to_bytea
str_to_list πŸ”’
struct_cast πŸ”’
Cast struct of source_elem_type to target_elem_type by casting each element.
to_int256
try_cast