Module func

Source

Re-exportsΒ§

pub use impls::*;

ModulesΒ§

binary πŸ”’
Utilities for binary functions.
encoding πŸ”’
Encoding and decoding support for various formats that represent binary data as text data.
format πŸ”’
Data type formatting functions.
impls πŸ”’
macros πŸ”’

MacrosΒ§

range_fn πŸ”’
Macro to define binary function for various range operations. Parameters:

StructsΒ§

AddDateInterval
AddDateTime
AddFloat32
AddFloat64
AddInt16
AddInt32
AddInt64
AddInterval
AddNumeric
AddTimeInterval
AddUint16
AddUint32
AddUint64
AgeTimestamp
AgeTimestamptz
ArrayLength
BitAndInt16
BitAndInt32
BitAndInt64
BitAndUint16
BitAndUint32
BitAndUint64
BitOrInt16
BitOrInt32
BitOrInt64
BitOrUint16
BitOrUint32
BitOrUint64
BitShiftLeftInt16
BitShiftLeftInt32
BitShiftLeftInt64
BitShiftLeftUint16
BitShiftLeftUint32
BitShiftLeftUint64
BitShiftRightInt16
BitShiftRightInt32
BitShiftRightInt64
BitShiftRightUint16
BitShiftRightUint32
BitShiftRightUint64
BitXorInt16
BitXorInt32
BitXorInt64
BitXorUint16
BitXorUint32
BitXorUint64
ConstantTimeEqBytes
ConstantTimeEqString
ConvertFrom
DateTruncInterval
DivFloat32
DivFloat64
DivInt16
DivInt32
DivInt64
DivInterval
DivNumeric
DivUint16
DivUint32
DivUint64
Encode
EncodedBytesCharLength
Eq
ExtractDateUnits
GetBit
GetByte
Gt
Gte
JsonbContainsJsonb
JsonbContainsString
LogBaseNumeric
Lt
Lte
MapContainsAllKeys
MapContainsAnyKeys
MapContainsKey
MapContainsMap
ModFloat32
ModFloat64
ModInt16
ModInt32
ModInt64
ModNumeric
ModUint16
ModUint32
ModUint64
MulFloat32
MulFloat64
MulInt16
MulInt32
MulInt64
MulInterval
MulNumeric
MulUint16
MulUint32
MulUint64
NotEq
Power
PowerNumeric
RangeAdjacent
RangeAfter
RangeBefore
RangeContainsRange
RangeContainsRangeRev
RangeOverlaps
RangeOverleft
RangeOverright
RoundNumericBinary
SubDate
SubDateInterval
SubFloat32
SubFloat64
SubInt16
SubInt32
SubInt64
SubInterval
SubNumeric
SubTime
SubTimeInterval
SubTimestamp
SubTimestamptz
SubUint16
SubUint32
SubUint64
UuidGenerateV5

EnumsΒ§

BinaryFunc
UnaryFunc
UnmaterializableFunc
VariadicFunc

ConstantsΒ§

MAX_STRING_BYTES πŸ”’
The maximum size of a newly allocated string. Chosen to be the smallest number to keep our tests passing without changing. 100MiB is probably higher than what we want, but it’s better than no limit.

TraitsΒ§

EagerUnaryFunc πŸ”’
A description of an SQL unary function that operates on eagerly evaluated expressions
LazyUnaryFunc πŸ”’
A description of an SQL unary function that has the ability to lazy evaluate its arguments

FunctionsΒ§

