Эта статья — продолжение рассказа о новом в PostgreSQL 12. Мы уже разобрали SQL/JSON (патч JSONPath) в статье «Что заморозили на feature freeze 2019. Часть I. JSONPath», теперь очередь CTE. CTE CTE это Common Table Expression — общие табличные выражения, их еще называют конструкциями с WITH. Фактически это создание временных…
Одним из наиболее важных применений CTE являются рекурсивные запросы, для которых CTE является фактически единственным средством реализации. Как отмечалось в предыдущей статье, в Books Online есть несколько примеров использования CTE, включая и рекурсивный CTE. Тут мы будем…
WITH w AS NOT MATERIALIZED ( SELECT * FROM very_very_big_table ) SELECT * FROM w AS w1 JOIN w AS w2 ON w1.key = w2.ref WHERE w2.key = 123; Сегодня в репозиторий PostgreSQL упал комит, позволяющий управлять поведением обработки подзапросов CTE, а именно: теперь можно явно указывать, будет ли подзапрос материализовываться отдельно или же выполняться как часть одного большого запроса. Это войдет в PostgreSQL 12, и это big deal. Давайте рассмотрим, почему Читать дальше →
Python — это высокоуровневый язык программирования общего назначения. Возможно, вы удивитесь, узнав, насколько удобен Python для гейм-дизайном. Меня зовут Валентин — я гейм-дизайнер и разработчик, специализирующийся на образовательных и играх для программистов. Десяток лет я работал инженером в сфере телекоммуникаций и программного обеспечения, потом занялся разработкой игр. Хочу поделиться, почему Python может стать вашим мощным инструментом в мире гейм-дизайна. Зачем все таки...