[Moscow.pm] аналог SQL View в DBIx

Eugene Toropov jt на aaanet.ru
Вс Июл 20 03:52:25 PDT 2008


Это ж как раз то, чего человек хочет избежать:

# It will be added as a sub-select after FROM,
# so pay attention to the surrounding brackets!

А нельзя через:

search_literal

Arguments: $sql_fragment, @bind_values

Return Value: $resultset (scalar context), @row_objs (list context)

my @cds   = $cd_rs->search_literal('year = ? AND title = ?', qw/2001 R
+eload/);

my $newrs = $artist_rs->search_literal('name = ?', 'Metallica');

Или case в селекте нереализуем?



> 20 июля 2008 г. 12:14 пользователь Alex Ivin <alex на ivin.info> написал:
>> Eugene Toropov пишет:
>>>
>>> Предупреждаю, что с DBIx вообще не работал, но посмотрите вот сюда, мож
>>> поможет: http://www.perlmonks.org/?node_id=675917
>>>
>> Это как раз тот пример, основываясь на котором я сделал своей решение.
>>
>> Фишка в том, что это работает, данные возвращаются, но такой метод далек 
>> от
>> "оптимизации" ради которой все затевалось.
>>
>> Если посмотреть на выволненные в результате SQL запросы:
>>                    71 Query       set autocommit=1
>>                    71 Query       SELECT me.num FROM (select 10*10 as 
>> num)
>> me
>>                    71 Query       SELECT me.num FROM (select 100*100 as 
>> num)
>> me
>>                    71 Query       SELECT me.num FROM (select 1000*1000 as
>> num) me
>>
>> - у нас вложенный SELECT
>> А именно этого я и хочу избежать.
>> Т.е. суть моего вопроса - "как выполнить из DBIx нативный SQL не 
>> обкладывая
>> его дополнительным SELECT?"
>
> Ответ на вопрос о том, как сделать произвольный запрос в DBIx (без 
> "хаков"):
> http://search.cpan.org/~ash/DBIx-Class-0.08010/lib/DBIx/Class/Manual/Cookbook.pod#Arbitrary_SQL_through_a_custom_ResultSource
>
> -- 
> Walery Studennikov
> http://www.reg.ru/
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
> 



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