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 id, source, owner, title, price,
26 SELECT id, source, owner, title, price,
28 ROW_NUMBER() OVER( ) AS rno__row__index
30 SELECT me.id, me.source, me.owner, me.title, me.price,
31 owner.name AS owner__name
33 JOIN owners owner ON owner.id = me.owner
37 WHERE rno__row__index BETWEEN 1 AND 1
39 [ [ 'source', 'Library' ] ],
42 $schema->storage->_sql_maker->quote_char ([qw/ [ ] /]);
43 $schema->storage->_sql_maker->name_sep ('.');
45 my $rs_selectas_rel = $schema->resultset ('BooksInLibrary')->search ({}, {
46 '+select' => ['owner.name'],
47 '+as' => ['owner_name'],
53 $rs_selectas_rel->as_query,
55 SELECT [id], [source], [owner], [title], [price],
58 SELECT [id], [source], [owner], [title], [price],
60 ROW_NUMBER() OVER( ) AS [rno__row__index]
62 SELECT [me].[id], [me].[source], [me].[owner], [me].[title], [me].[price],
63 [owner].[name] AS [owner_name]
65 JOIN [owners] [owner] ON [owner].[id] = [me].[owner]
66 WHERE ( [source] = ? )
69 WHERE [rno__row__index] BETWEEN 1 AND 1
71 [ [ 'source', 'Library' ] ],