extraclauses and plugin system
[scpubgit/Q-Branch.git] / maint / sqlacexpr
index 63b41f6..9bcb6c6 100755 (executable)
@@ -1,12 +1,22 @@
-use SQL::Abstract::ExtraClauses;
-use Devel::Dwarn;
+#!/usr/bin/env perl
 
-warn $ARGV[1];
+use lib 'lib';
+use strictures 2;
+use SQL::Abstract;
+use Devel::DDCWarn;
 
-my @args = eval '('.$ARGV[1].')';
+warn $ARGV[1]."\n";
+
+my $sqlac = SQL::Abstract->new(
+  unknown_unop_always_func => 1,
+  lazy_join_sql_parts => 1,
+)->plugin('+ExtraClauses');
+
+my @args = ($ARGV[1] =~ /^\.\// ? do $ARGV[1] : eval '+('.$ARGV[1].')');
 
 die $@ if $@;
 
-my $sqlac = SQL::Abstract::ExtraClauses->new(unknown_unop_always_func => 1);
+my ($q, @bind) = $sqlac->${\$ARGV[0]}(@args);
 
-Dwarn([ $sqlac->${\$ARGV[0]}(@args) ]);
+print STDERR +(ref($q) ? $q->format : $q)."\n";
+Dwarn [ @bind ];