diff --git a/CHANGELOG.md b/CHANGELOG.md index 907aee02f6bdfed548c663aec5eb29530a0aa544..7f79b0c99e366746619da87e1e5a9ead1b63787f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,31 @@ with the `YY.MINOR.MICRO` scheme. the former is not specified in `create table` clause - SQL normalizes unquoted identifiers to lowercase instead of uppercase +- SQL supports LIMIT clause +- SQL supports SUBSTR function + +### Pgproto + +- SQL supports postgres cast notation: expr::type +- pgproto supports tab-completion for tables names in psql: +```sql +postgres=> select * from _pico_<TAB> +_pico_index _pico_plugin _pico_privilege _pico_routine _pico_table +_pico_instance _pico_plugin_config _pico_property _pico_service _pico_tier +_pico_peer_address _pico_plugin_migration _pico_replicaset _pico_service_route _pico_user + +``` + +- pgproto supports explicit parameter type declarations in SQL via casting. +This is helpful for drivers that do not specify parameters types, such as +pq and pgx drivers for Go. In such drivers, users need to explicitly cast all +query parameters. + +If the driver doesn't specify the type and the parameter isn't cast, the query +will fail. For instance, running `SELECT * FROM t WHERE id = $1` in pgx will +return "could not determine data type of parameter $1" error. To resolve this, +users must specify the expected type of the parameter: +`SELECT * FROM t WHERE id = $1::INT`. ### Configuration