7 use DBIC::SqlMakerTest;
9 my $schema = DBICTest->init_schema;
11 $schema->storage->_sql_maker->limit_dialect ('RowNumberOver');
13 my $rs_selectas_col = $schema->resultset ('BooksInLibrary')->search ({}, {
14 '+select' => ['owner.name'],
15 '+as' => ['owner.name'],
21 $rs_selectas_col->as_query,
23 SELECT me.id, me.source, me.owner, me.title, me.price,
27 ROW_NUMBER() OVER( ) AS rno__row__index
29 SELECT me.id, me.source, me.owner, me.title, me.price,
32 JOIN owners owner ON owner.id = me.owner
36 JOIN owners owner ON owner.id = me.owner
37 WHERE rno__row__index BETWEEN 1 AND 1
39 [ [ 'source', 'Library' ] ],
43 my $rs_selectas_rel = $schema->resultset ('BooksInLibrary')->search ({}, {
44 '+select' => ['owner.name'],
45 '+as' => ['owner_name'],
51 $rs_selectas_rel->as_query,
53 SELECT me.id, me.source, me.owner, me.title, me.price,
57 ROW_NUMBER() OVER( ) AS rno__row__index
59 SELECT me.id, me.source, me.owner, me.title, me.price,
62 JOIN owners owner ON owner.id = me.owner
66 JOIN owners owner ON owner.id = me.owner
67 WHERE rno__row__index BETWEEN 1 AND 1
69 [ [ 'source', 'Library' ] ],