X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=maint%2Fsqlacexpr;h=e10d98d11dac0996d4f433e1ff56889cab1fe7da;hb=47662caa5fb4467570af9f7b0fb3dffca20c7ed7;hp=63b41f6c8fdba70a91a7307d63117107724f38b1;hpb=3be8bc783dc0c0adeebf7187d7751047233d0ebe;p=scpubgit%2FQ-Branch.git diff --git a/maint/sqlacexpr b/maint/sqlacexpr index 63b41f6..e10d98d 100755 --- a/maint/sqlacexpr +++ b/maint/sqlacexpr @@ -1,12 +1,25 @@ +#!/usr/bin/env perl + +use lib 'lib'; +use strictures 2; +use SQL::Abstract; use SQL::Abstract::ExtraClauses; -use Devel::Dwarn; +use Devel::DDCWarn; + +warn $ARGV[1]."\n"; + +my $sqlac = SQL::Abstract->new( + unknown_unop_always_func => 1, + lazy_join_sql_parts => 1, +); -warn $ARGV[1]; +SQL::Abstract::ExtraClauses->apply_to($sqlac); -my @args = eval '('.$ARGV[1].')'; +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 ];