8 use DBIC::SqlMakerTest;
9 use DBIx::Class::SQLMaker::LimitDialects;
11 my ($TOTAL, $OFFSET) = (
12 DBIx::Class::SQLMaker::LimitDialects->__total_bindtype,
13 DBIx::Class::SQLMaker::LimitDialects->__offset_bindtype,
16 my $s = DBICTest->init_schema (no_deploy => 1, );
17 $s->storage->sql_maker->limit_dialect ('RowNum');
19 my $rs = $s->resultset ('CD');
22 $rs->search ({}, { rows => 1, offset => 3,columns => [
24 { 'bar.id' => 'bar.id' },
25 { bleh => \ 'TO_CHAR (foo.womble, "blah")' },
28 SELECT id, bar__id, bleh
30 SELECT id, bar__id, bleh, ROWNUM rownum__index
32 SELECT foo.id AS id, bar.id AS bar__id, TO_CHAR(foo.womble, "blah") AS bleh
37 WHERE rownum__index >= ?
43 'Rownum subsel aliasing works correctly'
47 $rs->search ({}, { rows => 2, offset => 3,columns => [
49 { 'ends_with_me.id' => 'ends_with_me.id' },
51 '(SELECT id, ends_with_me__id
53 SELECT id, ends_with_me__id, ROWNUM rownum__index
55 SELECT foo.id AS id, ends_with_me.id AS ends_with_me__id
60 WHERE rownum__index >= ?
66 'Rownum subsel aliasing works correctly'
70 $rs = $s->resultset('Artist')->search({}, {
75 local $rs->result_source->{name} = "weird \n newline/multi \t \t space containing \n table";
78 ${$rs->as_query}->[0],
79 qr| weird \s \n \s newline/multi \s \t \s \t \s space \s containing \s \n \s table|x,
80 'Newlines/spaces preserved in final sql',