o a@slddlZddlZddlmZddlmZddlmZddlmZe ddZ e dd Z d d Z dS) N)ProgrammingError)register_hstore) connections) NO_DB_ALIAScCsxt|,}|dg}g}|D]}||d||dqt|t|fWdS1s5wYdS)z$Return hstore and hstore array OIDs.zlSELECT t.oid, typarray FROM pg_type t JOIN pg_namespace ns ON typnamespace = ns.oid WHERE typname = 'hstore'rN)rcursorexecuteappendtuple)connection_aliasroids array_oidsrowrA/usr/lib/python3/dist-packages/django/contrib/postgres/signals.pyget_hstore_oids s$rcCsLt|}|dtdd|DWdS1swYdS)zReturn citext array OIDs.z5SELECT typarray FROM pg_type WHERE typname = 'citext'css|]}|dVqdS)rNr).0rrrr "sz"get_citext_oids..N)rrrr )r rrrrget_citext_oidss $rcKs|jdks |jtkr dSzt|j\}}t|jd||dWn ty'Ynwzt|j}tj |dtj }tj |dWdStyJYdSw)N postgresqlT)globallyoid array_oidzcitext[]) vendoraliasrrr connectionrrpsycopg2 extensionsnew_array_typeSTRING register_type)rkwargsr r citext_oids array_typerrrregister_type_handlers%s    r$) functoolsrrpsycopg2.extrasr django.dbrdjango.db.backends.base.baser lru_cacherrr$rrrrs