Раз уж тут пошла такая пьянка... Давайте сделаем ORM для PostgreSQL с 
поддержкой асинхронности и возможностью прямого SQL запроса и конвертирования 
результатов в спец типы.

Идея основана на том, что EXPLAIN VERBOSE всегда расскажет какие поля и откуда 
взяты (даже в случае с WITH), вот допустим:

 EXPLAIN VERBOSE WITH foo AS (SELECT * FROM test) SELECT * FROM foo;
                                 QUERY PLAN
-----------------------------------------------------------------------------
 CTE Scan on foo  (cost=21.60..44.80 rows=1160 width=40)
   Output: foo.id, foo.data
   CTE foo
     ->  Seq Scan on pg_temp_111.test  (cost=0.00..21.60 rows=1160 width=40)
           Output: test.id, test.data

Смысл в том, что на каждый raw запрос (с кешированием, понятно) запрашивать 
EXPLAIN этого запроса и по результатам строить аксессоры. Или не строить ))

-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить