Ambrosia
view release on metacpan - search on metacpan
view release on metacpan or search on metacpan
lib/Ambrosia/DataProvider/BaseDriver.pm view on Meta::CPAN
sub reset
{
my $self = shift;
$self->_cql_query = [];
$self->_cache = new Ambrosia::core::Nil();
return $self;
}
sub next : Abstract {}
sub count : Abstract {}
####### CQL #########
sub WHAT() { 0 }
sub SELECT() { 1 }
sub INSERT() { 2 }
sub UPDATE() { 3 }
sub DELETE() { 4 }
sub SOURCE() { 5 }
sub PREDICATE() { 6 }
sub LIMIT() { 7 }
sub ORDER_BY() { 8 }
sub NO_QUOTE() { 9 }
sub JOIN() { 10 }
sub ON() { 11 }
sub UNIQ() { 12 }
sub UNION() { 13 }
#####################
sub get_what { $_[0]->_cql_query->[&WHAT] }
sub get_select { $_[0]->_cql_query->[&SELECT] }
sub get_insert { $_[0]->_cql_query->[&INSERT] }
sub get_update { $_[0]->_cql_query->[&UPDATE] }
sub get_delete { $_[0]->_cql_query->[&DELETE] }
sub get_source { $_[0]->_cql_query->[&SOURCE] }
sub get_predicate { $_[0]->_cql_query->[&PREDICATE] }
sub get_limit { $_[0]->_cql_query->[&LIMIT] }
sub get_order_by { $_[0]->_cql_query->[&ORDER_BY] }
sub get_no_quote { $_[0]->_cql_query->[&NO_QUOTE] }
sub get_join { $_[0]->_cql_query->[&JOIN] }
sub get_on { $_[0]->_cql_query->[&ON] }
sub get_uniq { $_[0]->_cql_query->[&UNIQ] }
sub get_union { $_[0]->_cql_query->[&UNION] }
sub what
{
my $self = shift;
$self->_cql_query->[&WHAT] = [@_];
return $self;
}
sub select
{
return $_[0];
}
sub insert
{
return $_[0];
}
sub update
{
return $_[0];
}
sub delete
{
return $_[0];
}
sub source
{
my $self = shift;
$self->_cql_query->[&SOURCE] = ref $_[0] ? $_[0] : [@_];
return $self;
}
sub from
{
goto &source;
}
sub into
{
goto &source;
}
sub predicate
{
my $self = shift;
push @{$self->_cql_query->[&PREDICATE]}, [@_] if @_;
return $self;
}
sub where
{
goto &predicate;
}
sub limit
{
my $self = shift;
if ( $_[0] )
{
$self->_cql_query->[&LIMIT]->[0] = $_[0];
}
else
{
delete $self->_cql_query->[&LIMIT];
}
return $self;
}
sub skip
{
my $self = shift;
if ( @_ )
{
$self->_cql_query->[&LIMIT]->[1] = shift;
}
view all matches for this distributionview release on metacpan - search on metacpan
( run in 0.415 second using v1.00-cache-2.02-grep-82fe00e-cpan-1310916c57ae )