complete murdering emulate_limit
Matt S Trout [Sat, 12 Oct 2013 16:12:28 +0000 (16:12 +0000)]
lib/DBIx/Class/SQLMaker.pm
t/sqlmaker/limit_dialects/custom.t

index 0256793..dc62763 100644 (file)
@@ -53,6 +53,15 @@ has limit_dialect => (
   trigger => sub { shift->clear_renderer_class }
 );
 
+sub BUILD {
+  if ($_[0]->can('emulate_limit')) {
+    die <<EODIE;
+The ancient and horrible emulate_limit method was deprecated for many moons.
+Now, it is no more. Time to rewrite the code in ${\ref($_[0])}
+EODIE
+  }
+}
+
 our %LIMIT_DIALECT_MAP = (
   'GenericSubQ' => 'GenericSubquery',
 );
index c5e61c6..8bdee1a 100644 (file)
@@ -2,7 +2,6 @@ use strict;
 use warnings;
 
 use Test::More;
-use Test::Warn;
 
 use lib qw(t/lib);
 use DBICTest;
@@ -29,27 +28,6 @@ $s->storage->sql_maker_class ('DBICTest::SQLMaker::CustomDialect');
 
 my $rs = $s->resultset ('CD');
 
-warnings_exist { is_same_sql_bind (
-  $rs->search ({}, { rows => 1, offset => 3,columns => [
-      { id => 'foo.id' },
-      { 'artist.id' => 'bar.id' },
-      { bleh => \ 'TO_CHAR (foo.womble, "blah")' },
-    ]})->as_query,
-  '(
-    shiny sproc (
-      (
-        SELECT foo.id, bar.id, TO_CHAR (foo.womble, "blah")
-          FROM cd me
-      ),
-      1,
-      3
-    )
-  )',
-  [],
-  'Rownum subsel aliasing works correctly'
- )}
-  qr/\Qthe legacy emulate_limit() mechanism inherited from SQL::Abstract::Limit has been deprecated/,
-  'deprecation warning'
-;
+ok(!eval { $rs->all }, 'Legacy emulate_limit method dies');
 
 done_testing;