add_date_interval πŸ”’
add_date_time πŸ”’
add_float32 πŸ”’
add_float64 πŸ”’
add_int16 πŸ”’
add_int32 πŸ”’
add_int64 πŸ”’
add_interval πŸ”’
add_numeric πŸ”’
add_time_interval πŸ”’
add_timestamp_months
add_timestamplike_interval πŸ”’
add_uint16 πŸ”’
add_uint32 πŸ”’
add_uint64 πŸ”’
age_timestamp πŸ”’
age_timestamptz πŸ”’
and
array_array_concat πŸ”’
array_contains πŸ”’
array_contains_array πŸ”’
array_create_multidim πŸ”’
Constructs a new multidimensional array out of an arbitrary number of lower-dimensional arrays.
array_create_scalar πŸ”’
Constructs a new zero or one dimensional array out of an arbitrary number of scalars.
array_fill πŸ”’
array_index πŸ”’
array_length πŸ”’
array_lower πŸ”’
array_position πŸ”’
array_remove πŸ”’
array_to_string πŸ”’
array_upper πŸ”’
bit_and_int16 πŸ”’
bit_and_int32 πŸ”’
bit_and_int64 πŸ”’
bit_and_uint16 πŸ”’
bit_and_uint32 πŸ”’
bit_and_uint64 πŸ”’
bit_or_int16 πŸ”’
bit_or_int32 πŸ”’
bit_or_int64 πŸ”’
bit_or_uint16 πŸ”’
bit_or_uint32 πŸ”’
bit_or_uint64 πŸ”’
bit_shift_left_int16 πŸ”’
bit_shift_left_int32 πŸ”’
bit_shift_left_int64 πŸ”’
bit_shift_left_uint16 πŸ”’
bit_shift_left_uint32 πŸ”’
bit_shift_left_uint64 πŸ”’
bit_shift_right_int16 πŸ”’
bit_shift_right_int32 πŸ”’
bit_shift_right_int64 πŸ”’
bit_shift_right_uint16 πŸ”’
bit_shift_right_uint32 πŸ”’
bit_shift_right_uint64 πŸ”’
bit_xor_int16 πŸ”’
bit_xor_int32 πŸ”’
bit_xor_int64 πŸ”’
bit_xor_uint16 πŸ”’
bit_xor_uint32 πŸ”’
bit_xor_uint64 πŸ”’
build_regex
coalesce πŸ”’
constant_time_eq_bytes
constant_time_eq_string
contains_range_elem πŸ”’
convert_from πŸ”’
create_range πŸ”’
date_bin
date_diff_date πŸ”’
date_diff_time πŸ”’
date_diff_timestamp πŸ”’
date_diff_timestamptz πŸ”’
date_part_interval πŸ”’
date_part_time πŸ”’
date_part_timestamp πŸ”’
date_trunc πŸ”’
date_trunc_interval πŸ”’
decode πŸ”’
digest_bytes πŸ”’
digest_inner πŸ”’
digest_string πŸ”’
div_float32 πŸ”’
div_float64 πŸ”’
div_int16 πŸ”’
div_int32 πŸ”’
div_int64 πŸ”’
div_interval πŸ”’
div_numeric πŸ”’
div_uint16 πŸ”’
div_uint32 πŸ”’
div_uint64 πŸ”’
element_list_concat πŸ”’
encode πŸ”’
encoded_bytes_char_length πŸ”’
eq πŸ”’
error_if_null πŸ”’
extract_date_units πŸ”’
get_bit πŸ”’
get_byte πŸ”’
greatest πŸ”’
gt πŸ”’
gte πŸ”’
hmac_bytes
hmac_inner
hmac_string
is_like_match_dynamic πŸ”’
is_regexp_match_dynamic πŸ”’
jsonb_build_array πŸ”’
jsonb_build_object πŸ”’
jsonb_concat πŸ”’
jsonb_contains_jsonb πŸ”’
jsonb_contains_string πŸ”’
jsonb_delete_int64 πŸ”’
jsonb_delete_string πŸ”’
jsonb_get_int64 πŸ”’
jsonb_get_path πŸ”’
jsonb_get_string πŸ”’
jsonb_stringify
least πŸ”’
left πŸ”’
like_escape πŸ”’
list_contains_list πŸ”’
list_create πŸ”’
list_element_concat πŸ”’
list_index πŸ”’
list_length_max πŸ”’
list_list_concat πŸ”’
list_remove πŸ”’
list_slice_linear πŸ”’
log_base_numeric πŸ”’
log_guard_numeric πŸ”’
lt πŸ”’
lte πŸ”’
make_acl_item πŸ”’
make_mz_acl_item πŸ”’
make_timestamp πŸ”’
map_build πŸ”’
map_contains_all_keys πŸ”’
map_contains_any_keys πŸ”’
map_contains_key πŸ”’
map_contains_map πŸ”’
map_get_value πŸ”’
mod_float32 πŸ”’
mod_float64 πŸ”’
mod_int16 πŸ”’
mod_int32 πŸ”’
mod_int64 πŸ”’
mod_numeric πŸ”’
mod_uint16 πŸ”’
mod_uint32 πŸ”’
mod_uint64 πŸ”’
mul_float32 πŸ”’
mul_float64 πŸ”’
mul_int16 πŸ”’
mul_int32 πŸ”’
mul_int64 πŸ”’
mul_interval πŸ”’
mul_numeric πŸ”’
mul_uint16 πŸ”’
mul_uint32 πŸ”’
mul_uint64 πŸ”’
mz_acl_item_contains_privilege πŸ”’
Determines if an mz_aclitem contains one of the specified privileges. This will return true if any of the listed privileges are contained in the mz_aclitem.
mz_render_typmod πŸ”’
neg_interval_inner πŸ”’
not_eq πŸ”’
or
pad_leading πŸ”’
parse_ident πŸ”’
parse_timezone πŸ”’
Parses a named timezone like EST or America/New_York, or a fixed-offset timezone like -05:00.
position πŸ”’
power πŸ”’
power_numeric πŸ”’
pretty_sql πŸ”’
range_adjacent πŸ”’
range_after πŸ”’
range_before πŸ”’
range_contains_range πŸ”’
range_contains_range_rev πŸ”’
range_difference πŸ”’
range_intersection πŸ”’
range_overlaps πŸ”’
range_overleft πŸ”’
range_overright πŸ”’
range_union πŸ”’
regexp_match_dynamic πŸ”’
regexp_match_static πŸ”’
regexp_replace_dynamic πŸ”’
regexp_replace_parse_flags πŸ”’
Sets limit based on the presence of β€˜g’ in flags for use in Regex::replacen, and removes β€˜g’ from flags if present.
regexp_replace_static πŸ”’
regexp_split_to_array πŸ”’
regexp_split_to_array_re πŸ”’
repeat_string πŸ”’
replace πŸ”’
right πŸ”’
round_numeric_binary πŸ”’
split_part πŸ”’
starts_with πŸ”’
string_to_array πŸ”’
string_to_array_impl πŸ”’
stringify_datum πŸ”’
sub_date πŸ”’
sub_date_interval πŸ”’
sub_float32 πŸ”’
sub_float64 πŸ”’
sub_int16 πŸ”’
sub_int32 πŸ”’
sub_int64 πŸ”’
sub_interval πŸ”’
sub_numeric πŸ”’
sub_time πŸ”’
sub_time_interval πŸ”’
sub_timestamp πŸ”’
sub_timestamplike_interval πŸ”’
sub_timestamptz πŸ”’
sub_uint16 πŸ”’
sub_uint32 πŸ”’
sub_uint64 πŸ”’
substr πŸ”’
text_concat_binary πŸ”’
text_concat_variadic πŸ”’
text_concat_ws πŸ”’
timezone_interval_time πŸ”’
Converts the time datum b, which is assumed to be in UTC, to the timezone that the interval datum a is assumed to represent. The interval is not allowed to hold months, but there are no limits on the amount of seconds. The interval acts like a chrono::FixedOffset, without the -86,400 < x < 86,400 limitation.
timezone_interval_timestamp πŸ”’
Converts the timestamp datum b, which is assumed to be in the time of the timezone datum a to a timestamptz in UTC. The interval is not allowed to hold months, but there are no limits on the amount of seconds. The interval acts like a chrono::FixedOffset, without the -86,400 < x < 86,400 limitation.
timezone_interval_timestamptz πŸ”’
Converts the UTC timestamptz datum b, to the local timestamp of the timezone datum a. The interval is not allowed to hold months, but there are no limits on the amount of seconds. The interval acts like a chrono::FixedOffset, without the -86,400 < x < 86,400 limitation.
timezone_offset πŸ”’
to_char_timestamplike πŸ”’
translate πŸ”’
trim πŸ”’
trim_leading πŸ”’
trim_trailing πŸ”’
uuid_generate_v5 πŸ”’