[Jifty-commit] r6673 - Jifty-DBI/branches/tisql/lib/Jifty/DBI

Jifty commits jifty-commit at lists.jifty.org
Wed Mar 18 22:29:45 EDT 2009


Author: ruz
Date: Wed Mar 18 22:29:44 2009
New Revision: 6673

Modified:
   Jifty-DBI/branches/tisql/lib/Jifty/DBI/Tisql.pm

Log:
* split query into query_string and query_struct

Modified: Jifty-DBI/branches/tisql/lib/Jifty/DBI/Tisql.pm
==============================================================================
--- Jifty-DBI/branches/tisql/lib/Jifty/DBI/Tisql.pm	(original)
+++ Jifty-DBI/branches/tisql/lib/Jifty/DBI/Tisql.pm	Wed Mar 18 22:29:44 2009
@@ -88,6 +88,15 @@
 }
 
 sub query {
+    my $self = shift;
+    return $self->query_struct(@_)
+        if blessed $_[0]
+        && ($_[0]->isa('Jifty::DBI::Tisql::Condition')
+            || $_[0]->isa('Jifty::DBI::Tisql::Tree'));
+    return $self->query_string(@_);
+}
+
+sub query_string {
     my $self   = shift;
     my $string = shift;
     my @binds  = @_;
@@ -116,6 +125,15 @@
     return $self;
 }
 
+sub query_struct {
+    my $self = shift;
+    my $tree = shift;
+
+    $self->{'tisql'}{'conditions'} = [ $tree->isa('HASH')? $tree : @$tree ]; #xxx: hack :)
+    $self->apply_query_tree( $self->{'tisql'}{'conditions'} );
+    return $self;
+}
+
 sub apply_query_tree {
     my ($self, $tree, $ea) = @_;
     $ea ||= 'AND';


More information about the Jifty-commit mailing list