DB-Object
view release on metacpan or search on metacpan
lib/DB/Object/Query/Element.pm view on Meta::CPAN
return(0) if( !defined( $placeholder ) );
my $placeholder_re = $self->query_object->database_object->_placeholder_regexp;
if( $placeholder =~ /^$placeholder_re$/ && defined( $+{index} ) )
{
return(1);
}
return(0);
}
# The placeholder, such as ?, $2, ?2, or others supported by the driver
sub placeholder { return( shift->_set_get_scalar_as_object( { field => 'placeholder', callbacks => {
set => sub
{
# $val is a scalar object (Module::Generic::Scalar)
my( $self, $val ) = @_;
my $placeholder_re = $self->query_object->database_object->_placeholder_regexp;
if( defined( $val ) && "$val" =~ /^(?:$placeholder_re)$/ )
{
# Could be undef
$self->index( $+{index} );
}
lib/DB/Object/Query/Element.pm view on Meta::CPAN
{
$self->index( undef );
}
}
}}, @_ ) ); }
sub query_object { return( shift->_set_get_object( 'query_object', 'DB::Object::Query', @_ ) ); }
# The field data type to be used when binding parameters
# sub type { return( shift->_set_get_scalar_as_object( 'type', @_ ) ); }
sub type { return( shift->_set_get_scalar_as_object( { field => 'type', callbacks =>
{
get => sub
{
my( $self, $val ) = @_;
my $field = $self->field;
if( ( !defined( $val ) || !$val->defined || !CORE::length( $val // '' ) ) &&
$self->_is_a( $field => 'DB::Object::Fields::Field' ) )
{
$val = $field->datatype->constant;
}
lib/DB/Object/Tables.pm view on Meta::CPAN
my $self = shift( @_ );
my $args = $self->_get_args_as_hash( @_ );
$self->_load_class( 'DB::Object::Constraint::Index' ) ||
return( $self->pass_error );
$args->{debug} = $self->debug if( !CORE::exists( $args->{debug} ) || !defined( $args->{debug} ) );
my $this = DB::Object::Constraint::Index->new( %$args ) ||
return( $self->pass_error( DB::Object::Constraint::Index->error ) );
return( $this );
}
sub no_bind { return( shift->_set_get_boolean( { field => 'no_bind', callbacks =>
{
set => sub
{
my $self = shift( @_ );
my $val = shift( @_ );
return if( !$val );
my $q = $self->_reset_query;
my $where = $q->where();
my $group = $q->group();
my $order = $q->order();
( run in 1.941 second using v1.01-cache-2.11-cpan-9b1e4054eb1 )