[Moscow.pm] конструкторе sql запросов

Savenkova Natalya wwax555 на gmail.com
Вт Дек 17 22:47:10 PST 2013


Не думаю, что вам здесь что-то поможет. Собирать извращенский запрос с
помощью каких-то модулей - ну это будет только все усложнять и снижать
читаемость. Есть пределы, когда стоит выбрать очевидность вместо попыток
присобачить какой-то "элегантный" модуль, который ну не тянет такого
функционала на самом деле.

Savenkova Natalya
wwax555 на gmail.com
https://www.facebook.com/name.rnd



2013/12/18 Nick Knutov <mail на knutov.com>

> У меня в коде в некоторых функциях, в зависимости от входных параметров,
> конструируются разные sql запросы. Пример:
>
> my $sql = posts_sql_view();
> $sql .= ' WHERE ' if $type or $id or $main;
> do { $sql .= ' ty.id=? '; push @params, $type;} if $type;
> do { $sql .= ' AND p.id=? LIMIT 1'; push @params, $id } if $id;
> $sql .= ' ORDER BY id DESC ' unless $id;
> do { $sql .= ' LIMIT ? ' ; push @params, $limit } if $limit and not $id;
>
> Мне не нравится как это визуально выглядит. Как бы вы это переписали,
> чтобы было понятнее и читабельнее?
>
> ps: в некоторых других случаях можно было бы использовать && вместо
> do{}, но не тут.
>
> pps: ORM предлагать и обсуждать не надо. Как минимум потому, что запросы
> сложные и сложность/стоимость проверки того, что генерирует ORM
> многократно выше любого профита от ORM в данной ситуации.
>
> --
> Best Regards,
> Nick Knutov
> http://knutov.com
> ICQ: 272873706
> Voice: +7-904-84-23-130
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20131218/d5144ffa/attachment-0001.html>


Подробная информация о списке рассылки Moscow-pm