mirror of
https://github.com/postgres/postgres.git
synced 2025-08-25 20:23:07 +03:00
Allow named parameters to be specified using => in addition to :=
SQL has standardized on => as the use of to specify named parameters, and we've wanted for many years to support the same syntax ourselves, but this has been complicated by the possible use of => as an operator name. In PostgreSQL 9.0, we began emitting a warning when an operator named => was defined, and in PostgreSQL 9.2, we stopped shipping a =>(text, text) operator as part of hstore. By the time the next major version of PostgreSQL is released, => will have been deprecated for a full five years, so hopefully there won't be too many people still relying on it. We continue to support := for compatibility with previous PostgreSQL releases. Pavel Stehule, reviewed by Petr Jelinek, with a few documentation tweaks by me.
This commit is contained in:
@@ -748,6 +748,22 @@ select dfunc('a'::text, 'b', flag := false); -- mixed notation
|
||||
select dfunc('a'::text, 'b', true); -- full positional notation
|
||||
select dfunc('a'::text, 'b', flag := true); -- mixed notation
|
||||
|
||||
-- ansi/sql syntax
|
||||
select dfunc(a => 1, b => 2);
|
||||
select dfunc(a => 'a'::text, b => 'b');
|
||||
select dfunc(a => 'a'::text, b => 'b', flag => false); -- named notation
|
||||
|
||||
select dfunc(b => 'b'::text, a => 'a'); -- named notation with default
|
||||
select dfunc(a => 'a'::text, flag => true); -- named notation with default
|
||||
select dfunc(a => 'a'::text, flag => false); -- named notation with default
|
||||
select dfunc(b => 'b'::text, a => 'a', flag => true); -- named notation
|
||||
|
||||
select dfunc('a'::text, 'b', false); -- full positional notation
|
||||
select dfunc('a'::text, 'b', flag => false); -- mixed notation
|
||||
select dfunc('a'::text, 'b', true); -- full positional notation
|
||||
select dfunc('a'::text, 'b', flag => true); -- mixed notation
|
||||
|
||||
|
||||
-- check reverse-listing of named-arg calls
|
||||
CREATE VIEW dfview AS
|
||||
SELECT q1, q2,
|
||||
|
Reference in New Issue
Block a user