
^Q\#                 @   s   d  d l  m Z d  d l m Z d d d d d d d	 g Z Gd
 d   d e  Z Gd d   d e  Z Gd d   d e  Z Gd d   d e  Z Gd d   d e  Z	 Gd d   d e  Z
 Gd d	   d	 e  Z d S)    )	JSONField)	AggregateArrayAggBitAndBitOrBoolAndBoolOrJSONBAgg	StringAggc               @   s"   e  Z d  Z d Z d d   Z d S)r   Z	ARRAY_AGGc             C   s   | s
 g  S| S)N )selfvalue
expression
connectioncontextr   r   P/var/www/dbchiro/venv/build/Django/django/contrib/postgres/aggregates/general.pyconvert_value   s    zArrayAgg.convert_valueN)__name__
__module____qualname__functionr   r   r   r   r   r   	   s   c               @   s   e  Z d  Z d Z d S)r   ZBIT_ANDN)r   r   r   r   r   r   r   r   r      s   c               @   s   e  Z d  Z d Z d S)r   ZBIT_ORN)r   r   r   r   r   r   r   r   r      s   c               @   s   e  Z d  Z d Z d S)r   ZBOOL_ANDN)r   r   r   r   r   r   r   r   r      s   c               @   s   e  Z d  Z d Z d S)r   ZBOOL_ORN)r   r   r   r   r   r   r   r   r      s   c               @   s+   e  Z d  Z d Z e   Z d d   Z d S)r	   Z	JSONB_AGGc             C   s   | s
 g  S| S)Nr   )r   r   r   r   r   r   r   r   r   &   s    zJSONBAgg.convert_valueN)r   r   r   r   r   Z_output_fieldr   r   r   r   r   r	   "   s   	c                   s=   e  Z d  Z d Z d Z d   f d d  Z d d   Z   S)r
   Z
STRING_AGGz:%(function)s(%(distinct)s%(expressions)s, '%(delimiter)s')Fc                s;   | r d n d } t  t |   j | d | d | | d  S)Nz	DISTINCT  	delimiterdistinct)superr
   __init__)r   r   r   r   extra)	__class__r   r   r   0   s    zStringAgg.__init__c             C   s   | s
 d S| S)Nr   r   )r   r   r   r   r   r   r   r   r   4   s    zStringAgg.convert_value)r   r   r   r   templater   r   r   r   )r   r   r
   ,   s   N)Zdjango.contrib.postgres.fieldsr   Zdjango.db.models.aggregatesr   __all__r   r   r   r   r   r	   r
   r   r   r   r   <module>   s   	
