diesel::pg::expression

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§

Functions§

  • 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.
  • Creates an ARRAY[e1, e2, ...] or ARRAY(subselect) expression.
  • Append an element to the end of an array
  • Concatenates two arrays
  • Returns a text representation of the array’s dimensions
  • 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.
  • Returns an array initialized with supplied value and dimensions, with lower bounds other than 1
  • Returns the length of the requested array
  • Returns the lower bound of the requested array
  • Returns the number of dimensions of the array
  • 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].
  • 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.
  • Returns an array of the subscripts of all occurrences of the second argument in the array given as first argument.
  • Prepends an element to the beginning of an array
  • Removes all elements equal to the given value from the array
  • Replace all occurrences of an element in an array with a given element
  • Returns an array of n items randomly selected from array. n may not exceed the length of the array.
  • Randomly shuffles the first dimension of the array.
  • Converts any Array to json.
  • 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.
  • 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.
  • Returns the upper bound of the requested array
  • Computes the broadcast address for the address’s network.
  • Returns the total number of elements in the array, or 0 if the array is empty.
  • Returns range of dates
  • Returns the address’s family: 4 for IPv4, 6 for IPv6.
  • Returns the IP address as text, ignoring the netmask.
  • Computes the host mask for the address’s network.
  • Computes the smallest network that includes both of the given networks.
  • Tests whether the addresses belong to the same IP family.
  • Returns range of integer
  • Returns range of big ints
  • Returns true if the range is empty
  • Returns the number of elements in the top-level JSON array
  • 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 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.
  • 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.
  • Deletes all object fields that have null values from the given JSON value, recursively.
  • Returns the type of the top-level json value as a text-string
  • Returns the number of elements in the top-level JSON array
  • 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]
  • 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.
  • 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.
  • Converts the given json value to pretty-printed, indented text
  • 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.
  • 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.
  • 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.
  • Deletes all object fields that have null values from the given JSON value, recursively.
  • Returns the type of the top-level jsonb value as a text-string
  • Returns the lower bound of the range
  • Returns true if the range’s lower bound is inclusive
  • Returns true if the range’s lower bound is unbounded
  • Returns the netmask length in bits.
  • Returns the smallest range which includes all ranges in the multirange
  • Computes the network mask for the address’s 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.)
  • Returns range of numeric values
  • Returns the smallest range which includes both of the given ranges
  • This function row_to_json takes a Record type as an input and converts it to JSON.
  • 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.
  • Converts any SQL value to json
  • Converts any SQL value to jsonb
  • Trims an array by removing the last n elements. If the array is multidimensional, only the first dimension is trimmed.
  • Returns range of timestamps without timezone
  • Returns range of timestamps with timezone
  • Returns the upper bound of the range
  • Returns true if the range’s upper bound is inclusive
  • Returns true if the range’s upper bound is unbounded

Type Aliases§