diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2018-08-22 11:13:54 -0400 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2018-08-22 11:13:54 -0400 |
commit | 52a3f5b7635583ae6feb084b1db654b9c65caec2 (patch) | |
tree | dd2a70b725f93d17321fd651a9ef8da35d1de829 /lib/sqlalchemy/dialects/postgresql/ext.py | |
parent | 32ce703a98eba8a7685e609b4a7ca86b79dd0904 (diff) | |
download | sqlalchemy-52a3f5b7635583ae6feb084b1db654b9c65caec2.tar.gz |
Pass desired array type from pg.array_agg to functions.array_agg
Fixed the :func:`.postgresql.array_agg` function, which is a slightly
altered version of the usual :func:`.functions.array_agg` function, to also
accept an incoming "type" argument without forcing an ARRAY around it,
essentially the same thing that was fixed for the generic function in 1.1
in :ticket:`4107`.
Fixes: #4324
Change-Id: I399a29f59c945a217cdd22c65ff0325edea8ea65
Diffstat (limited to 'lib/sqlalchemy/dialects/postgresql/ext.py')
-rw-r--r-- | lib/sqlalchemy/dialects/postgresql/ext.py | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/sqlalchemy/dialects/postgresql/ext.py b/lib/sqlalchemy/dialects/postgresql/ext.py index 20ed0fc8d..71fb3cc5b 100644 --- a/lib/sqlalchemy/dialects/postgresql/ext.py +++ b/lib/sqlalchemy/dialects/postgresql/ext.py @@ -209,10 +209,11 @@ static/sql-createtable.html#SQL-CREATETABLE-EXCLUDE def array_agg(*arg, **kw): """PostgreSQL-specific form of :class:`.array_agg`, ensures return type is :class:`.postgresql.ARRAY` and not - the plain :class:`.types.ARRAY`. + the plain :class:`.types.ARRAY`, unless an explicit ``type_`` + is passed. .. versionadded:: 1.1 """ - kw['type_'] = ARRAY(functions._type_from_args(arg)) + kw['_default_array_type'] = ARRAY return functions.func.array_agg(*arg, **kw) |