Module dsl

Source
Available on crate feature postgres_backend only.
Expand description

PostgreSQL specific expression DSL methods.

This module will be glob imported by diesel::dsl when compiled with the feature = "postgres" flag.

Traits§

IntervalDsl
A DSL added to integers and f64 to construct PostgreSQL intervals.
IntoArrayExpression
Trait for types which can be converted into an expression of type Array
OnlyDsl
The only method
TablesampleDsl
The tablesample method

Functions§

abbrev
Creates an abbreviated display format as text.
allDeprecatedwith-deprecated and non-without-deprecated
Creates a PostgreSQL ALL expression.
anyDeprecatedwith-deprecated and non-without-deprecated
Creates a PostgreSQL ANY expression.
array
Creates an ARRAY[e1, e2, ...] or ARRAY(subselect) expression.
array_append
Append an element to the end of an array
array_cat
Concatenates two arrays
array_dims
Returns a text representation of the array’s dimensions
array_fill
Returns an array initialized with supplied value and dimensions, optionally with lower bounds other than 1. This function omits the optional lower bound argument. See array_fill_with_lower_bound for that.
array_fill_with_lower_bound
Returns an array initialized with supplied value and dimensions, with lower bounds other than 1
array_length
Returns the length of the requested array
array_lower
Returns the lower bound of the requested array
array_ndims
Returns the number of dimensions of the array
array_position
Returns the subscript of the first occurrence of the second argument in the array, or NULL if it’s not present. If the third argument is given, the search begins at that subscript. This function omits the third argument. See array_position_with_subscript.
array_position_with_subscript
Returns the subscript of the first occurrence of the second argument in the array, or NULL if it’s not present, beginning at the subscript given as the third argument.
array_positions
Returns an array of the subscripts of all occurrences of the second argument in the array given as first argument.
array_prepend
Prepends an element to the beginning of an array
array_remove
Removes all elements equal to the given value from the array
array_replace
Replace all occurrences of an element in an array with a given element
array_sample
Returns an array of n items randomly selected from array. n may not exceed the length of the array.
array_shuffle
Randomly shuffles the first dimension of the array.
array_to_json
Converts any Array to json.
array_to_string
Converts each array element to its text representation and concatenates those elements separated by the delimiter string. NULL entries are omitted in this variant. See array_to_string_with_null_string for a variant with that argument.
array_to_string_with_null_string
Converts each array element to its text representation and concatenates those elements separated by the delimiter string. If null_string is provided and is not NULL, then NULL array entries are represented by that string; otherwise, they are omitted.
array_upper
Returns the upper bound of the requested array
broadcast
Computes the broadcast address for the address’s network.
cardinality
Returns the total number of elements in the array, or 0 if the array is empty.
daterange
Returns range of dates
family
Returns the address’s family: 4 for IPv4, 6 for IPv6.
host
Returns the IP address as text, ignoring the netmask.
hostmask
Computes the host mask for the address’s network.
inet_merge
Computes the smallest network that includes both of the given networks.
inet_same_family
Tests whether the addresses belong to the same IP family.
int4range
Returns range of integer
int8range
Returns range of big ints
isempty
Returns true if the range is empty
json_array_length
Returns the number of elements in the top-level JSON array
json_object
Builds a JSON object out of a text array. The array must have an even number of members, in which case they are taken as alternating key/value pairs
json_object_with_keys_and_values
This form of json_object takes keys and values pairwise from two separate arrays. In all other respects it is identical to the one-argument form.
json_populate_record
This function json_populate_record takes a Record base and Json as an input and converts it to top-level JSON object to a row having the composite type of the base argument.
json_strip_nulls
Deletes all object fields that have null values from the given JSON value, recursively.
json_typeof
Returns the type of the top-level json value as a text-string
jsonb_array_length
Returns the number of elements in the top-level JSON array
jsonb_insert
Returns target with new_value inserted into base.
jsonb_insert_with_insert_after
Returns target with new_value inserted into base.
jsonb_object
Builds a JSON object out of a text array. The array must have an even number of members, in which case they are taken as alternating key/value pairs. This function also has a form that that takes keys and values as separate text array arguments. See jsonb_object_with_keys_and_values
jsonb_object_with_keys_and_values
This form of jsonb_object takes keys and values pairwise from two separate arrays. In all other respects it is identical to the one-argument form.
jsonb_populate_record
This function jsonb_populate_record takes a Record base and Jsonb as an input and converts it to top-level JSON object to a row having the composite type of the base argument.
jsonb_pretty
Converts the given json value to pretty-printed, indented text
jsonb_set
Returns target with the item designated by path replaced by new_value, or with new_value added and the item designated by path does not exist.
jsonb_set_create_if_missing
Returns target with the item designated by path replaced by new_value, or with new_value added if create_if_missing is true (which is the default) and the item designated by path does not exist.
jsonb_set_lax
Returns target with the item designated by path replaced by new_value, or with new_value added and the item designated by path does not exist.
jsonb_strip_nulls
Deletes all object fields that have null values from the given JSON value, recursively.
jsonb_typeof
Returns the type of the top-level jsonb value as a text-string
lower
Returns the lower bound of the range
lower_inc
Returns true if the range’s lower bound is inclusive
lower_inf
Returns true if the range’s lower bound is unbounded
masklen
Returns the netmask length in bits.
multirange_merge
Returns the smallest range which includes all ranges in the multirange
netmask
Computes the network mask for the address’s network.
network
Returns the network part of the address, zeroing out whatever is to the right of the netmask. (This is equivalent to casting the value to cidr.)
numrange
Returns range of numeric values
range_merge
Returns the smallest range which includes both of the given ranges
row_to_json
This function row_to_json takes a Record type as an input and converts it to JSON.
set_masklen
Sets the netmask length for an inet or cidr value. For inet, the address part does not changes. For cidr, address bits to the right of the new netmask are set to zero.
to_json
Converts any SQL value to json
to_jsonb
Converts any SQL value to jsonb
trim_array
Trims an array by removing the last n elements. If the array is multidimensional, only the first dimension is trimmed.
tsrange
Returns range of timestamps without timezone
tstzrange
Returns range of timestamps with timezone
upper
Returns the upper bound of the range
upper_inc
Returns true if the range’s upper bound is inclusive
upper_inf
Returns true if the range’s upper bound is unbounded

