Polyfills by dialect¶
A polyfill is how Provisa gives a PostgreSQL client PostgreSQL's behaviour on a connector dialect Provisa sends SQL to: a serving engine's, or a source's a statement is sent to directly. Each dialect below has a table of every feature that has a polyfill or a limitation there: its read polyfill, read limitations, write polyfill and write limitations. A feature the dialect does natively with no difference from PostgreSQL is left out and counted. Each dialect's page prints the same table with the rules it runs.
PostgreSQL¶
154 of the grid's 154 features are native on PostgreSQL and left out.
| Feature | Read polyfill | Read limitations | Write polyfill | Write limitations |
|---|
DuckDB¶
89 of the grid's 154 features are native on DuckDB and left out.
| Feature | Read polyfill | Read limitations | Write polyfill | Write limitations |
|---|---|---|---|---|
| array_ndims The number of an array's dimensions. | | |||
| array_dims The text of an array's dimensions, such as [1:2][1:3]. | | |||
| array_lower The lower bound of a dimension: 1, as a list's index starts there. | | |||
| array_upper The upper bound of a dimension: its length. | | |||
| array_length The length of a dimension; NULL for a dimension the array does not have. | | |||
| array_fill An array of a value repeated to the dimensions given. | |
| ||
| array_eq Two arrays equal, a NULL element equal to a NULL element. | | |||
| array_ne Two arrays not equal, a NULL element equal to a NULL element. | | |||
| array_position The position of the first element equal to a value, a NULL equal to a NULL; NULL for none. | | |||
| array_positions The positions of every element equal to a value, a NULL equal to a NULL. | | |||
| array_replace Each element equal to a value replaced by another, a NULL equal to a NULL. | | |||
| array_sample A number of an array's elements, chosen at random. | | |||
| array_shuffle An array's elements in a random order. | | |||
| trim_array An array without its last elements. | | |||
| generate_subscripts The subscripts of a dimension, as rows, in either order. | | |||
| array_cat Two arrays concatenated; a NULL array is the other one, and two NULL arrays are NULL. | | |||
| array_lt One array before another, a NULL element after any value. | | |||
| array_le One array before or equal to another, a NULL element after any value. | | |||
| array_gt One array after another, a NULL element after any value. | | |||
| array_ge One array after or equal to another, a NULL element after any value. | | |||
| array_larger The larger of two arrays, a NULL element after any value. | | |||
| array_smaller The smaller of two arrays, a NULL element after any value. | | |||
| btarraycmp btree's comparison of two arrays: -1, 0 or 1, a NULL element after any value. | | |||
| pg_timezone_names The zones of the tz database, each with its abbreviation, offset and daylight flag now. | | |||
| timezone A value at a zone; a zone written as a POSIX offset ('+05:30') is that many hours west of UTC. | | |||
| record_eq Two records equal, a NULL field equal to a NULL field. | | |||
| record_ne Two records not equal, a NULL field equal to a NULL field. | | |||
| record_image_eq Two records of equal images, a NULL field equal to a NULL field. | | |||
| record_image_ne Two records of images not equal, a NULL field equal to a NULL field. | | |||
| record_lt One record before another. | | |||
| record_le One record before or equal to another. | | |||
| record_gt One record after another. | | |||
| record_ge One record after or equal to another. | | |||
| record_image_lt One record image before another. | | |||
| record_image_le One record image before or equal to another. | | |||
| record_image_gt One record image after another. | | |||
| record_image_ge One record image after or equal to another. | | |||
| money_text money's text, as cash_out writes it: $1,234.50, NULL for a NULL. | | |||
| pg_collation_for The collation a COLLATE clause gives a value, as quote_ident writes its name. | |
| ||
| ts_delete A vector without the lexemes a list holds; a NULL item of the list is skipped. | | |||
| macaddr_and The bitwise AND of two MAC addresses. | | |||
| macaddr_or The bitwise OR of two MAC addresses. | | |||
| macaddr_not The bitwise NOT of a MAC address. | | |||
| trunc A MAC address with its last three (macaddr) or five (macaddr8) bytes set to zero. | | |||
| int2_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int4_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int8shl A bigint shifted left, its count taken modulo 64, the result wrapping. | | |||
| int2shr A smallint shifted right, its sign kept, its count taken modulo 32. | | |||
| int4shr A integer shifted right, its sign kept, its count taken modulo 32. | | |||
| int8shr A bigint shifted right, its sign kept, its count taken modulo 64. | | |||
| factorial The product of the integers from 1 to n. | | |||
| numeric An integer as a numeric. | | |||
| bool An integer as a truth value: false for 0. | | |||
| oid A bigint as an oid. | | |||
| random A uniform random integer between two bounds, both included. | | |||
| date_mi The days from one date to another. | | |||
| date_pli A date moved forward by a number of days. | | |||
| date_mii A date moved back by a number of days. | | |||
| make_date A date of a year, a month and a day. | | |||
| transaction_timestamp The time the transaction began: now(), as Provisa answers it. | | |||
| mxid_age The age of a multixact id: INT_MAX for 0, and 1 less it, as Provisa makes no multixact. | | |||
| pg_char_to_encoding An encoding's number by any of PostgreSQL's names of it; -1 for a name of none. | |
| ||
| ntile The bucket of a row in a window, as an integer. | | |||
| numeric_mod The remainder of one numeric divided by another, at the larger scale of the two. | | |||
| spg_poly_quad_compress A polygon's bounding box, as the SP-GiST quad tree's compress function answers it. | |
Trino¶
8 of the grid's 154 features are native on Trino and left out.
| Feature | Read polyfill | Read limitations | Write polyfill | Write limitations |
|---|---|---|---|---|
| array_ndims The number of an array's dimensions. | | |||
| array_dims The text of an array's dimensions, such as [1:2][1:3]. | | |||
| array_lower The lower bound of a dimension: 1, as a list's index starts there. | | |||
| array_upper The upper bound of a dimension: its length. | | |||
| array_length The length of a dimension; NULL for a dimension the array does not have. | | |||
| array_fill An array of a value repeated to the dimensions given. | |
| ||
| array_eq Two arrays equal, a NULL element equal to a NULL element. | | |||
| array_ne Two arrays not equal, a NULL element equal to a NULL element. | | |||
| array_position The position of the first element equal to a value, a NULL equal to a NULL; NULL for none. | |
| ||
| array_positions The positions of every element equal to a value, a NULL equal to a NULL. | | |||
| array_replace Each element equal to a value replaced by another, a NULL equal to a NULL. | | |||
| array_sample A number of an array's elements, chosen at random. | | |||
| array_shuffle An array's elements in a random order. | | |||
| trim_array An array without its last elements. | | |||
| generate_subscripts The subscripts of a dimension, as rows, in either order. | |
| ||
| array_append An array with an element added at its end; a NULL array is read as an empty one. | | |||
| array_prepend An array with an element added at its start; a NULL array is read as an empty one. | | |||
| array_cat Two arrays concatenated; a NULL array is the other one, and two NULL arrays are NULL. | | |||
| array_lt One array before another, a NULL element after any value. | |
| ||
| array_le One array before or equal to another, a NULL element after any value. | |
| ||
| array_gt One array after another, a NULL element after any value. | |
| ||
| array_ge One array after or equal to another, a NULL element after any value. | |
| ||
| array_larger The larger of two arrays, a NULL element after any value. | |
| ||
| array_smaller The smaller of two arrays, a NULL element after any value. | |
| ||
| btarraycmp btree's comparison of two arrays: -1, 0 or 1, a NULL element after any value. | |
| ||
| pg_timezone_names The zones of the tz database, each with its abbreviation, offset and daylight flag now. | |
| ||
| record_eq Two records equal, a NULL field equal to a NULL field. | | |||
| record_ne Two records not equal, a NULL field equal to a NULL field. | | |||
| record_image_eq Two records of equal images, a NULL field equal to a NULL field. | | |||
| record_image_ne Two records of images not equal, a NULL field equal to a NULL field. | | |||
| record_lt One record before another. | |
| ||
| record_le One record before or equal to another. | |
| ||
| record_gt One record after another. | |
| ||
| record_ge One record after or equal to another. | |
| ||
| record_image_lt One record image before another. | |
| ||
| record_image_le One record image before or equal to another. | |
| ||
| record_image_gt One record image after another. | |
| ||
| record_image_ge One record image after or equal to another. | |
| ||
| money_text money's text, as cash_out writes it: $1,234.50, NULL for a NULL. | | |||
| interval_in interval_in of a NULL: PostgreSQL's NULL of interval; of a constant, its interval. | |
| ||
| jsonb_in jsonb_in of a NULL: PostgreSQL's NULL of jsonb. | |
| ||
| xid8in xid8in of a NULL: PostgreSQL's NULL of xid8. | |
| ||
| regexp_replace The first match replaced, or every one with the g flag; i and c set the case. | |
| ||
| pg_collation_for The collation a COLLATE clause gives a value, as quote_ident writes its name. | |
| ||
| text_lt One text before another in the database's collation. | |
| ||
| text_le One text before or equal to another in the database's collation. | |
| ||
| text_gt One text after another in the database's collation. | |
| ||
| text_ge One text after or equal to another in the database's collation. | |
| ||
| text_larger The later of two texts in the database's collation. | |
| ||
| text_smaller The earlier of two texts in the database's collation. | |
| ||
| bpcharlt One character string before another in the database's collation. | |
| ||
| bpcharle One character string before or equal to another in the database's collation. | |
| ||
| bpchargt One character string after another in the database's collation. | |
| ||
| bpcharge One character string after or equal to another in the database's collation. | |
| ||
| bpcharcmp btree's comparison of two character strings in the database's collation. | |
| ||
| bpchar_larger The later of two character strings in the database's collation. | |
| ||
| bpchar_smaller The earlier of two character strings in the database's collation. | |
| ||
| ts_delete A vector without the lexemes a list holds; a NULL item of the list is skipped. | | |||
| inetand The bitwise AND of two addresses. | |
| ||
| inetor The bitwise OR of two addresses. | |
| ||
| network_cmp btree's comparison of two networks. | |
| ||
| network_eq Two networks equal. | |
| ||
| network_ne Two networks not equal. | |
| ||
| network_lt One network before another. | |
| ||
| network_le One network before or equal to another. | |
| ||
| network_gt One network after another. | |
| ||
| network_ge One network after or equal to another. | |
| ||
| network_larger The later of two networks. | |
| ||
| network_smaller The earlier of two networks. | |
| ||
| network_overlap Two networks that hold an address in common. | |
| ||
| network_sub A network strictly within another. | |
| ||
| network_subeq A network within or equal to another. | |
| ||
| network_sup A network strictly holding another. | |
| ||
| network_supeq A network holding or equal to another. | |
| ||
| broadcast The broadcast address of a network. | |
| ||
| family An address's family: 4 or 6. | |
| ||
| host An address's text, without its mask length. | |
| ||
| network A network's address, its host bits cleared. | |
| ||
| macaddr_and The bitwise AND of two MAC addresses. | | |||
| macaddr_or The bitwise OR of two MAC addresses. | | |||
| macaddr_not The bitwise NOT of a MAC address. | | |||
| macaddr8_and The bitwise AND of two EUI-64 MAC addresses. | |
| ||
| macaddr8_or The bitwise OR of two EUI-64 MAC addresses. | |
| ||
| macaddr8_not The bitwise NOT of an EUI-64 MAC address. | |
| ||
| macaddr8_set7bit An EUI-64 MAC address with its 7th bit set. | |
| ||
| trunc A MAC address with its last three (macaddr) or five (macaddr8) bytes set to zero. | |
| ||
| xid8 A value of type xid8. | |
| ||
| xid The 32-bit transaction ID of an xid8. | |
| ||
| xid8cmp btree's comparison of two xid8 values. | |
| ||
| xid8_larger The larger of two xid8 values. | |
| ||
| xid8_smaller The smaller of two xid8 values. | |
| ||
| pg_xact_status A transaction's commit status. | |
| ||
| pg_lsn_pli A WAL position moved forward by a number of bytes. | |
| ||
| pg_lsn_mii A WAL position moved back by a number of bytes. | |
| ||
| numeric_pl_pg_lsn A number of bytes added to a WAL position. | |
| ||
| pg_lsn_larger The later of two WAL positions. | |
| ||
| pg_lsn_smaller The earlier of two WAL positions. | |
| ||
| lower The lower bound of a range or multirange. | |
| ||
| upper The upper bound of a range or multirange. | |
| ||
| unnest The ranges of a multirange, or the lexemes of a tsvector, as rows. | |
| ||
| max The largest value of an aggregate. | |
| ||
| min The smallest value of an aggregate. | |
| ||
| int2_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int4_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int8shl A bigint shifted left, its count taken modulo 64, the result wrapping. | | |||
| int2shr A smallint shifted right, its sign kept, its count taken modulo 32. | | |||
| int4shr A integer shifted right, its sign kept, its count taken modulo 32. | | |||
| int8shr A bigint shifted right, its sign kept, its count taken modulo 64. | | |||
| factorial The product of the integers from 1 to n. | |
| ||
| numeric An integer as a numeric. | |
| ||
| bool An integer as a truth value: false for 0. | |
| ||
| oid A bigint as an oid. | | |||
| random A uniform random integer between two bounds, both included. | |
| ||
| date_mi The days from one date to another. | | |||
| date_pli A date moved forward by a number of days. | | |||
| date_mii A date moved back by a number of days. | | |||
| time_mi_time The interval from one time of day to another. | |
| ||
| make_date A date of a year, a month and a day. | |
| ||
| transaction_timestamp The time the transaction began: now(), as Provisa answers it. | | |||
| generate_series A series of integers, as rows. | |
| ||
| lag The value of the previous row of a window. | |
| ||
| lead The value of the next row of a window. | |
| ||
| string_agg The values of an aggregate joined by a delimiter. | |
| ||
| json_object A JSON object of arrays of keys and values. | |
| ||
| pg_conf_load_time The time the server's configuration was last read. | |
| ||
| pg_my_temp_schema The oid of the session's temporary schema. | |
| ||
| pg_postmaster_start_time The time the server started. | |
| ||
| pg_isolation_test_session_is_blocked Whether a session waits on another's lock. | |
| ||
| postgresql_fdw_validator Whether the options of a foreign-data wrapper are valid. | |
| ||
| array_out An array's text, as a cast of it to text writes it: {1,NULL,3}. | |
| ||
| age The age of a transaction id: INT_MAX for one that is no normal id (0, 1, 2). | |
| ||
| mxid_age The age of a multixact id: INT_MAX for 0, and 1 less it, as Provisa makes no multixact. | |
| ||
| pg_char_to_encoding An encoding's number by any of PostgreSQL's names of it; -1 for a name of none. | |
| ||
| int4multirange A multirange of integers, of ranges or of a VARIADIC array of them. |
| |||
| int8multirange A multirange of bigints, of ranges or of a VARIADIC array of them. |
| |||
| nummultirange A multirange of numerics, of ranges or of a VARIADIC array of them. |
| |||
| datemultirange A multirange of dates, of ranges or of a VARIADIC array of them. |
| |||
| tsmultirange A multirange of timestamps, of ranges or of a VARIADIC array of them. |
| |||
| tstzmultirange A multirange of timestamps with time zone, of ranges or of a VARIADIC array of them. |
| |||
| json_agg A JSON array of an aggregate's values. | |
| ||
| json_build_object A JSON object of keys and values; each key is cast to its text. | |
| ||
| jsonb_build_object A JSON object of keys and values; each key is cast to its text. | |
| ||
| ntile The bucket of a row in a window, as an integer. | | |||
| numeric_mod The remainder of one numeric divided by another, at the larger scale of the two. | | |||
| current_schemas The schemas of the search path. | |
| ||
| spg_poly_quad_compress A polygon's bounding box, as the SP-GiST quad tree's compress function answers it. | |
Presto¶
8 of the grid's 154 features are native on Presto and left out.
| Feature | Read polyfill | Read limitations | Write polyfill | Write limitations |
|---|---|---|---|---|
| array_ndims The number of an array's dimensions. | | |||
| array_dims The text of an array's dimensions, such as [1:2][1:3]. | | |||
| array_lower The lower bound of a dimension: 1, as a list's index starts there. | | |||
| array_upper The upper bound of a dimension: its length. | | |||
| array_length The length of a dimension; NULL for a dimension the array does not have. | | |||
| array_fill An array of a value repeated to the dimensions given. | |
| ||
| array_eq Two arrays equal, a NULL element equal to a NULL element. | | |||
| array_ne Two arrays not equal, a NULL element equal to a NULL element. | | |||
| array_position The position of the first element equal to a value, a NULL equal to a NULL; NULL for none. | |
| ||
| array_positions The positions of every element equal to a value, a NULL equal to a NULL. | | |||
| array_replace Each element equal to a value replaced by another, a NULL equal to a NULL. | | |||
| array_sample A number of an array's elements, chosen at random. | | |||
| array_shuffle An array's elements in a random order. | | |||
| trim_array An array without its last elements. | | |||
| generate_subscripts The subscripts of a dimension, as rows, in either order. | |
| ||
| array_append An array with an element added at its end; a NULL array is read as an empty one. | | |||
| array_prepend An array with an element added at its start; a NULL array is read as an empty one. | | |||
| array_cat Two arrays concatenated; a NULL array is the other one, and two NULL arrays are NULL. | | |||
| array_lt One array before another, a NULL element after any value. | |
| ||
| array_le One array before or equal to another, a NULL element after any value. | |
| ||
| array_gt One array after another, a NULL element after any value. | |
| ||
| array_ge One array after or equal to another, a NULL element after any value. | |
| ||
| array_larger The larger of two arrays, a NULL element after any value. | |
| ||
| array_smaller The smaller of two arrays, a NULL element after any value. | |
| ||
| btarraycmp btree's comparison of two arrays: -1, 0 or 1, a NULL element after any value. | |
| ||
| pg_timezone_names The zones of the tz database, each with its abbreviation, offset and daylight flag now. | |
| ||
| record_eq Two records equal, a NULL field equal to a NULL field. | | |||
| record_ne Two records not equal, a NULL field equal to a NULL field. | | |||
| record_image_eq Two records of equal images, a NULL field equal to a NULL field. | | |||
| record_image_ne Two records of images not equal, a NULL field equal to a NULL field. | | |||
| record_lt One record before another. | |
| ||
| record_le One record before or equal to another. | |
| ||
| record_gt One record after another. | |
| ||
| record_ge One record after or equal to another. | |
| ||
| record_image_lt One record image before another. | |
| ||
| record_image_le One record image before or equal to another. | |
| ||
| record_image_gt One record image after another. | |
| ||
| record_image_ge One record image after or equal to another. | |
| ||
| money_text money's text, as cash_out writes it: $1,234.50, NULL for a NULL. | | |||
| interval_in interval_in of a NULL: PostgreSQL's NULL of interval; of a constant, its interval. | |
| ||
| jsonb_in jsonb_in of a NULL: PostgreSQL's NULL of jsonb. | |
| ||
| xid8in xid8in of a NULL: PostgreSQL's NULL of xid8. | |
| ||
| regexp_replace The first match replaced, or every one with the g flag; i and c set the case. | |
| ||
| pg_collation_for The collation a COLLATE clause gives a value, as quote_ident writes its name. | |
| ||
| text_lt One text before another in the database's collation. | |
| ||
| text_le One text before or equal to another in the database's collation. | |
| ||
| text_gt One text after another in the database's collation. | |
| ||
| text_ge One text after or equal to another in the database's collation. | |
| ||
| text_larger The later of two texts in the database's collation. | |
| ||
| text_smaller The earlier of two texts in the database's collation. | |
| ||
| bpcharlt One character string before another in the database's collation. | |
| ||
| bpcharle One character string before or equal to another in the database's collation. | |
| ||
| bpchargt One character string after another in the database's collation. | |
| ||
| bpcharge One character string after or equal to another in the database's collation. | |
| ||
| bpcharcmp btree's comparison of two character strings in the database's collation. | |
| ||
| bpchar_larger The later of two character strings in the database's collation. | |
| ||
| bpchar_smaller The earlier of two character strings in the database's collation. | |
| ||
| ts_delete A vector without the lexemes a list holds; a NULL item of the list is skipped. | | |||
| inetand The bitwise AND of two addresses. | |
| ||
| inetor The bitwise OR of two addresses. | |
| ||
| network_cmp btree's comparison of two networks. | |
| ||
| network_eq Two networks equal. | |
| ||
| network_ne Two networks not equal. | |
| ||
| network_lt One network before another. | |
| ||
| network_le One network before or equal to another. | |
| ||
| network_gt One network after another. | |
| ||
| network_ge One network after or equal to another. | |
| ||
| network_larger The later of two networks. | |
| ||
| network_smaller The earlier of two networks. | |
| ||
| network_overlap Two networks that hold an address in common. | |
| ||
| network_sub A network strictly within another. | |
| ||
| network_subeq A network within or equal to another. | |
| ||
| network_sup A network strictly holding another. | |
| ||
| network_supeq A network holding or equal to another. | |
| ||
| broadcast The broadcast address of a network. | |
| ||
| family An address's family: 4 or 6. | |
| ||
| host An address's text, without its mask length. | |
| ||
| network A network's address, its host bits cleared. | |
| ||
| macaddr_and The bitwise AND of two MAC addresses. | | |||
| macaddr_or The bitwise OR of two MAC addresses. | | |||
| macaddr_not The bitwise NOT of a MAC address. | | |||
| macaddr8_and The bitwise AND of two EUI-64 MAC addresses. | |
| ||
| macaddr8_or The bitwise OR of two EUI-64 MAC addresses. | |
| ||
| macaddr8_not The bitwise NOT of an EUI-64 MAC address. | |
| ||
| macaddr8_set7bit An EUI-64 MAC address with its 7th bit set. | |
| ||
| trunc A MAC address with its last three (macaddr) or five (macaddr8) bytes set to zero. | |
| ||
| xid8 A value of type xid8. | |
| ||
| xid The 32-bit transaction ID of an xid8. | |
| ||
| xid8cmp btree's comparison of two xid8 values. | |
| ||
| xid8_larger The larger of two xid8 values. | |
| ||
| xid8_smaller The smaller of two xid8 values. | |
| ||
| pg_xact_status A transaction's commit status. | |
| ||
| pg_lsn_pli A WAL position moved forward by a number of bytes. | |
| ||
| pg_lsn_mii A WAL position moved back by a number of bytes. | |
| ||
| numeric_pl_pg_lsn A number of bytes added to a WAL position. | |
| ||
| pg_lsn_larger The later of two WAL positions. | |
| ||
| pg_lsn_smaller The earlier of two WAL positions. | |
| ||
| lower The lower bound of a range or multirange. | |
| ||
| upper The upper bound of a range or multirange. | |
| ||
| unnest The ranges of a multirange, or the lexemes of a tsvector, as rows. | |
| ||
| max The largest value of an aggregate. | |
| ||
| min The smallest value of an aggregate. | |
| ||
| int2_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int4_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int8shl A bigint shifted left, its count taken modulo 64, the result wrapping. | | |||
| int2shr A smallint shifted right, its sign kept, its count taken modulo 32. | | |||
| int4shr A integer shifted right, its sign kept, its count taken modulo 32. | | |||
| int8shr A bigint shifted right, its sign kept, its count taken modulo 64. | | |||
| factorial The product of the integers from 1 to n. | |
| ||
| numeric An integer as a numeric. | |
| ||
| bool An integer as a truth value: false for 0. | |
| ||
| oid A bigint as an oid. | | |||
| random A uniform random integer between two bounds, both included. | |
| ||
| date_mi The days from one date to another. | | |||
| date_pli A date moved forward by a number of days. | | |||
| date_mii A date moved back by a number of days. | | |||
| time_mi_time The interval from one time of day to another. | |
| ||
| make_date A date of a year, a month and a day. | |
| ||
| transaction_timestamp The time the transaction began: now(), as Provisa answers it. | | |||
| generate_series A series of integers, as rows. | |
| ||
| lag The value of the previous row of a window. | |
| ||
| lead The value of the next row of a window. | |
| ||
| string_agg The values of an aggregate joined by a delimiter. | |
| ||
| json_object A JSON object of arrays of keys and values. | |
| ||
| pg_conf_load_time The time the server's configuration was last read. | |
| ||
| pg_my_temp_schema The oid of the session's temporary schema. | |
| ||
| pg_postmaster_start_time The time the server started. | |
| ||
| pg_isolation_test_session_is_blocked Whether a session waits on another's lock. | |
| ||
| postgresql_fdw_validator Whether the options of a foreign-data wrapper are valid. | |
| ||
| array_out An array's text, as a cast of it to text writes it: {1,NULL,3}. | |
| ||
| age The age of a transaction id: INT_MAX for one that is no normal id (0, 1, 2). | |
| ||
| mxid_age The age of a multixact id: INT_MAX for 0, and 1 less it, as Provisa makes no multixact. | |
| ||
| pg_char_to_encoding An encoding's number by any of PostgreSQL's names of it; -1 for a name of none. | |
| ||
| int4multirange A multirange of integers, of ranges or of a VARIADIC array of them. |
| |||
| int8multirange A multirange of bigints, of ranges or of a VARIADIC array of them. |
| |||
| nummultirange A multirange of numerics, of ranges or of a VARIADIC array of them. |
| |||
| datemultirange A multirange of dates, of ranges or of a VARIADIC array of them. |
| |||
| tsmultirange A multirange of timestamps, of ranges or of a VARIADIC array of them. |
| |||
| tstzmultirange A multirange of timestamps with time zone, of ranges or of a VARIADIC array of them. |
| |||
| json_agg A JSON array of an aggregate's values. | |
| ||
| json_build_object A JSON object of keys and values; each key is cast to its text. | |
| ||
| jsonb_build_object A JSON object of keys and values; each key is cast to its text. | |
| ||
| ntile The bucket of a row in a window, as an integer. | | |||
| numeric_mod The remainder of one numeric divided by another, at the larger scale of the two. | | |||
| current_schemas The schemas of the search path. | |
| ||
| spg_poly_quad_compress A polygon's bounding box, as the SP-GiST quad tree's compress function answers it. | |
Athena¶
8 of the grid's 154 features are native on Athena and left out.
| Feature | Read polyfill | Read limitations | Write polyfill | Write limitations |
|---|---|---|---|---|
| array_ndims The number of an array's dimensions. | | |||
| array_dims The text of an array's dimensions, such as [1:2][1:3]. | | |||
| array_lower The lower bound of a dimension: 1, as a list's index starts there. | | |||
| array_upper The upper bound of a dimension: its length. | | |||
| array_length The length of a dimension; NULL for a dimension the array does not have. | | |||
| array_fill An array of a value repeated to the dimensions given. | |
| ||
| array_eq Two arrays equal, a NULL element equal to a NULL element. | | |||
| array_ne Two arrays not equal, a NULL element equal to a NULL element. | | |||
| array_position The position of the first element equal to a value, a NULL equal to a NULL; NULL for none. | |
| ||
| array_positions The positions of every element equal to a value, a NULL equal to a NULL. | | |||
| array_replace Each element equal to a value replaced by another, a NULL equal to a NULL. | | |||
| array_sample A number of an array's elements, chosen at random. | | |||
| array_shuffle An array's elements in a random order. | | |||
| trim_array An array without its last elements. | | |||
| generate_subscripts The subscripts of a dimension, as rows, in either order. | |
| ||
| array_append An array with an element added at its end; a NULL array is read as an empty one. | | |||
| array_prepend An array with an element added at its start; a NULL array is read as an empty one. | | |||
| array_cat Two arrays concatenated; a NULL array is the other one, and two NULL arrays are NULL. | | |||
| array_lt One array before another, a NULL element after any value. | |
| ||
| array_le One array before or equal to another, a NULL element after any value. | |
| ||
| array_gt One array after another, a NULL element after any value. | |
| ||
| array_ge One array after or equal to another, a NULL element after any value. | |
| ||
| array_larger The larger of two arrays, a NULL element after any value. | |
| ||
| array_smaller The smaller of two arrays, a NULL element after any value. | |
| ||
| btarraycmp btree's comparison of two arrays: -1, 0 or 1, a NULL element after any value. | |
| ||
| pg_timezone_names The zones of the tz database, each with its abbreviation, offset and daylight flag now. | |
| ||
| record_eq Two records equal, a NULL field equal to a NULL field. | | |||
| record_ne Two records not equal, a NULL field equal to a NULL field. | | |||
| record_image_eq Two records of equal images, a NULL field equal to a NULL field. | | |||
| record_image_ne Two records of images not equal, a NULL field equal to a NULL field. | | |||
| record_lt One record before another. | |
| ||
| record_le One record before or equal to another. | |
| ||
| record_gt One record after another. | |
| ||
| record_ge One record after or equal to another. | |
| ||
| record_image_lt One record image before another. | |
| ||
| record_image_le One record image before or equal to another. | |
| ||
| record_image_gt One record image after another. | |
| ||
| record_image_ge One record image after or equal to another. | |
| ||
| money_text money's text, as cash_out writes it: $1,234.50, NULL for a NULL. | | |||
| interval_in interval_in of a NULL: PostgreSQL's NULL of interval; of a constant, its interval. | |
| ||
| jsonb_in jsonb_in of a NULL: PostgreSQL's NULL of jsonb. | |
| ||
| xid8in xid8in of a NULL: PostgreSQL's NULL of xid8. | |
| ||
| regexp_replace The first match replaced, or every one with the g flag; i and c set the case. | |
| ||
| pg_collation_for The collation a COLLATE clause gives a value, as quote_ident writes its name. | |
| ||
| text_lt One text before another in the database's collation. | |
| ||
| text_le One text before or equal to another in the database's collation. | |
| ||
| text_gt One text after another in the database's collation. | |
| ||
| text_ge One text after or equal to another in the database's collation. | |
| ||
| text_larger The later of two texts in the database's collation. | |
| ||
| text_smaller The earlier of two texts in the database's collation. | |
| ||
| bpcharlt One character string before another in the database's collation. | |
| ||
| bpcharle One character string before or equal to another in the database's collation. | |
| ||
| bpchargt One character string after another in the database's collation. | |
| ||
| bpcharge One character string after or equal to another in the database's collation. | |
| ||
| bpcharcmp btree's comparison of two character strings in the database's collation. | |
| ||
| bpchar_larger The later of two character strings in the database's collation. | |
| ||
| bpchar_smaller The earlier of two character strings in the database's collation. | |
| ||
| ts_delete A vector without the lexemes a list holds; a NULL item of the list is skipped. | | |||
| inetand The bitwise AND of two addresses. | |
| ||
| inetor The bitwise OR of two addresses. | |
| ||
| network_cmp btree's comparison of two networks. | |
| ||
| network_eq Two networks equal. | |
| ||
| network_ne Two networks not equal. | |
| ||
| network_lt One network before another. | |
| ||
| network_le One network before or equal to another. | |
| ||
| network_gt One network after another. | |
| ||
| network_ge One network after or equal to another. | |
| ||
| network_larger The later of two networks. | |
| ||
| network_smaller The earlier of two networks. | |
| ||
| network_overlap Two networks that hold an address in common. | |
| ||
| network_sub A network strictly within another. | |
| ||
| network_subeq A network within or equal to another. | |
| ||
| network_sup A network strictly holding another. | |
| ||
| network_supeq A network holding or equal to another. | |
| ||
| broadcast The broadcast address of a network. | |
| ||
| family An address's family: 4 or 6. | |
| ||
| host An address's text, without its mask length. | |
| ||
| network A network's address, its host bits cleared. | |
| ||
| macaddr_and The bitwise AND of two MAC addresses. | | |||
| macaddr_or The bitwise OR of two MAC addresses. | | |||
| macaddr_not The bitwise NOT of a MAC address. | | |||
| macaddr8_and The bitwise AND of two EUI-64 MAC addresses. | |
| ||
| macaddr8_or The bitwise OR of two EUI-64 MAC addresses. | |
| ||
| macaddr8_not The bitwise NOT of an EUI-64 MAC address. | |
| ||
| macaddr8_set7bit An EUI-64 MAC address with its 7th bit set. | |
| ||
| trunc A MAC address with its last three (macaddr) or five (macaddr8) bytes set to zero. | |
| ||
| xid8 A value of type xid8. | |
| ||
| xid The 32-bit transaction ID of an xid8. | |
| ||
| xid8cmp btree's comparison of two xid8 values. | |
| ||
| xid8_larger The larger of two xid8 values. | |
| ||
| xid8_smaller The smaller of two xid8 values. | |
| ||
| pg_xact_status A transaction's commit status. | |
| ||
| pg_lsn_pli A WAL position moved forward by a number of bytes. | |
| ||
| pg_lsn_mii A WAL position moved back by a number of bytes. | |
| ||
| numeric_pl_pg_lsn A number of bytes added to a WAL position. | |
| ||
| pg_lsn_larger The later of two WAL positions. | |
| ||
| pg_lsn_smaller The earlier of two WAL positions. | |
| ||
| lower The lower bound of a range or multirange. | |
| ||
| upper The upper bound of a range or multirange. | |
| ||
| unnest The ranges of a multirange, or the lexemes of a tsvector, as rows. | |
| ||
| max The largest value of an aggregate. | |
| ||
| min The smallest value of an aggregate. | |
| ||
| int2_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int4_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int8shl A bigint shifted left, its count taken modulo 64, the result wrapping. | | |||
| int2shr A smallint shifted right, its sign kept, its count taken modulo 32. | | |||
| int4shr A integer shifted right, its sign kept, its count taken modulo 32. | | |||
| int8shr A bigint shifted right, its sign kept, its count taken modulo 64. | | |||
| factorial The product of the integers from 1 to n. | |
| ||
| numeric An integer as a numeric. | |
| ||
| bool An integer as a truth value: false for 0. | |
| ||
| oid A bigint as an oid. | | |||
| random A uniform random integer between two bounds, both included. | |
| ||
| date_mi The days from one date to another. | | |||
| date_pli A date moved forward by a number of days. | | |||
| date_mii A date moved back by a number of days. | | |||
| time_mi_time The interval from one time of day to another. | |
| ||
| make_date A date of a year, a month and a day. | |
| ||
| transaction_timestamp The time the transaction began: now(), as Provisa answers it. | | |||
| generate_series A series of integers, as rows. | |
| ||
| lag The value of the previous row of a window. | |
| ||
| lead The value of the next row of a window. | |
| ||
| string_agg The values of an aggregate joined by a delimiter. | |
| ||
| json_object A JSON object of arrays of keys and values. | |
| ||
| pg_conf_load_time The time the server's configuration was last read. | |
| ||
| pg_my_temp_schema The oid of the session's temporary schema. | |
| ||
| pg_postmaster_start_time The time the server started. | |
| ||
| pg_isolation_test_session_is_blocked Whether a session waits on another's lock. | |
| ||
| postgresql_fdw_validator Whether the options of a foreign-data wrapper are valid. | |
| ||
| array_out An array's text, as a cast of it to text writes it: {1,NULL,3}. | |
| ||
| age The age of a transaction id: INT_MAX for one that is no normal id (0, 1, 2). | |
| ||
| mxid_age The age of a multixact id: INT_MAX for 0, and 1 less it, as Provisa makes no multixact. | |
| ||
| pg_char_to_encoding An encoding's number by any of PostgreSQL's names of it; -1 for a name of none. | |
| ||
| int4multirange A multirange of integers, of ranges or of a VARIADIC array of them. |
| |||
| int8multirange A multirange of bigints, of ranges or of a VARIADIC array of them. |
| |||
| nummultirange A multirange of numerics, of ranges or of a VARIADIC array of them. |
| |||
| datemultirange A multirange of dates, of ranges or of a VARIADIC array of them. |
| |||
| tsmultirange A multirange of timestamps, of ranges or of a VARIADIC array of them. |
| |||
| tstzmultirange A multirange of timestamps with time zone, of ranges or of a VARIADIC array of them. |
| |||
| json_agg A JSON array of an aggregate's values. | |
| ||
| json_build_object A JSON object of keys and values; each key is cast to its text. | |
| ||
| jsonb_build_object A JSON object of keys and values; each key is cast to its text. | |
| ||
| ntile The bucket of a row in a window, as an integer. | | |||
| numeric_mod The remainder of one numeric divided by another, at the larger scale of the two. | | |||
| current_schemas The schemas of the search path. | |
| ||
| spg_poly_quad_compress A polygon's bounding box, as the SP-GiST quad tree's compress function answers it. | |
ClickHouse¶
37 of the grid's 154 features are native on ClickHouse and left out.
| Feature | Read polyfill | Read limitations | Write polyfill | Write limitations |
|---|---|---|---|---|
| array_ndims The number of an array's dimensions. | | |||
| array_dims The text of an array's dimensions, such as [1:2][1:3]. | | |||
| array_lower The lower bound of a dimension: 1, as a list's index starts there. | | |||
| array_upper The upper bound of a dimension: its length. | | |||
| array_length The length of a dimension; NULL for a dimension the array does not have. | | |||
| array_fill An array of a value repeated to the dimensions given. | |
| ||
| array_eq Two arrays equal, a NULL element equal to a NULL element. | | |||
| array_ne Two arrays not equal, a NULL element equal to a NULL element. | | |||
| array_position The position of the first element equal to a value, a NULL equal to a NULL; NULL for none. | |
| ||
| array_positions The positions of every element equal to a value, a NULL equal to a NULL. | | |||
| array_replace Each element equal to a value replaced by another, a NULL equal to a NULL. | | |||
| array_sample A number of an array's elements, chosen at random. | |
| ||
| array_shuffle An array's elements in a random order. | | |||
| trim_array An array without its last elements. | |
| ||
| generate_subscripts The subscripts of a dimension, as rows, in either order. | |
| ||
| array_append An array with an element added at its end; a NULL array is read as an empty one. | |
| ||
| array_prepend An array with an element added at its start; a NULL array is read as an empty one. | |
| ||
| array_cat Two arrays concatenated; a NULL array is the other one, and two NULL arrays are NULL. | |
| ||
| array_lt One array before another, a NULL element after any value. | | |||
| array_le One array before or equal to another, a NULL element after any value. | | |||
| array_gt One array after another, a NULL element after any value. | | |||
| array_ge One array after or equal to another, a NULL element after any value. | | |||
| array_larger The larger of two arrays, a NULL element after any value. | | |||
| array_smaller The smaller of two arrays, a NULL element after any value. | | |||
| btarraycmp btree's comparison of two arrays: -1, 0 or 1, a NULL element after any value. | | |||
| pg_timezone_names The zones of the tz database, each with its abbreviation, offset and daylight flag now. | |
| ||
| record_eq Two records equal, a NULL field equal to a NULL field. | |
| ||
| record_ne Two records not equal, a NULL field equal to a NULL field. | |
| ||
| record_image_eq Two records of equal images, a NULL field equal to a NULL field. | |
| ||
| record_image_ne Two records of images not equal, a NULL field equal to a NULL field. | |
| ||
| record_lt One record before another. | |
| ||
| record_le One record before or equal to another. | |
| ||
| record_gt One record after another. | |
| ||
| record_ge One record after or equal to another. | |
| ||
| record_image_lt One record image before another. | |
| ||
| record_image_le One record image before or equal to another. | |
| ||
| record_image_gt One record image after another. | |
| ||
| record_image_ge One record image after or equal to another. | |
| ||
| money_text money's text, as cash_out writes it: $1,234.50, NULL for a NULL. | |
| ||
| interval_in interval_in of a NULL: PostgreSQL's NULL of interval; of a constant, its interval. | |
| ||
| jsonb_in jsonb_in of a NULL: PostgreSQL's NULL of jsonb. | |
| ||
| xid8in xid8in of a NULL: PostgreSQL's NULL of xid8. | |
| ||
| regexp_replace The first match replaced, or every one with the g flag; i and c set the case. | |
| ||
| pg_collation_for The collation a COLLATE clause gives a value, as quote_ident writes its name. | |
| ||
| text_lt One text before another in the database's collation. | |
| ||
| text_le One text before or equal to another in the database's collation. | |
| ||
| text_gt One text after another in the database's collation. | |
| ||
| text_ge One text after or equal to another in the database's collation. | |
| ||
| text_larger The later of two texts in the database's collation. | |
| ||
| text_smaller The earlier of two texts in the database's collation. | |
| ||
| bpcharlt One character string before another in the database's collation. | |
| ||
| bpcharle One character string before or equal to another in the database's collation. | |
| ||
| bpchargt One character string after another in the database's collation. | |
| ||
| bpcharge One character string after or equal to another in the database's collation. | |
| ||
| bpcharcmp btree's comparison of two character strings in the database's collation. | |
| ||
| bpchar_larger The later of two character strings in the database's collation. | |
| ||
| bpchar_smaller The earlier of two character strings in the database's collation. | |
| ||
| ts_delete A vector without the lexemes a list holds; a NULL item of the list is skipped. | | |||
| broadcast The broadcast address of a network. | |
| ||
| family An address's family: 4 or 6. | |
| ||
| host An address's text, without its mask length. | |
| ||
| network A network's address, its host bits cleared. | |
| ||
| macaddr_and The bitwise AND of two MAC addresses. | | |||
| macaddr_or The bitwise OR of two MAC addresses. | | |||
| macaddr_not The bitwise NOT of a MAC address. | | |||
| trunc A MAC address with its last three (macaddr) or five (macaddr8) bytes set to zero. | | |||
| xid The 32-bit transaction ID of an xid8. | | |||
| lower The lower bound of a range or multirange. | |
| ||
| upper The upper bound of a range or multirange. | |
| ||
| unnest The ranges of a multirange, or the lexemes of a tsvector, as rows. | |
| ||
| max The largest value of an aggregate. | |
| ||
| min The smallest value of an aggregate. | |
| ||
| int2_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int4_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int8shl A bigint shifted left, its count taken modulo 64, the result wrapping. | | |||
| int2shr A smallint shifted right, its sign kept, its count taken modulo 32. | | |||
| int4shr A integer shifted right, its sign kept, its count taken modulo 32. | | |||
| int8shr A bigint shifted right, its sign kept, its count taken modulo 64. | | |||
| factorial The product of the integers from 1 to n. | | |||
| numeric An integer as a numeric. | |
| ||
| bool An integer as a truth value: false for 0. | |
| ||
| oid A bigint as an oid. | | |||
| random A uniform random integer between two bounds, both included. | |
| ||
| date_mi The days from one date to another. | | |||
| date_pli A date moved forward by a number of days. | | |||
| date_mii A date moved back by a number of days. | | |||
| make_date A date of a year, a month and a day. | |
| ||
| transaction_timestamp The time the transaction began: now(), as Provisa answers it. | | |||
| generate_series A series of integers, as rows. | |
| ||
| lag The value of the previous row of a window. | |
| ||
| lead The value of the next row of a window. | |
| ||
| string_agg The values of an aggregate joined by a delimiter. | |
| ||
| json_object A JSON object of arrays of keys and values. | |
| ||
| pg_conf_load_time The time the server's configuration was last read. | |
| ||
| pg_my_temp_schema The oid of the session's temporary schema. | |
| ||
| pg_postmaster_start_time The time the server started. | |
| ||
| age The age of a transaction id: INT_MAX for one that is no normal id (0, 1, 2). | |
| ||
| mxid_age The age of a multixact id: INT_MAX for 0, and 1 less it, as Provisa makes no multixact. | |
| ||
| pg_char_to_encoding An encoding's number by any of PostgreSQL's names of it; -1 for a name of none. | |
| ||
| int4multirange A multirange of integers, of ranges or of a VARIADIC array of them. |
| |||
| int8multirange A multirange of bigints, of ranges or of a VARIADIC array of them. |
| |||
| nummultirange A multirange of numerics, of ranges or of a VARIADIC array of them. |
| |||
| datemultirange A multirange of dates, of ranges or of a VARIADIC array of them. |
| |||
| tsmultirange A multirange of timestamps, of ranges or of a VARIADIC array of them. |
| |||
| tstzmultirange A multirange of timestamps with time zone, of ranges or of a VARIADIC array of them. |
| |||
| json_agg A JSON array of an aggregate's values. | |
| ||
| a NULL array A call PostgreSQL answers NULL for its NULL array argument, as that NULL. | |
| ||
| array_agg The values of an aggregate as an array, a NULL kept; NULL of no rows. | | |||
| date_trunc The start of a unit of a timestamp. | | |||
| date A text cast to a date. | |
| ||
| first_value The value of a row of a window. | |
| ||
| last_value The value of a row of a window. | |
| ||
| nth_value The value of a row of a window. | |
| ||
| ntile The bucket of a row in a window, as an integer. | |
| ||
| numeric_mod The remainder of one numeric divided by another, at the larger scale of the two. | |
| ||
| current_schemas The schemas of the search path. | |
| ||
| spg_poly_quad_compress A polygon's bounding box, as the SP-GiST quad tree's compress function answers it. | |
|
Snowflake¶
88 of the grid's 154 features are native on Snowflake and left out.
| Feature | Read polyfill | Read limitations | Write polyfill | Write limitations |
|---|---|---|---|---|
| array_ndims The number of an array's dimensions. | |
| ||
| array_dims The text of an array's dimensions, such as [1:2][1:3]. | |
| ||
| array_lower The lower bound of a dimension: 1, as a list's index starts there. | |
| ||
| array_upper The upper bound of a dimension: its length. | |
| ||
| array_length The length of a dimension; NULL for a dimension the array does not have. | |
| ||
| array_fill An array of a value repeated to the dimensions given. | |
| ||
| array_eq Two arrays equal, a NULL element equal to a NULL element. | | |||
| array_ne Two arrays not equal, a NULL element equal to a NULL element. | | |||
| array_position The position of the first element equal to a value, a NULL equal to a NULL; NULL for none. | |
| ||
| array_positions The positions of every element equal to a value, a NULL equal to a NULL. | |
| ||
| array_replace Each element equal to a value replaced by another, a NULL equal to a NULL. | |
| ||
| array_sample A number of an array's elements, chosen at random. | |
| ||
| array_shuffle An array's elements in a random order. | |
| ||
| trim_array An array without its last elements. | |
| ||
| generate_subscripts The subscripts of a dimension, as rows, in either order. | |
| ||
| array_cat Two arrays concatenated; a NULL array is the other one, and two NULL arrays are NULL. | |
| ||
| array_lt One array before another, a NULL element after any value. | | |||
| array_le One array before or equal to another, a NULL element after any value. | | |||
| array_gt One array after another, a NULL element after any value. | | |||
| array_ge One array after or equal to another, a NULL element after any value. | | |||
| array_larger The larger of two arrays, a NULL element after any value. | | |||
| array_smaller The smaller of two arrays, a NULL element after any value. | | |||
| btarraycmp btree's comparison of two arrays: -1, 0 or 1, a NULL element after any value. | | |||
| pg_timezone_names The zones of the tz database, each with its abbreviation, offset and daylight flag now. | |
| ||
| record_eq Two records equal, a NULL field equal to a NULL field. | | |||
| record_ne Two records not equal, a NULL field equal to a NULL field. | | |||
| record_image_eq Two records of equal images, a NULL field equal to a NULL field. | | |||
| record_image_ne Two records of images not equal, a NULL field equal to a NULL field. | | |||
| record_lt One record before another. | | |||
| record_le One record before or equal to another. | | |||
| record_gt One record after another. | | |||
| record_ge One record after or equal to another. | | |||
| record_image_lt One record image before another. | | |||
| record_image_le One record image before or equal to another. | | |||
| record_image_gt One record image after another. | | |||
| record_image_ge One record image after or equal to another. | | |||
| money_text money's text, as cash_out writes it: $1,234.50, NULL for a NULL. | |
| ||
| interval_in interval_in of a NULL: PostgreSQL's NULL of interval; of a constant, its interval. | |
| ||
| jsonb_in jsonb_in of a NULL: PostgreSQL's NULL of jsonb. | |
| ||
| xid8in xid8in of a NULL: PostgreSQL's NULL of xid8. | |
| ||
| pg_collation_for The collation a COLLATE clause gives a value, as quote_ident writes its name. | |
| ||
| macaddr_and The bitwise AND of two MAC addresses. | | |||
| macaddr_or The bitwise OR of two MAC addresses. | | |||
| macaddr_not The bitwise NOT of a MAC address. | | |||
| trunc A MAC address with its last three (macaddr) or five (macaddr8) bytes set to zero. | | |||
| int2_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int4_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int8shl A bigint shifted left, its count taken modulo 64, the result wrapping. | | |||
| int2shr A smallint shifted right, its sign kept, its count taken modulo 32. | | |||
| int4shr A integer shifted right, its sign kept, its count taken modulo 32. | | |||
| int8shr A bigint shifted right, its sign kept, its count taken modulo 64. | | |||
| factorial The product of the integers from 1 to n. | | |||
| numeric An integer as a numeric. | | |||
| bool An integer as a truth value: false for 0. | | |||
| oid A bigint as an oid. | | |||
| random A uniform random integer between two bounds, both included. | | |||
| date_mi The days from one date to another. | | |||
| date_pli A date moved forward by a number of days. | | |||
| date_mii A date moved back by a number of days. | | |||
| make_date A date of a year, a month and a day. | | |||
| transaction_timestamp The time the transaction began: now(), as Provisa answers it. | | |||
| mxid_age The age of a multixact id: INT_MAX for 0, and 1 less it, as Provisa makes no multixact. | | |||
| pg_char_to_encoding An encoding's number by any of PostgreSQL's names of it; -1 for a name of none. | |
| ||
| ntile The bucket of a row in a window, as an integer. | | |||
| numeric_mod The remainder of one numeric divided by another, at the larger scale of the two. | | |||
| spg_poly_quad_compress A polygon's bounding box, as the SP-GiST quad tree's compress function answers it. | |
Databricks¶
88 of the grid's 154 features are native on Databricks and left out.
| Feature | Read polyfill | Read limitations | Write polyfill | Write limitations |
|---|---|---|---|---|
| array_ndims The number of an array's dimensions. | |
| ||
| array_dims The text of an array's dimensions, such as [1:2][1:3]. | |
| ||
| array_lower The lower bound of a dimension: 1, as a list's index starts there. | |
| ||
| array_upper The upper bound of a dimension: its length. | |
| ||
| array_length The length of a dimension; NULL for a dimension the array does not have. | |
| ||
| array_fill An array of a value repeated to the dimensions given. | |
| ||
| array_eq Two arrays equal, a NULL element equal to a NULL element. | | |||
| array_ne Two arrays not equal, a NULL element equal to a NULL element. | | |||
| array_position The position of the first element equal to a value, a NULL equal to a NULL; NULL for none. | |
| ||
| array_positions The positions of every element equal to a value, a NULL equal to a NULL. | |
| ||
| array_replace Each element equal to a value replaced by another, a NULL equal to a NULL. | |
| ||
| array_sample A number of an array's elements, chosen at random. | |
| ||
| array_shuffle An array's elements in a random order. | |
| ||
| trim_array An array without its last elements. | |
| ||
| generate_subscripts The subscripts of a dimension, as rows, in either order. | |
| ||
| array_cat Two arrays concatenated; a NULL array is the other one, and two NULL arrays are NULL. | |
| ||
| array_lt One array before another, a NULL element after any value. | | |||
| array_le One array before or equal to another, a NULL element after any value. | | |||
| array_gt One array after another, a NULL element after any value. | | |||
| array_ge One array after or equal to another, a NULL element after any value. | | |||
| array_larger The larger of two arrays, a NULL element after any value. | | |||
| array_smaller The smaller of two arrays, a NULL element after any value. | | |||
| btarraycmp btree's comparison of two arrays: -1, 0 or 1, a NULL element after any value. | | |||
| pg_timezone_names The zones of the tz database, each with its abbreviation, offset and daylight flag now. | |
| ||
| record_eq Two records equal, a NULL field equal to a NULL field. | | |||
| record_ne Two records not equal, a NULL field equal to a NULL field. | | |||
| record_image_eq Two records of equal images, a NULL field equal to a NULL field. | | |||
| record_image_ne Two records of images not equal, a NULL field equal to a NULL field. | | |||
| record_lt One record before another. | | |||
| record_le One record before or equal to another. | | |||
| record_gt One record after another. | | |||
| record_ge One record after or equal to another. | | |||
| record_image_lt One record image before another. | | |||
| record_image_le One record image before or equal to another. | | |||
| record_image_gt One record image after another. | | |||
| record_image_ge One record image after or equal to another. | | |||
| money_text money's text, as cash_out writes it: $1,234.50, NULL for a NULL. | |
| ||
| interval_in interval_in of a NULL: PostgreSQL's NULL of interval; of a constant, its interval. | |
| ||
| jsonb_in jsonb_in of a NULL: PostgreSQL's NULL of jsonb. | |
| ||
| xid8in xid8in of a NULL: PostgreSQL's NULL of xid8. | |
| ||
| pg_collation_for The collation a COLLATE clause gives a value, as quote_ident writes its name. | |
| ||
| macaddr_and The bitwise AND of two MAC addresses. | | |||
| macaddr_or The bitwise OR of two MAC addresses. | | |||
| macaddr_not The bitwise NOT of a MAC address. | | |||
| trunc A MAC address with its last three (macaddr) or five (macaddr8) bytes set to zero. | | |||
| int2_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int4_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int8shl A bigint shifted left, its count taken modulo 64, the result wrapping. | | |||
| int2shr A smallint shifted right, its sign kept, its count taken modulo 32. | | |||
| int4shr A integer shifted right, its sign kept, its count taken modulo 32. | | |||
| int8shr A bigint shifted right, its sign kept, its count taken modulo 64. | | |||
| factorial The product of the integers from 1 to n. | | |||
| numeric An integer as a numeric. | | |||
| bool An integer as a truth value: false for 0. | | |||
| oid A bigint as an oid. | | |||
| random A uniform random integer between two bounds, both included. | | |||
| date_mi The days from one date to another. | | |||
| date_pli A date moved forward by a number of days. | | |||
| date_mii A date moved back by a number of days. | | |||
| make_date A date of a year, a month and a day. | | |||
| transaction_timestamp The time the transaction began: now(), as Provisa answers it. | | |||
| mxid_age The age of a multixact id: INT_MAX for 0, and 1 less it, as Provisa makes no multixact. | | |||
| pg_char_to_encoding An encoding's number by any of PostgreSQL's names of it; -1 for a name of none. | |
| ||
| ntile The bucket of a row in a window, as an integer. | | |||
| numeric_mod The remainder of one numeric divided by another, at the larger scale of the two. | | |||
| spg_poly_quad_compress A polygon's bounding box, as the SP-GiST quad tree's compress function answers it. | |
BigQuery¶
88 of the grid's 154 features are native on BigQuery and left out.
| Feature | Read polyfill | Read limitations | Write polyfill | Write limitations |
|---|---|---|---|---|
| array_ndims The number of an array's dimensions. | |
| ||
| array_dims The text of an array's dimensions, such as [1:2][1:3]. | |
| ||
| array_lower The lower bound of a dimension: 1, as a list's index starts there. | |
| ||
| array_upper The upper bound of a dimension: its length. | |
| ||
| array_length The length of a dimension; NULL for a dimension the array does not have. | |
| ||
| array_fill An array of a value repeated to the dimensions given. | |
| ||
| array_eq Two arrays equal, a NULL element equal to a NULL element. | | |||
| array_ne Two arrays not equal, a NULL element equal to a NULL element. | | |||
| array_position The position of the first element equal to a value, a NULL equal to a NULL; NULL for none. | |
| ||
| array_positions The positions of every element equal to a value, a NULL equal to a NULL. | |
| ||
| array_replace Each element equal to a value replaced by another, a NULL equal to a NULL. | |
| ||
| array_sample A number of an array's elements, chosen at random. | |
| ||
| array_shuffle An array's elements in a random order. | |
| ||
| trim_array An array without its last elements. | |
| ||
| generate_subscripts The subscripts of a dimension, as rows, in either order. | |
| ||
| array_cat Two arrays concatenated; a NULL array is the other one, and two NULL arrays are NULL. | |
| ||
| array_lt One array before another, a NULL element after any value. | | |||
| array_le One array before or equal to another, a NULL element after any value. | | |||
| array_gt One array after another, a NULL element after any value. | | |||
| array_ge One array after or equal to another, a NULL element after any value. | | |||
| array_larger The larger of two arrays, a NULL element after any value. | | |||
| array_smaller The smaller of two arrays, a NULL element after any value. | | |||
| btarraycmp btree's comparison of two arrays: -1, 0 or 1, a NULL element after any value. | | |||
| pg_timezone_names The zones of the tz database, each with its abbreviation, offset and daylight flag now. | |
| ||
| record_eq Two records equal, a NULL field equal to a NULL field. | | |||
| record_ne Two records not equal, a NULL field equal to a NULL field. | | |||
| record_image_eq Two records of equal images, a NULL field equal to a NULL field. | | |||
| record_image_ne Two records of images not equal, a NULL field equal to a NULL field. | | |||
| record_lt One record before another. | | |||
| record_le One record before or equal to another. | | |||
| record_gt One record after another. | | |||
| record_ge One record after or equal to another. | | |||
| record_image_lt One record image before another. | | |||
| record_image_le One record image before or equal to another. | | |||
| record_image_gt One record image after another. | | |||
| record_image_ge One record image after or equal to another. | | |||
| money_text money's text, as cash_out writes it: $1,234.50, NULL for a NULL. | |
| ||
| interval_in interval_in of a NULL: PostgreSQL's NULL of interval; of a constant, its interval. | |
| ||
| jsonb_in jsonb_in of a NULL: PostgreSQL's NULL of jsonb. | |
| ||
| xid8in xid8in of a NULL: PostgreSQL's NULL of xid8. | |
| ||
| pg_collation_for The collation a COLLATE clause gives a value, as quote_ident writes its name. | |
| ||
| macaddr_and The bitwise AND of two MAC addresses. | | |||
| macaddr_or The bitwise OR of two MAC addresses. | | |||
| macaddr_not The bitwise NOT of a MAC address. | | |||
| trunc A MAC address with its last three (macaddr) or five (macaddr8) bytes set to zero. | | |||
| int2_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int4_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int8shl A bigint shifted left, its count taken modulo 64, the result wrapping. | | |||
| int2shr A smallint shifted right, its sign kept, its count taken modulo 32. | | |||
| int4shr A integer shifted right, its sign kept, its count taken modulo 32. | | |||
| int8shr A bigint shifted right, its sign kept, its count taken modulo 64. | | |||
| factorial The product of the integers from 1 to n. | | |||
| numeric An integer as a numeric. | | |||
| bool An integer as a truth value: false for 0. | | |||
| oid A bigint as an oid. | | |||
| random A uniform random integer between two bounds, both included. | | |||
| date_mi The days from one date to another. | | |||
| date_pli A date moved forward by a number of days. | | |||
| date_mii A date moved back by a number of days. | | |||
| make_date A date of a year, a month and a day. | | |||
| transaction_timestamp The time the transaction began: now(), as Provisa answers it. | | |||
| mxid_age The age of a multixact id: INT_MAX for 0, and 1 less it, as Provisa makes no multixact. | | |||
| pg_char_to_encoding An encoding's number by any of PostgreSQL's names of it; -1 for a name of none. | |
| ||
| ntile The bucket of a row in a window, as an integer. | | |||
| numeric_mod The remainder of one numeric divided by another, at the larger scale of the two. | | |||
| spg_poly_quad_compress A polygon's bounding box, as the SP-GiST quad tree's compress function answers it. | |
T-SQL (SQL Server, Fabric, Synapse)¶
88 of the grid's 154 features are native on T-SQL (SQL Server, Fabric, Synapse) and left out.
| Feature | Read polyfill | Read limitations | Write polyfill | Write limitations |
|---|---|---|---|---|
| array_ndims The number of an array's dimensions. | |
| ||
| array_dims The text of an array's dimensions, such as [1:2][1:3]. | |
| ||
| array_lower The lower bound of a dimension: 1, as a list's index starts there. | |
| ||
| array_upper The upper bound of a dimension: its length. | |
| ||
| array_length The length of a dimension; NULL for a dimension the array does not have. | |
| ||
| array_fill An array of a value repeated to the dimensions given. | |
| ||
| array_eq Two arrays equal, a NULL element equal to a NULL element. | | |||
| array_ne Two arrays not equal, a NULL element equal to a NULL element. | | |||
| array_position The position of the first element equal to a value, a NULL equal to a NULL; NULL for none. | |
| ||
| array_positions The positions of every element equal to a value, a NULL equal to a NULL. | |
| ||
| array_replace Each element equal to a value replaced by another, a NULL equal to a NULL. | |
| ||
| array_sample A number of an array's elements, chosen at random. | |
| ||
| array_shuffle An array's elements in a random order. | |
| ||
| trim_array An array without its last elements. | |
| ||
| generate_subscripts The subscripts of a dimension, as rows, in either order. | |
| ||
| array_cat Two arrays concatenated; a NULL array is the other one, and two NULL arrays are NULL. | |
| ||
| array_lt One array before another, a NULL element after any value. | | |||
| array_le One array before or equal to another, a NULL element after any value. | | |||
| array_gt One array after another, a NULL element after any value. | | |||
| array_ge One array after or equal to another, a NULL element after any value. | | |||
| array_larger The larger of two arrays, a NULL element after any value. | | |||
| array_smaller The smaller of two arrays, a NULL element after any value. | | |||
| btarraycmp btree's comparison of two arrays: -1, 0 or 1, a NULL element after any value. | | |||
| pg_timezone_names The zones of the tz database, each with its abbreviation, offset and daylight flag now. | |
| ||
| record_eq Two records equal, a NULL field equal to a NULL field. | | |||
| record_ne Two records not equal, a NULL field equal to a NULL field. | | |||
| record_image_eq Two records of equal images, a NULL field equal to a NULL field. | | |||
| record_image_ne Two records of images not equal, a NULL field equal to a NULL field. | | |||
| record_lt One record before another. | | |||
| record_le One record before or equal to another. | | |||
| record_gt One record after another. | | |||
| record_ge One record after or equal to another. | | |||
| record_image_lt One record image before another. | | |||
| record_image_le One record image before or equal to another. | | |||
| record_image_gt One record image after another. | | |||
| record_image_ge One record image after or equal to another. | | |||
| money_text money's text, as cash_out writes it: $1,234.50, NULL for a NULL. | |
| ||
| interval_in interval_in of a NULL: PostgreSQL's NULL of interval; of a constant, its interval. | |
| ||
| jsonb_in jsonb_in of a NULL: PostgreSQL's NULL of jsonb. | |
| ||
| xid8in xid8in of a NULL: PostgreSQL's NULL of xid8. | |
| ||
| pg_collation_for The collation a COLLATE clause gives a value, as quote_ident writes its name. | |
| ||
| macaddr_and The bitwise AND of two MAC addresses. | | |||
| macaddr_or The bitwise OR of two MAC addresses. | | |||
| macaddr_not The bitwise NOT of a MAC address. | | |||
| trunc A MAC address with its last three (macaddr) or five (macaddr8) bytes set to zero. | | |||
| int2_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int4_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int8shl A bigint shifted left, its count taken modulo 64, the result wrapping. | | |||
| int2shr A smallint shifted right, its sign kept, its count taken modulo 32. | | |||
| int4shr A integer shifted right, its sign kept, its count taken modulo 32. | | |||
| int8shr A bigint shifted right, its sign kept, its count taken modulo 64. | | |||
| factorial The product of the integers from 1 to n. | | |||
| numeric An integer as a numeric. | | |||
| bool An integer as a truth value: false for 0. | | |||
| oid A bigint as an oid. | | |||
| random A uniform random integer between two bounds, both included. | | |||
| date_mi The days from one date to another. | | |||
| date_pli A date moved forward by a number of days. | | |||
| date_mii A date moved back by a number of days. | | |||
| make_date A date of a year, a month and a day. | | |||
| transaction_timestamp The time the transaction began: now(), as Provisa answers it. | | |||
| mxid_age The age of a multixact id: INT_MAX for 0, and 1 less it, as Provisa makes no multixact. | | |||
| pg_char_to_encoding An encoding's number by any of PostgreSQL's names of it; -1 for a name of none. | |
| ||
| ntile The bucket of a row in a window, as an integer. | | |||
| numeric_mod The remainder of one numeric divided by another, at the larger scale of the two. | | |||
| spg_poly_quad_compress A polygon's bounding box, as the SP-GiST quad tree's compress function answers it. | |
Redshift¶
88 of the grid's 154 features are native on Redshift and left out.
| Feature | Read polyfill | Read limitations | Write polyfill | Write limitations |
|---|---|---|---|---|
| array_ndims The number of an array's dimensions. | |
| ||
| array_dims The text of an array's dimensions, such as [1:2][1:3]. | |
| ||
| array_lower The lower bound of a dimension: 1, as a list's index starts there. | |
| ||
| array_upper The upper bound of a dimension: its length. | |
| ||
| array_length The length of a dimension; NULL for a dimension the array does not have. | |
| ||
| array_fill An array of a value repeated to the dimensions given. | |
| ||
| array_eq Two arrays equal, a NULL element equal to a NULL element. | | |||
| array_ne Two arrays not equal, a NULL element equal to a NULL element. | | |||
| array_position The position of the first element equal to a value, a NULL equal to a NULL; NULL for none. | |
| ||
| array_positions The positions of every element equal to a value, a NULL equal to a NULL. | |
| ||
| array_replace Each element equal to a value replaced by another, a NULL equal to a NULL. | |
| ||
| array_sample A number of an array's elements, chosen at random. | |
| ||
| array_shuffle An array's elements in a random order. | |
| ||
| trim_array An array without its last elements. | |
| ||
| generate_subscripts The subscripts of a dimension, as rows, in either order. | |
| ||
| array_cat Two arrays concatenated; a NULL array is the other one, and two NULL arrays are NULL. | |
| ||
| array_lt One array before another, a NULL element after any value. | | |||
| array_le One array before or equal to another, a NULL element after any value. | | |||
| array_gt One array after another, a NULL element after any value. | | |||
| array_ge One array after or equal to another, a NULL element after any value. | | |||
| array_larger The larger of two arrays, a NULL element after any value. | | |||
| array_smaller The smaller of two arrays, a NULL element after any value. | | |||
| btarraycmp btree's comparison of two arrays: -1, 0 or 1, a NULL element after any value. | | |||
| pg_timezone_names The zones of the tz database, each with its abbreviation, offset and daylight flag now. | |
| ||
| record_eq Two records equal, a NULL field equal to a NULL field. | | |||
| record_ne Two records not equal, a NULL field equal to a NULL field. | | |||
| record_image_eq Two records of equal images, a NULL field equal to a NULL field. | | |||
| record_image_ne Two records of images not equal, a NULL field equal to a NULL field. | | |||
| record_lt One record before another. | | |||
| record_le One record before or equal to another. | | |||
| record_gt One record after another. | | |||
| record_ge One record after or equal to another. | | |||
| record_image_lt One record image before another. | | |||
| record_image_le One record image before or equal to another. | | |||
| record_image_gt One record image after another. | | |||
| record_image_ge One record image after or equal to another. | | |||
| money_text money's text, as cash_out writes it: $1,234.50, NULL for a NULL. | |
| ||
| interval_in interval_in of a NULL: PostgreSQL's NULL of interval; of a constant, its interval. | |
| ||
| jsonb_in jsonb_in of a NULL: PostgreSQL's NULL of jsonb. | |
| ||
| xid8in xid8in of a NULL: PostgreSQL's NULL of xid8. | |
| ||
| pg_collation_for The collation a COLLATE clause gives a value, as quote_ident writes its name. | |
| ||
| macaddr_and The bitwise AND of two MAC addresses. | | |||
| macaddr_or The bitwise OR of two MAC addresses. | | |||
| macaddr_not The bitwise NOT of a MAC address. | | |||
| trunc A MAC address with its last three (macaddr) or five (macaddr8) bytes set to zero. | | |||
| int2_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int4_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int8shl A bigint shifted left, its count taken modulo 64, the result wrapping. | | |||
| int2shr A smallint shifted right, its sign kept, its count taken modulo 32. | | |||
| int4shr A integer shifted right, its sign kept, its count taken modulo 32. | | |||
| int8shr A bigint shifted right, its sign kept, its count taken modulo 64. | | |||
| factorial The product of the integers from 1 to n. | | |||
| numeric An integer as a numeric. | | |||
| bool An integer as a truth value: false for 0. | | |||
| oid A bigint as an oid. | | |||
| random A uniform random integer between two bounds, both included. | | |||
| date_mi The days from one date to another. | | |||
| date_pli A date moved forward by a number of days. | | |||
| date_mii A date moved back by a number of days. | | |||
| make_date A date of a year, a month and a day. | | |||
| transaction_timestamp The time the transaction began: now(), as Provisa answers it. | | |||
| mxid_age The age of a multixact id: INT_MAX for 0, and 1 less it, as Provisa makes no multixact. | | |||
| pg_char_to_encoding An encoding's number by any of PostgreSQL's names of it; -1 for a name of none. | |
| ||
| ntile The bucket of a row in a window, as an integer. | | |||
| numeric_mod The remainder of one numeric divided by another, at the larger scale of the two. | | |||
| spg_poly_quad_compress A polygon's bounding box, as the SP-GiST quad tree's compress function answers it. | |
MySQL¶
88 of the grid's 154 features are native on MySQL and left out.
| Feature | Read polyfill | Read limitations | Write polyfill | Write limitations |
|---|---|---|---|---|
| array_ndims The number of an array's dimensions. | |
| ||
| array_dims The text of an array's dimensions, such as [1:2][1:3]. | |
| ||
| array_lower The lower bound of a dimension: 1, as a list's index starts there. | |
| ||
| array_upper The upper bound of a dimension: its length. | |
| ||
| array_length The length of a dimension; NULL for a dimension the array does not have. | |
| ||
| array_fill An array of a value repeated to the dimensions given. | |
| ||
| array_eq Two arrays equal, a NULL element equal to a NULL element. | | |||
| array_ne Two arrays not equal, a NULL element equal to a NULL element. | | |||
| array_position The position of the first element equal to a value, a NULL equal to a NULL; NULL for none. | |
| ||
| array_positions The positions of every element equal to a value, a NULL equal to a NULL. | |
| ||
| array_replace Each element equal to a value replaced by another, a NULL equal to a NULL. | |
| ||
| array_sample A number of an array's elements, chosen at random. | |
| ||
| array_shuffle An array's elements in a random order. | |
| ||
| trim_array An array without its last elements. | |
| ||
| generate_subscripts The subscripts of a dimension, as rows, in either order. | |
| ||
| array_cat Two arrays concatenated; a NULL array is the other one, and two NULL arrays are NULL. | |
| ||
| array_lt One array before another, a NULL element after any value. | | |||
| array_le One array before or equal to another, a NULL element after any value. | | |||
| array_gt One array after another, a NULL element after any value. | | |||
| array_ge One array after or equal to another, a NULL element after any value. | | |||
| array_larger The larger of two arrays, a NULL element after any value. | | |||
| array_smaller The smaller of two arrays, a NULL element after any value. | | |||
| btarraycmp btree's comparison of two arrays: -1, 0 or 1, a NULL element after any value. | | |||
| pg_timezone_names The zones of the tz database, each with its abbreviation, offset and daylight flag now. | |
| ||
| record_eq Two records equal, a NULL field equal to a NULL field. | | |||
| record_ne Two records not equal, a NULL field equal to a NULL field. | | |||
| record_image_eq Two records of equal images, a NULL field equal to a NULL field. | | |||
| record_image_ne Two records of images not equal, a NULL field equal to a NULL field. | | |||
| record_lt One record before another. | | |||
| record_le One record before or equal to another. | | |||
| record_gt One record after another. | | |||
| record_ge One record after or equal to another. | | |||
| record_image_lt One record image before another. | | |||
| record_image_le One record image before or equal to another. | | |||
| record_image_gt One record image after another. | | |||
| record_image_ge One record image after or equal to another. | | |||
| money_text money's text, as cash_out writes it: $1,234.50, NULL for a NULL. | |
| ||
| interval_in interval_in of a NULL: PostgreSQL's NULL of interval; of a constant, its interval. | |
| ||
| jsonb_in jsonb_in of a NULL: PostgreSQL's NULL of jsonb. | |
| ||
| xid8in xid8in of a NULL: PostgreSQL's NULL of xid8. | |
| ||
| pg_collation_for The collation a COLLATE clause gives a value, as quote_ident writes its name. | |
| ||
| macaddr_and The bitwise AND of two MAC addresses. | | |||
| macaddr_or The bitwise OR of two MAC addresses. | | |||
| macaddr_not The bitwise NOT of a MAC address. | | |||
| trunc A MAC address with its last three (macaddr) or five (macaddr8) bytes set to zero. | | |||
| int2_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int4_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int8shl A bigint shifted left, its count taken modulo 64, the result wrapping. | | |||
| int2shr A smallint shifted right, its sign kept, its count taken modulo 32. | | |||
| int4shr A integer shifted right, its sign kept, its count taken modulo 32. | | |||
| int8shr A bigint shifted right, its sign kept, its count taken modulo 64. | | |||
| factorial The product of the integers from 1 to n. | | |||
| numeric An integer as a numeric. | | |||
| bool An integer as a truth value: false for 0. | | |||
| oid A bigint as an oid. | | |||
| random A uniform random integer between two bounds, both included. | | |||
| date_mi The days from one date to another. | | |||
| date_pli A date moved forward by a number of days. | | |||
| date_mii A date moved back by a number of days. | | |||
| make_date A date of a year, a month and a day. | | |||
| transaction_timestamp The time the transaction began: now(), as Provisa answers it. | | |||
| mxid_age The age of a multixact id: INT_MAX for 0, and 1 less it, as Provisa makes no multixact. | | |||
| pg_char_to_encoding An encoding's number by any of PostgreSQL's names of it; -1 for a name of none. | |
| ||
| ntile The bucket of a row in a window, as an integer. | | |||
| numeric_mod The remainder of one numeric divided by another, at the larger scale of the two. | | |||
| spg_poly_quad_compress A polygon's bounding box, as the SP-GiST quad tree's compress function answers it. | |
SingleStore¶
88 of the grid's 154 features are native on SingleStore and left out.
| Feature | Read polyfill | Read limitations | Write polyfill | Write limitations |
|---|---|---|---|---|
| array_ndims The number of an array's dimensions. | |
| ||
| array_dims The text of an array's dimensions, such as [1:2][1:3]. | |
| ||
| array_lower The lower bound of a dimension: 1, as a list's index starts there. | |
| ||
| array_upper The upper bound of a dimension: its length. | |
| ||
| array_length The length of a dimension; NULL for a dimension the array does not have. | |
| ||
| array_fill An array of a value repeated to the dimensions given. | |
| ||
| array_eq Two arrays equal, a NULL element equal to a NULL element. | | |||
| array_ne Two arrays not equal, a NULL element equal to a NULL element. | | |||
| array_position The position of the first element equal to a value, a NULL equal to a NULL; NULL for none. | |
| ||
| array_positions The positions of every element equal to a value, a NULL equal to a NULL. | |
| ||
| array_replace Each element equal to a value replaced by another, a NULL equal to a NULL. | |
| ||
| array_sample A number of an array's elements, chosen at random. | |
| ||
| array_shuffle An array's elements in a random order. | |
| ||
| trim_array An array without its last elements. | |
| ||
| generate_subscripts The subscripts of a dimension, as rows, in either order. | |
| ||
| array_cat Two arrays concatenated; a NULL array is the other one, and two NULL arrays are NULL. | |
| ||
| array_lt One array before another, a NULL element after any value. | | |||
| array_le One array before or equal to another, a NULL element after any value. | | |||
| array_gt One array after another, a NULL element after any value. | | |||
| array_ge One array after or equal to another, a NULL element after any value. | | |||
| array_larger The larger of two arrays, a NULL element after any value. | | |||
| array_smaller The smaller of two arrays, a NULL element after any value. | | |||
| btarraycmp btree's comparison of two arrays: -1, 0 or 1, a NULL element after any value. | | |||
| pg_timezone_names The zones of the tz database, each with its abbreviation, offset and daylight flag now. | |
| ||
| record_eq Two records equal, a NULL field equal to a NULL field. | | |||
| record_ne Two records not equal, a NULL field equal to a NULL field. | | |||
| record_image_eq Two records of equal images, a NULL field equal to a NULL field. | | |||
| record_image_ne Two records of images not equal, a NULL field equal to a NULL field. | | |||
| record_lt One record before another. | | |||
| record_le One record before or equal to another. | | |||
| record_gt One record after another. | | |||
| record_ge One record after or equal to another. | | |||
| record_image_lt One record image before another. | | |||
| record_image_le One record image before or equal to another. | | |||
| record_image_gt One record image after another. | | |||
| record_image_ge One record image after or equal to another. | | |||
| money_text money's text, as cash_out writes it: $1,234.50, NULL for a NULL. | |
| ||
| interval_in interval_in of a NULL: PostgreSQL's NULL of interval; of a constant, its interval. | |
| ||
| jsonb_in jsonb_in of a NULL: PostgreSQL's NULL of jsonb. | |
| ||
| xid8in xid8in of a NULL: PostgreSQL's NULL of xid8. | |
| ||
| pg_collation_for The collation a COLLATE clause gives a value, as quote_ident writes its name. | |
| ||
| macaddr_and The bitwise AND of two MAC addresses. | | |||
| macaddr_or The bitwise OR of two MAC addresses. | | |||
| macaddr_not The bitwise NOT of a MAC address. | | |||
| trunc A MAC address with its last three (macaddr) or five (macaddr8) bytes set to zero. | | |||
| int2_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int4_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int8shl A bigint shifted left, its count taken modulo 64, the result wrapping. | | |||
| int2shr A smallint shifted right, its sign kept, its count taken modulo 32. | | |||
| int4shr A integer shifted right, its sign kept, its count taken modulo 32. | | |||
| int8shr A bigint shifted right, its sign kept, its count taken modulo 64. | | |||
| factorial The product of the integers from 1 to n. | | |||
| numeric An integer as a numeric. | | |||
| bool An integer as a truth value: false for 0. | | |||
| oid A bigint as an oid. | | |||
| random A uniform random integer between two bounds, both included. | | |||
| date_mi The days from one date to another. | | |||
| date_pli A date moved forward by a number of days. | | |||
| date_mii A date moved back by a number of days. | | |||
| make_date A date of a year, a month and a day. | | |||
| transaction_timestamp The time the transaction began: now(), as Provisa answers it. | | |||
| mxid_age The age of a multixact id: INT_MAX for 0, and 1 less it, as Provisa makes no multixact. | | |||
| pg_char_to_encoding An encoding's number by any of PostgreSQL's names of it; -1 for a name of none. | |
| ||
| ntile The bucket of a row in a window, as an integer. | | |||
| numeric_mod The remainder of one numeric divided by another, at the larger scale of the two. | | |||
| spg_poly_quad_compress A polygon's bounding box, as the SP-GiST quad tree's compress function answers it. | |
SQLite¶
88 of the grid's 154 features are native on SQLite and left out.
| Feature | Read polyfill | Read limitations | Write polyfill | Write limitations |
|---|---|---|---|---|
| array_ndims The number of an array's dimensions. | |
| ||
| array_dims The text of an array's dimensions, such as [1:2][1:3]. | |
| ||
| array_lower The lower bound of a dimension: 1, as a list's index starts there. | |
| ||
| array_upper The upper bound of a dimension: its length. | |
| ||
| array_length The length of a dimension; NULL for a dimension the array does not have. | |
| ||
| array_fill An array of a value repeated to the dimensions given. | |
| ||
| array_eq Two arrays equal, a NULL element equal to a NULL element. | | |||
| array_ne Two arrays not equal, a NULL element equal to a NULL element. | | |||
| array_position The position of the first element equal to a value, a NULL equal to a NULL; NULL for none. | |
| ||
| array_positions The positions of every element equal to a value, a NULL equal to a NULL. | |
| ||
| array_replace Each element equal to a value replaced by another, a NULL equal to a NULL. | |
| ||
| array_sample A number of an array's elements, chosen at random. | |
| ||
| array_shuffle An array's elements in a random order. | |
| ||
| trim_array An array without its last elements. | |
| ||
| generate_subscripts The subscripts of a dimension, as rows, in either order. | |
| ||
| array_cat Two arrays concatenated; a NULL array is the other one, and two NULL arrays are NULL. | |
| ||
| array_lt One array before another, a NULL element after any value. | | |||
| array_le One array before or equal to another, a NULL element after any value. | | |||
| array_gt One array after another, a NULL element after any value. | | |||
| array_ge One array after or equal to another, a NULL element after any value. | | |||
| array_larger The larger of two arrays, a NULL element after any value. | | |||
| array_smaller The smaller of two arrays, a NULL element after any value. | | |||
| btarraycmp btree's comparison of two arrays: -1, 0 or 1, a NULL element after any value. | | |||
| pg_timezone_names The zones of the tz database, each with its abbreviation, offset and daylight flag now. | |
| ||
| record_eq Two records equal, a NULL field equal to a NULL field. | | |||
| record_ne Two records not equal, a NULL field equal to a NULL field. | | |||
| record_image_eq Two records of equal images, a NULL field equal to a NULL field. | | |||
| record_image_ne Two records of images not equal, a NULL field equal to a NULL field. | | |||
| record_lt One record before another. | | |||
| record_le One record before or equal to another. | | |||
| record_gt One record after another. | | |||
| record_ge One record after or equal to another. | | |||
| record_image_lt One record image before another. | | |||
| record_image_le One record image before or equal to another. | | |||
| record_image_gt One record image after another. | | |||
| record_image_ge One record image after or equal to another. | | |||
| money_text money's text, as cash_out writes it: $1,234.50, NULL for a NULL. | |
| ||
| interval_in interval_in of a NULL: PostgreSQL's NULL of interval; of a constant, its interval. | |
| ||
| jsonb_in jsonb_in of a NULL: PostgreSQL's NULL of jsonb. | |
| ||
| xid8in xid8in of a NULL: PostgreSQL's NULL of xid8. | |
| ||
| pg_collation_for The collation a COLLATE clause gives a value, as quote_ident writes its name. | |
| ||
| macaddr_and The bitwise AND of two MAC addresses. | | |||
| macaddr_or The bitwise OR of two MAC addresses. | | |||
| macaddr_not The bitwise NOT of a MAC address. | | |||
| trunc A MAC address with its last three (macaddr) or five (macaddr8) bytes set to zero. | | |||
| int2_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int4_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int8shl A bigint shifted left, its count taken modulo 64, the result wrapping. | | |||
| int2shr A smallint shifted right, its sign kept, its count taken modulo 32. | | |||
| int4shr A integer shifted right, its sign kept, its count taken modulo 32. | | |||
| int8shr A bigint shifted right, its sign kept, its count taken modulo 64. | | |||
| factorial The product of the integers from 1 to n. | | |||
| numeric An integer as a numeric. | | |||
| bool An integer as a truth value: false for 0. | | |||
| oid A bigint as an oid. | | |||
| random A uniform random integer between two bounds, both included. | | |||
| date_mi The days from one date to another. | | |||
| date_pli A date moved forward by a number of days. | | |||
| date_mii A date moved back by a number of days. | | |||
| make_date A date of a year, a month and a day. | | |||
| transaction_timestamp The time the transaction began: now(), as Provisa answers it. | | |||
| mxid_age The age of a multixact id: INT_MAX for 0, and 1 less it, as Provisa makes no multixact. | | |||
| pg_char_to_encoding An encoding's number by any of PostgreSQL's names of it; -1 for a name of none. | |
| ||
| ntile The bucket of a row in a window, as an integer. | | |||
| numeric_mod The remainder of one numeric divided by another, at the larger scale of the two. | | |||
| spg_poly_quad_compress A polygon's bounding box, as the SP-GiST quad tree's compress function answers it. | |
Oracle¶
88 of the grid's 154 features are native on Oracle and left out.
| Feature | Read polyfill | Read limitations | Write polyfill | Write limitations |
|---|---|---|---|---|
| array_ndims The number of an array's dimensions. | |
| ||
| array_dims The text of an array's dimensions, such as [1:2][1:3]. | |
| ||
| array_lower The lower bound of a dimension: 1, as a list's index starts there. | |
| ||
| array_upper The upper bound of a dimension: its length. | |
| ||
| array_length The length of a dimension; NULL for a dimension the array does not have. | |
| ||
| array_fill An array of a value repeated to the dimensions given. | |
| ||
| array_eq Two arrays equal, a NULL element equal to a NULL element. | | |||
| array_ne Two arrays not equal, a NULL element equal to a NULL element. | | |||
| array_position The position of the first element equal to a value, a NULL equal to a NULL; NULL for none. | |
| ||
| array_positions The positions of every element equal to a value, a NULL equal to a NULL. | |
| ||
| array_replace Each element equal to a value replaced by another, a NULL equal to a NULL. | |
| ||
| array_sample A number of an array's elements, chosen at random. | |
| ||
| array_shuffle An array's elements in a random order. | |
| ||
| trim_array An array without its last elements. | |
| ||
| generate_subscripts The subscripts of a dimension, as rows, in either order. | |
| ||
| array_cat Two arrays concatenated; a NULL array is the other one, and two NULL arrays are NULL. | |
| ||
| array_lt One array before another, a NULL element after any value. | | |||
| array_le One array before or equal to another, a NULL element after any value. | | |||
| array_gt One array after another, a NULL element after any value. | | |||
| array_ge One array after or equal to another, a NULL element after any value. | | |||
| array_larger The larger of two arrays, a NULL element after any value. | | |||
| array_smaller The smaller of two arrays, a NULL element after any value. | | |||
| btarraycmp btree's comparison of two arrays: -1, 0 or 1, a NULL element after any value. | | |||
| pg_timezone_names The zones of the tz database, each with its abbreviation, offset and daylight flag now. | |
| ||
| record_eq Two records equal, a NULL field equal to a NULL field. | | |||
| record_ne Two records not equal, a NULL field equal to a NULL field. | | |||
| record_image_eq Two records of equal images, a NULL field equal to a NULL field. | | |||
| record_image_ne Two records of images not equal, a NULL field equal to a NULL field. | | |||
| record_lt One record before another. | | |||
| record_le One record before or equal to another. | | |||
| record_gt One record after another. | | |||
| record_ge One record after or equal to another. | | |||
| record_image_lt One record image before another. | | |||
| record_image_le One record image before or equal to another. | | |||
| record_image_gt One record image after another. | | |||
| record_image_ge One record image after or equal to another. | | |||
| money_text money's text, as cash_out writes it: $1,234.50, NULL for a NULL. | |
| ||
| interval_in interval_in of a NULL: PostgreSQL's NULL of interval; of a constant, its interval. | |
| ||
| jsonb_in jsonb_in of a NULL: PostgreSQL's NULL of jsonb. | |
| ||
| xid8in xid8in of a NULL: PostgreSQL's NULL of xid8. | |
| ||
| pg_collation_for The collation a COLLATE clause gives a value, as quote_ident writes its name. | |
| ||
| macaddr_and The bitwise AND of two MAC addresses. | | |||
| macaddr_or The bitwise OR of two MAC addresses. | | |||
| macaddr_not The bitwise NOT of a MAC address. | | |||
| trunc A MAC address with its last three (macaddr) or five (macaddr8) bytes set to zero. | | |||
| int2_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int4_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int8shl A bigint shifted left, its count taken modulo 64, the result wrapping. | | |||
| int2shr A smallint shifted right, its sign kept, its count taken modulo 32. | | |||
| int4shr A integer shifted right, its sign kept, its count taken modulo 32. | | |||
| int8shr A bigint shifted right, its sign kept, its count taken modulo 64. | | |||
| factorial The product of the integers from 1 to n. | | |||
| numeric An integer as a numeric. | | |||
| bool An integer as a truth value: false for 0. | | |||
| oid A bigint as an oid. | | |||
| random A uniform random integer between two bounds, both included. | | |||
| date_mi The days from one date to another. | | |||
| date_pli A date moved forward by a number of days. | | |||
| date_mii A date moved back by a number of days. | | |||
| make_date A date of a year, a month and a day. | | |||
| transaction_timestamp The time the transaction began: now(), as Provisa answers it. | | |||
| mxid_age The age of a multixact id: INT_MAX for 0, and 1 less it, as Provisa makes no multixact. | | |||
| pg_char_to_encoding An encoding's number by any of PostgreSQL's names of it; -1 for a name of none. | |
| ||
| ntile The bucket of a row in a window, as an integer. | | |||
| numeric_mod The remainder of one numeric divided by another, at the larger scale of the two. | | |||
| spg_poly_quad_compress A polygon's bounding box, as the SP-GiST quad tree's compress function answers it. | |
Hive¶
88 of the grid's 154 features are native on Hive and left out.
| Feature | Read polyfill | Read limitations | Write polyfill | Write limitations |
|---|---|---|---|---|
| array_ndims The number of an array's dimensions. | |
| ||
| array_dims The text of an array's dimensions, such as [1:2][1:3]. | |
| ||
| array_lower The lower bound of a dimension: 1, as a list's index starts there. | |
| ||
| array_upper The upper bound of a dimension: its length. | |
| ||
| array_length The length of a dimension; NULL for a dimension the array does not have. | |
| ||
| array_fill An array of a value repeated to the dimensions given. | |
| ||
| array_eq Two arrays equal, a NULL element equal to a NULL element. | | |||
| array_ne Two arrays not equal, a NULL element equal to a NULL element. | | |||
| array_position The position of the first element equal to a value, a NULL equal to a NULL; NULL for none. | |
| ||
| array_positions The positions of every element equal to a value, a NULL equal to a NULL. | |
| ||
| array_replace Each element equal to a value replaced by another, a NULL equal to a NULL. | |
| ||
| array_sample A number of an array's elements, chosen at random. | |
| ||
| array_shuffle An array's elements in a random order. | |
| ||
| trim_array An array without its last elements. | |
| ||
| generate_subscripts The subscripts of a dimension, as rows, in either order. | |
| ||
| array_cat Two arrays concatenated; a NULL array is the other one, and two NULL arrays are NULL. | |
| ||
| array_lt One array before another, a NULL element after any value. | | |||
| array_le One array before or equal to another, a NULL element after any value. | | |||
| array_gt One array after another, a NULL element after any value. | | |||
| array_ge One array after or equal to another, a NULL element after any value. | | |||
| array_larger The larger of two arrays, a NULL element after any value. | | |||
| array_smaller The smaller of two arrays, a NULL element after any value. | | |||
| btarraycmp btree's comparison of two arrays: -1, 0 or 1, a NULL element after any value. | | |||
| pg_timezone_names The zones of the tz database, each with its abbreviation, offset and daylight flag now. | |
| ||
| record_eq Two records equal, a NULL field equal to a NULL field. | | |||
| record_ne Two records not equal, a NULL field equal to a NULL field. | | |||
| record_image_eq Two records of equal images, a NULL field equal to a NULL field. | | |||
| record_image_ne Two records of images not equal, a NULL field equal to a NULL field. | | |||
| record_lt One record before another. | | |||
| record_le One record before or equal to another. | | |||
| record_gt One record after another. | | |||
| record_ge One record after or equal to another. | | |||
| record_image_lt One record image before another. | | |||
| record_image_le One record image before or equal to another. | | |||
| record_image_gt One record image after another. | | |||
| record_image_ge One record image after or equal to another. | | |||
| money_text money's text, as cash_out writes it: $1,234.50, NULL for a NULL. | |
| ||
| interval_in interval_in of a NULL: PostgreSQL's NULL of interval; of a constant, its interval. | |
| ||
| jsonb_in jsonb_in of a NULL: PostgreSQL's NULL of jsonb. | |
| ||
| xid8in xid8in of a NULL: PostgreSQL's NULL of xid8. | |
| ||
| pg_collation_for The collation a COLLATE clause gives a value, as quote_ident writes its name. | |
| ||
| macaddr_and The bitwise AND of two MAC addresses. | | |||
| macaddr_or The bitwise OR of two MAC addresses. | | |||
| macaddr_not The bitwise NOT of a MAC address. | | |||
| trunc A MAC address with its last three (macaddr) or five (macaddr8) bytes set to zero. | | |||
| int2_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int4_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int8shl A bigint shifted left, its count taken modulo 64, the result wrapping. | | |||
| int2shr A smallint shifted right, its sign kept, its count taken modulo 32. | | |||
| int4shr A integer shifted right, its sign kept, its count taken modulo 32. | | |||
| int8shr A bigint shifted right, its sign kept, its count taken modulo 64. | | |||
| factorial The product of the integers from 1 to n. | | |||
| numeric An integer as a numeric. | | |||
| bool An integer as a truth value: false for 0. | | |||
| oid A bigint as an oid. | | |||
| random A uniform random integer between two bounds, both included. | | |||
| date_mi The days from one date to another. | | |||
| date_pli A date moved forward by a number of days. | | |||
| date_mii A date moved back by a number of days. | | |||
| make_date A date of a year, a month and a day. | | |||
| transaction_timestamp The time the transaction began: now(), as Provisa answers it. | | |||
| mxid_age The age of a multixact id: INT_MAX for 0, and 1 less it, as Provisa makes no multixact. | | |||
| pg_char_to_encoding An encoding's number by any of PostgreSQL's names of it; -1 for a name of none. | |
| ||
| ntile The bucket of a row in a window, as an integer. | | |||
| numeric_mod The remainder of one numeric divided by another, at the larger scale of the two. | | |||
| spg_poly_quad_compress A polygon's bounding box, as the SP-GiST quad tree's compress function answers it. | |
Exasol¶
88 of the grid's 154 features are native on Exasol and left out.
| Feature | Read polyfill | Read limitations | Write polyfill | Write limitations |
|---|---|---|---|---|
| array_ndims The number of an array's dimensions. | |
| ||
| array_dims The text of an array's dimensions, such as [1:2][1:3]. | |
| ||
| array_lower The lower bound of a dimension: 1, as a list's index starts there. | |
| ||
| array_upper The upper bound of a dimension: its length. | |
| ||
| array_length The length of a dimension; NULL for a dimension the array does not have. | |
| ||
| array_fill An array of a value repeated to the dimensions given. | |
| ||
| array_eq Two arrays equal, a NULL element equal to a NULL element. | | |||
| array_ne Two arrays not equal, a NULL element equal to a NULL element. | | |||
| array_position The position of the first element equal to a value, a NULL equal to a NULL; NULL for none. | |
| ||
| array_positions The positions of every element equal to a value, a NULL equal to a NULL. | |
| ||
| array_replace Each element equal to a value replaced by another, a NULL equal to a NULL. | |
| ||
| array_sample A number of an array's elements, chosen at random. | |
| ||
| array_shuffle An array's elements in a random order. | |
| ||
| trim_array An array without its last elements. | |
| ||
| generate_subscripts The subscripts of a dimension, as rows, in either order. | |
| ||
| array_cat Two arrays concatenated; a NULL array is the other one, and two NULL arrays are NULL. | |
| ||
| array_lt One array before another, a NULL element after any value. | | |||
| array_le One array before or equal to another, a NULL element after any value. | | |||
| array_gt One array after another, a NULL element after any value. | | |||
| array_ge One array after or equal to another, a NULL element after any value. | | |||
| array_larger The larger of two arrays, a NULL element after any value. | | |||
| array_smaller The smaller of two arrays, a NULL element after any value. | | |||
| btarraycmp btree's comparison of two arrays: -1, 0 or 1, a NULL element after any value. | | |||
| pg_timezone_names The zones of the tz database, each with its abbreviation, offset and daylight flag now. | |
| ||
| record_eq Two records equal, a NULL field equal to a NULL field. | | |||
| record_ne Two records not equal, a NULL field equal to a NULL field. | | |||
| record_image_eq Two records of equal images, a NULL field equal to a NULL field. | | |||
| record_image_ne Two records of images not equal, a NULL field equal to a NULL field. | | |||
| record_lt One record before another. | | |||
| record_le One record before or equal to another. | | |||
| record_gt One record after another. | | |||
| record_ge One record after or equal to another. | | |||
| record_image_lt One record image before another. | | |||
| record_image_le One record image before or equal to another. | | |||
| record_image_gt One record image after another. | | |||
| record_image_ge One record image after or equal to another. | | |||
| money_text money's text, as cash_out writes it: $1,234.50, NULL for a NULL. | |
| ||
| interval_in interval_in of a NULL: PostgreSQL's NULL of interval; of a constant, its interval. | |
| ||
| jsonb_in jsonb_in of a NULL: PostgreSQL's NULL of jsonb. | |
| ||
| xid8in xid8in of a NULL: PostgreSQL's NULL of xid8. | |
| ||
| pg_collation_for The collation a COLLATE clause gives a value, as quote_ident writes its name. | |
| ||
| macaddr_and The bitwise AND of two MAC addresses. | | |||
| macaddr_or The bitwise OR of two MAC addresses. | | |||
| macaddr_not The bitwise NOT of a MAC address. | | |||
| trunc A MAC address with its last three (macaddr) or five (macaddr8) bytes set to zero. | | |||
| int2_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int4_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int8shl A bigint shifted left, its count taken modulo 64, the result wrapping. | | |||
| int2shr A smallint shifted right, its sign kept, its count taken modulo 32. | | |||
| int4shr A integer shifted right, its sign kept, its count taken modulo 32. | | |||
| int8shr A bigint shifted right, its sign kept, its count taken modulo 64. | | |||
| factorial The product of the integers from 1 to n. | | |||
| numeric An integer as a numeric. | | |||
| bool An integer as a truth value: false for 0. | | |||
| oid A bigint as an oid. | | |||
| random A uniform random integer between two bounds, both included. | | |||
| date_mi The days from one date to another. | | |||
| date_pli A date moved forward by a number of days. | | |||
| date_mii A date moved back by a number of days. | | |||
| make_date A date of a year, a month and a day. | | |||
| transaction_timestamp The time the transaction began: now(), as Provisa answers it. | | |||
| mxid_age The age of a multixact id: INT_MAX for 0, and 1 less it, as Provisa makes no multixact. | | |||
| pg_char_to_encoding An encoding's number by any of PostgreSQL's names of it; -1 for a name of none. | |
| ||
| ntile The bucket of a row in a window, as an integer. | | |||
| numeric_mod The remainder of one numeric divided by another, at the larger scale of the two. | | |||
| spg_poly_quad_compress A polygon's bounding box, as the SP-GiST quad tree's compress function answers it. | |
Druid¶
88 of the grid's 154 features are native on Druid and left out.
| Feature | Read polyfill | Read limitations | Write polyfill | Write limitations |
|---|---|---|---|---|
| array_ndims The number of an array's dimensions. | |
| ||
| array_dims The text of an array's dimensions, such as [1:2][1:3]. | |
| ||
| array_lower The lower bound of a dimension: 1, as a list's index starts there. | |
| ||
| array_upper The upper bound of a dimension: its length. | |
| ||
| array_length The length of a dimension; NULL for a dimension the array does not have. | |
| ||
| array_fill An array of a value repeated to the dimensions given. | |
| ||
| array_eq Two arrays equal, a NULL element equal to a NULL element. | | |||
| array_ne Two arrays not equal, a NULL element equal to a NULL element. | | |||
| array_position The position of the first element equal to a value, a NULL equal to a NULL; NULL for none. | |
| ||
| array_positions The positions of every element equal to a value, a NULL equal to a NULL. | |
| ||
| array_replace Each element equal to a value replaced by another, a NULL equal to a NULL. | |
| ||
| array_sample A number of an array's elements, chosen at random. | |
| ||
| array_shuffle An array's elements in a random order. | |
| ||
| trim_array An array without its last elements. | |
| ||
| generate_subscripts The subscripts of a dimension, as rows, in either order. | |
| ||
| array_cat Two arrays concatenated; a NULL array is the other one, and two NULL arrays are NULL. | |
| ||
| array_lt One array before another, a NULL element after any value. | | |||
| array_le One array before or equal to another, a NULL element after any value. | | |||
| array_gt One array after another, a NULL element after any value. | | |||
| array_ge One array after or equal to another, a NULL element after any value. | | |||
| array_larger The larger of two arrays, a NULL element after any value. | | |||
| array_smaller The smaller of two arrays, a NULL element after any value. | | |||
| btarraycmp btree's comparison of two arrays: -1, 0 or 1, a NULL element after any value. | | |||
| pg_timezone_names The zones of the tz database, each with its abbreviation, offset and daylight flag now. | |
| ||
| record_eq Two records equal, a NULL field equal to a NULL field. | | |||
| record_ne Two records not equal, a NULL field equal to a NULL field. | | |||
| record_image_eq Two records of equal images, a NULL field equal to a NULL field. | | |||
| record_image_ne Two records of images not equal, a NULL field equal to a NULL field. | | |||
| record_lt One record before another. | | |||
| record_le One record before or equal to another. | | |||
| record_gt One record after another. | | |||
| record_ge One record after or equal to another. | | |||
| record_image_lt One record image before another. | | |||
| record_image_le One record image before or equal to another. | | |||
| record_image_gt One record image after another. | | |||
| record_image_ge One record image after or equal to another. | | |||
| money_text money's text, as cash_out writes it: $1,234.50, NULL for a NULL. | |
| ||
| interval_in interval_in of a NULL: PostgreSQL's NULL of interval; of a constant, its interval. | |
| ||
| jsonb_in jsonb_in of a NULL: PostgreSQL's NULL of jsonb. | |
| ||
| xid8in xid8in of a NULL: PostgreSQL's NULL of xid8. | |
| ||
| pg_collation_for The collation a COLLATE clause gives a value, as quote_ident writes its name. | |
| ||
| macaddr_and The bitwise AND of two MAC addresses. | | |||
| macaddr_or The bitwise OR of two MAC addresses. | | |||
| macaddr_not The bitwise NOT of a MAC address. | | |||
| trunc A MAC address with its last three (macaddr) or five (macaddr8) bytes set to zero. | | |||
| int2_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int4_sum A step of an integer sum, in a bigint that wraps past its range. | | |||
| int8shl A bigint shifted left, its count taken modulo 64, the result wrapping. | | |||
| int2shr A smallint shifted right, its sign kept, its count taken modulo 32. | | |||
| int4shr A integer shifted right, its sign kept, its count taken modulo 32. | | |||
| int8shr A bigint shifted right, its sign kept, its count taken modulo 64. | | |||
| factorial The product of the integers from 1 to n. | | |||
| numeric An integer as a numeric. | | |||
| bool An integer as a truth value: false for 0. | | |||
| oid A bigint as an oid. | | |||
| random A uniform random integer between two bounds, both included. | | |||
| date_mi The days from one date to another. | | |||
| date_pli A date moved forward by a number of days. | | |||
| date_mii A date moved back by a number of days. | | |||
| make_date A date of a year, a month and a day. | | |||
| transaction_timestamp The time the transaction began: now(), as Provisa answers it. | | |||
| mxid_age The age of a multixact id: INT_MAX for 0, and 1 less it, as Provisa makes no multixact. | | |||
| pg_char_to_encoding An encoding's number by any of PostgreSQL's names of it; -1 for a name of none. | |
| ||
| ntile The bucket of a row in a window, as an integer. | | |||
| numeric_mod The remainder of one numeric divided by another, at the larger scale of the two. | | |||
| spg_poly_quad_compress A polygon's bounding box, as the SP-GiST quad tree's compress function answers it. | |