is_same_sql_bind(
$rs_selectas_col->as_query,
'(
- SELECT me.id, me.source, me.owner, me.title, me.price,
- owner.name
+ SELECT id, source, owner, title, price,
+ owner__name
FROM (
- SELECT me.*,
+ SELECT id, source, owner, title, price,
+ owner__name,
ROW_NUMBER() OVER( ) AS rno__row__index
FROM (
SELECT me.id, me.source, me.owner, me.title, me.price,
- owner.name
+ owner.name AS owner__name
FROM books me
JOIN owners owner ON owner.id = me.owner
WHERE ( source = ? )
) me
) me
- JOIN owners owner ON owner.id = me.owner
WHERE rno__row__index BETWEEN 1 AND 1
)',
[ [ 'source', 'Library' ] ],
);
+$schema->storage->_sql_maker->quote_char ([qw/ [ ] /]);
+$schema->storage->_sql_maker->name_sep ('.');
my $rs_selectas_rel = $schema->resultset ('BooksInLibrary')->search ({}, {
'+select' => ['owner.name'],
'+as' => ['owner_name'],
join => 'owner',
- rows => 1
+ rows => 1,
});
is_same_sql_bind(
$rs_selectas_rel->as_query,
'(
- SELECT me.id, me.source, me.owner, me.title, me.price,
- owner.name
+ SELECT [id], [source], [owner], [title], [price],
+ [owner_name]
FROM (
- SELECT me.*,
- ROW_NUMBER() OVER( ) AS rno__row__index
+ SELECT [id], [source], [owner], [title], [price],
+ [owner_name],
+ ROW_NUMBER() OVER( ) AS [rno__row__index]
FROM (
- SELECT me.id, me.source, me.owner, me.title, me.price,
- owner.name
- FROM books me
- JOIN owners owner ON owner.id = me.owner
- WHERE ( source = ? )
- ) me
- ) me
- JOIN owners owner ON owner.id = me.owner
- WHERE rno__row__index BETWEEN 1 AND 1
+ SELECT [me].[id], [me].[source], [me].[owner], [me].[title], [me].[price],
+ [owner].[name] AS [owner_name]
+ FROM [books] [me]
+ JOIN [owners] [owner] ON [owner].[id] = [me].[owner]
+ WHERE ( [source] = ? )
+ ) [me]
+ ) [me]
+ WHERE [rno__row__index] BETWEEN 1 AND 1
)',
[ [ 'source', 'Library' ] ],
);