Commit | Line | Data |
d5dedbd6 |
1 | use strict; |
2 | use warnings; |
3 | |
4 | use Test::More; |
67341081 |
5 | use Test::Warn; |
d5dedbd6 |
6 | |
7 | use lib qw(t/lib); |
a5a7bb73 |
8 | use DBICTest ':DiffSQL'; |
d5dedbd6 |
9 | |
10 | # This is legacy stuff from SQL::Absract::Limit |
11 | # Keep it around just in case someone is using it |
12 | |
13 | { |
14 | package DBICTest::SQLMaker::CustomDialect; |
15 | use base qw/DBIx::Class::SQLMaker/; |
16 | sub emulate_limit { |
17 | my ($self, $sql, $rs_attrs, $limit, $offset) = @_; |
18 | return sprintf ('shiny sproc ((%s), %d, %d)', |
19 | $sql, |
20 | $limit || 0, |
21 | $offset || 0, |
22 | ); |
23 | } |
24 | } |
d9c17594 |
25 | my $s = DBICTest::Schema->connect (DBICTest->_database); |
d5dedbd6 |
26 | $s->storage->sql_maker_class ('DBICTest::SQLMaker::CustomDialect'); |
27 | |
28 | my $rs = $s->resultset ('CD'); |
67341081 |
29 | |
30 | warnings_exist { is_same_sql_bind ( |
d5dedbd6 |
31 | $rs->search ({}, { rows => 1, offset => 3,columns => [ |
32 | { id => 'foo.id' }, |
95e41036 |
33 | { 'artist.id' => 'bar.id' }, |
d5dedbd6 |
34 | { bleh => \ 'TO_CHAR (foo.womble, "blah")' }, |
35 | ]})->as_query, |
36 | '( |
37 | shiny sproc ( |
38 | ( |
39 | SELECT foo.id, bar.id, TO_CHAR (foo.womble, "blah") |
40 | FROM cd me |
41 | ), |
42 | 1, |
43 | 3 |
44 | ) |
45 | )', |
46 | [], |
47 | 'Rownum subsel aliasing works correctly' |
67341081 |
48 | )} |
49 | qr/\Qthe legacy emulate_limit() mechanism inherited from SQL::Abstract::Limit has been deprecated/, |
50 | 'deprecation warning' |
51 | ; |
d5dedbd6 |
52 | |
53 | done_testing; |