Type Aliases§

abbrev
The return type of abbrev()
array
Return type of array(tuple_or_subselect)
array_append
The return type of array_append()
array_cat
The return type of array_cat()
array_dims
The return type of array_dims()
array_fill
The return type of array_fill()
array_fill_with_lower_bound
The return type of array_fill_with_lower_bound()
array_length
The return type of array_length()
array_lower
The return type of array_lower()
array_ndims
The return type of array_ndims()
array_position
The return type of array_position()
array_position_with_subscript
The return type of array_position_with_subscript()
array_positions
The return type of array_positions()
array_prepend
The return type of array_prepend()
array_remove
The return type of array_remove()
array_replace
The return type of array_replace()
array_sample
The return type of array_sample()
array_shuffle
The return type of array_shuffle()
array_to_json
The return type of array_to_json()
array_to_string
The return type of array_to_string()
array_to_string_with_null_string
The return type of array_to_string_with_null_string()
array_upper
The return type of array_upper()
broadcast
The return type of broadcast()
cardinality
The return type of cardinality()
daterange
The return type of daterange()
family
The return type of family()
host
The return type of host()
hostmask
The return type of hostmask()
inet_merge
The return type of inet_merge()
inet_same_family
The return type of inet_same_family()
int4range
The return type of int4range()
int8range
The return type of int8range()
isempty
The return type of isempty()
json_array_length
The return type of json_array_length()
json_object
The return type of json_object()
json_object_with_keys_and_values
The return type of json_object_with_keys_and_values()
json_populate_record
The return type of json_populate_record()
json_strip_nulls
The return type of json_strip_nulls()
json_typeof
The return type of json_typeof()
jsonb_array_length
The return type of jsonb_array_length()
jsonb_insert
The return type of jsonb_insert()
jsonb_insert_with_insert_after
The return type of jsonb_insert_with_insert_after()
jsonb_object
The return type of jsonb_object()
jsonb_object_with_keys_and_values
The return type of jsonb_object_with_keys_and_values()
jsonb_populate_record
The return type of jsonb_populate_record()
jsonb_pretty
The return type of jsonb_pretty()
jsonb_set
The return type of jsonb_set()
jsonb_set_create_if_missing
The return type of jsonb_set_create_if_missing()
jsonb_set_lax
The return type of jsonb_set_lax()
jsonb_strip_nulls
The return type of jsonb_strip_nulls()
jsonb_typeof
The return type of jsonb_typeof()
lower
The return type of lower()
lower_inc
The return type of lower_inc()
lower_inf
The return type of lower_inf()
masklen
The return type of masklen()
multirange_merge
The return type of multirange_merge()
netmask
The return type of netmask()
network
The return type of network()
numrange
The return type of numrange()
range_merge
The return type of range_merge()
row_to_json
The return type of row_to_json()
set_masklen
The return type of set_masklen()
to_json
The return type of to_json()
to_jsonb
The return type of to_jsonb()
trim_array
The return type of trim_array()
tsrange
The return type of tsrange()
tstzrange
The return type of tstzrange()
upper
The return type of upper()
upper_inc
The return type of upper_inc()
upper_inf
The return type of upper_inf()