
Fayozjon [CybernatiC]
16.05.2017
13:09:55
да дохера там всего выбирается а потом отсортируется HAVINGом

Sergey
16.05.2017
13:10:07
ну и еще - если у тебя есть какой-нибудь count или например sum - то всеравно будет full scan

Fayozjon [CybernatiC]
16.05.2017
13:10:25
вот срань
статистику в выборке делать не стоит значит подзапросом

Google

Sergey
16.05.2017
13:11:16
опять же такие выводы стоит делать после explain analyze

Алексей
16.05.2017
13:25:13
HAVING затащил. Перемудрил я с условием сначала )
https://pastebin.com/wYGdijс
Все круто - на выходе имею стобец с количеством элементов в каждой строке.
https://yadi.sk/i/wquptOZi3JD89с
Уже голова пухнет, подскажите, пожалуйста, как проще всего посчитать сумму всех значений строк. Т.е. получить одно число на выходе

Sergey
16.05.2017
20:50:33
жа
или ты про то "как сложить все колонки и все ряды"?

Алексей
16.05.2017
20:51:32
жа
Сделал через select count(distinct id) from (select from table_name ... и сам запрос)

Sergey
16.05.2017
20:51:44
нипонятно но ладно

Алексей
16.05.2017
20:52:11

Sergey
16.05.2017
21:39:13
https://github.com/mpyw/co
блин какая все же удобная библиотечка
насколько безумная идея написать свой ORM? точнее даже не ORM а набор инструментов для построения своего ORM?

Denis
17.05.2017
08:10:33
а зачем?)

Sergey
17.05.2017
08:10:37
типа либка для гидрации выборок на объекты, либка для организации Unit of Work (не универсальный, а дать возможность самим все делать)

Google

Sergey
17.05.2017
08:10:47

Denis
17.05.2017
08:11:10
ну твоя либка будет лучше других? если нет - то нафиг не нужно

Sergey
17.05.2017
08:11:30
а то сча если ты хочешь себе persistence layer с unit of work то у тебя либо doctrine либо по сути ничего (есть еще Aura.orm, isoate или как там его и еще парочка сырых и сложных)
все стараются сделать как-то более-менее универсально, и из-за этого растет сложность
я ж хочу кирпичики сделать
ну точнее мне просто скучно
а допиливать Doctrine пока рано (пока не закончили рефакторинг основной)

Fayozjon [CybernatiC]
17.05.2017
08:17:05
доброго дня кто нибудь знает открытую базу EAN кодов и продукций? желательно бесплатную

Александр
17.05.2017
08:22:49
от orm еще бы хотелось простоты и немногословности. А то как наваяют супер гибгих абстракций, хрень разберешься.

Aleserche
17.05.2017
08:28:12
если все так сильно упирается в ORM, то не проще ли пхп выкинуть?

dypa
17.05.2017
08:43:12

Aleksandr
17.05.2017
08:52:14

Sergey
17.05.2017
08:53:41


Aleksandr
17.05.2017
08:54:58
php-маппинги - это вообще жопа. не очень понятно на сайте написано, и в итоге часа 3 дебажил сквозь десятки классов из 1000 строк, почему оно не работает. а там маппинг вообще инклудится в коде через include, а не инжектится. Да и называн должен быть специально, что конкретно в доке не описано.

Sergey
17.05.2017
09:02:34
но код доктринки да... порой грустно от факта что это плод 2-х летнего планирования и разработки весьма сильной команды

Google

Evgeniy
17.05.2017
10:13:01
писать велосипеды это святое

Sergey
17.05.2017
10:19:30
ну то есть все велосипеды типа "для всех" а я хочу узко специализированные тулы

Evgeniy
17.05.2017
10:19:51
я тоже
я свою пилю но очень лениво
orm Это хорошо )

Sergey
17.05.2017
10:20:14
вот просто так я не хочу)

Evgeniy
17.05.2017
10:20:28
ну у меня имплементация psr/container

Sergey
17.05.2017
10:20:33
у меня есть вполне себе конкретные задачи и под эти задачи либо готовая цельная ORM либо ничего

Evgeniy
17.05.2017
10:20:36
под задачу для себя юзать

Sergey
17.05.2017
10:20:51
с контейнерами к слову и так все хорошо)

Evgeniy
17.05.2017
10:20:56
но сейчас на работе внедрить сложно

Sergey
17.05.2017
10:21:02
я не могу придумать задачу под которую не хватит symfony/di
ну разве что local binding но это решается конфигами

Evgeniy
17.05.2017
10:21:21
ну есть еще psr-di.org

Sergey
17.05.2017
10:21:32
php-di ты хотел сказать

Evgeniy
17.05.2017
10:21:36
да
косякнул

Google

Evgeniy
17.05.2017
10:21:59
самая прилизанная из всех

Sergey
17.05.2017
10:22:03
php-di круто для небольших проектов. оч удобно. А когда тебе легаси рефакторить - не очень
хотя смотря какой легаси

Evgeniy
17.05.2017
10:22:26
ну я вот эту ситуацию примерно и решал)
чтобы можно было и современный проект делать

Admin
ERROR: S client not available

Evgeniy
17.05.2017
10:22:41
удобно и красиво
и в легаси легко её воткнуть
и при этом реализация psr/container можно заменить ей что то в фреймворке
если фреймворк гибкий
идея в том что я решил пилить основные независимые тулзы, модули
ну и без фатальных недостатков
основная задача мое либы, гибкость, в расширения способа конфигурирования и модульность
подключать только то что необходимо)
вообщем кмк получилось все довольно просто и легко)))
но это для меня.
единственное что я ленюсь это доку запилить она сейчас в dev версии (
мне нравится psr и подход, но вещи стандартизируются очень долго
было бы прикольно сделать небольшой набор интерфейсов
в виде либ

Google

Evgeniy
17.05.2017
10:26:48
и пилить уже независимые тулы
а потом как что то в psr стандартизируют переходить на него

Aleksandr
17.05.2017
10:35:33

Evgeniy
17.05.2017
10:37:13
внедрение зависимостей удобное для разработчиков
без лишнего оверхеда.
возможность добавлять свои конфигурации хранения зависимостей
возможность анализировать зависимости (эта часть еще сыровата в плане отсутствия визуализации)


Sergey
17.05.2017
10:37:30
опиши задачи.
есть один компонент системы который критичен к производительности и нужна возможность подменять СУБД быстро. Сегодня это postgresql а через пол года может быть уже casandra. Нет сложных релейшенов, но есть логика которую хочется все же нормально в объекты пихать. А значит надо мэпить. И объекты мутабельные значит нужен unit of work.
причем уйти от php и написать этот кусок на go например тоже не представляется возможным потому что я не хочу его потом суппортить
производительности пыха хватает
(2-4ms на обработку запроса сейчас выходит)
ну то есть упрусь скорее в базу нежели в пых
но вот доктрина.... слишком жирная
и не позволяет делать многие штуки которые я хочу иметь удобно
выбор либо для доктрины писать кастыли и адаптеры либо сделать просто надстройку над dbal (или вообще убрать зависимость от этого дела и закрыть своим адаптером, мне ж тоьлко result set нужен)
и дать возможность писать для каждого агрегата сущностей свой UoW
что бы удобненько было
ну это опять же от скуки. ибо задачу я легко и на dbal могу решить - просто был удивлен что никто не делал подобное
я конечно еще буду ресерчить тулы - я видел для задач мэппинга во всяком случае неплохие решения которые можно было бы реюзать, но вот UoW - неа