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 )