7 use DBIC::SqlMakerTest;
9 my $schema = DBICTest->init_schema;
11 delete $schema->storage->_sql_maker->{_cached_syntax};
12 $schema->storage->_sql_maker->limit_dialect ('RowNumberOver');
14 my $rs_selectas_col = $schema->resultset ('BooksInLibrary')->search ({}, {
15 '+select' => ['owner.name'],
16 '+as' => ['owner.name'],
22 $Data::Dumper::Maxdepth = 4;
23 #die Dumper $rs_selectas_col->_resolved_attrs;
26 $rs_selectas_col->as_query,
28 SELECT me.id, me.source, me.owner, me.title, me.price,
32 ROW_NUMBER() OVER( ) AS rno__row__index
34 SELECT me.id, me.source, me.owner, me.title, me.price,
37 JOIN owners owner ON owner.id = me.owner
41 JOIN owners owner ON owner.id = me.owner
42 WHERE rno__row__index BETWEEN 1 AND 1
44 [ [ 'source', 'Library' ] ],
48 my $rs_selectas_rel = $schema->resultset ('BooksInLibrary')->search ({}, {
49 '+select' => ['owner.name'],
50 '+as' => ['owner_name'],
56 $rs_selectas_rel->as_query,
58 SELECT me.id, me.source, me.owner, me.title, me.price,
62 ROW_NUMBER() OVER( ) AS rno__row__index
64 SELECT me.id, me.source, me.owner, me.title, me.price,
67 JOIN owners owner ON owner.id = me.owner
71 JOIN owners owner ON owner.id = me.owner
72 WHERE rno__row__index BETWEEN 1 AND 1
74 [ [ 'source', 'Library' ] ],