99 lines
2.2 KiB
Perl
99 lines
2.2 KiB
Perl
package SQL::Statement::Placeholder;
|
|
|
|
######################################################################
|
|
#
|
|
# This module is copyright (c), 2009-2020 by Jens Rehsack.
|
|
# All rights reserved.
|
|
#
|
|
# It may be freely distributed under the same terms as Perl itself.
|
|
# See below for help and copyright information (search for SYNOPSIS).
|
|
#
|
|
######################################################################
|
|
|
|
use strict;
|
|
use warnings FATAL => "all";
|
|
|
|
use vars qw(@ISA);
|
|
use Carp ();
|
|
|
|
use SQL::Statement::Term ();
|
|
|
|
our $VERSION = '1.414';
|
|
|
|
@ISA = qw(SQL::Statement::Term);
|
|
|
|
=pod
|
|
|
|
=head1 NAME
|
|
|
|
SQL::Statement::Placeholder - implements getting the next placeholder value
|
|
|
|
=head1 SYNOPSIS
|
|
|
|
# create an placeholder term with an SQL::Statement object as owner
|
|
# and the $argnum of the placeholder.
|
|
my $term = SQL::Statement::Placeholder->new( $owner, $argnum );
|
|
# access the result of that operation
|
|
$term->value( $eval );
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
SQL::Statement::Placeholder implements getting the next placeholder value.
|
|
Accessing a specific placeholder is currently unimplemented and not tested.
|
|
|
|
=head1 INHERITANCE
|
|
|
|
SQL::Statement::Placeholder
|
|
ISA SQL::Statement::Term
|
|
|
|
=head1 METHODS
|
|
|
|
=head2 new
|
|
|
|
Instantiates a new C<SQL::Statement::Placeholder> instance.
|
|
|
|
=head2 value
|
|
|
|
Returns the value of the next placeholder.
|
|
|
|
=cut
|
|
|
|
sub new
|
|
{
|
|
my ( $class, $owner, $argnum ) = @_;
|
|
|
|
my $self = $class->SUPER::new($owner);
|
|
$self->{ARGNUM} = $argnum;
|
|
|
|
return $self;
|
|
}
|
|
|
|
sub value($)
|
|
{
|
|
|
|
# from S::S->get_row_value():
|
|
# my $val = (
|
|
# $self->{join}
|
|
# or !$eval
|
|
# or ref($eval) =~ /Statement$/
|
|
# ) ? $self->params($arg_num) : $eval->param($arg_num);
|
|
|
|
# let's see where us will lead taking from params every time
|
|
# XXX later: return $_[0]->{OWNER}->{params}->[$_[0]->{ARGNUM}];
|
|
return $_[0]->{OWNER}->{params}->[ $_[0]->{OWNER}->{argnum}++ ];
|
|
}
|
|
|
|
=head1 AUTHOR AND COPYRIGHT
|
|
|
|
Copyright (c) 2009-2020 by Jens Rehsack: rehsackATcpan.org
|
|
|
|
All rights reserved.
|
|
|
|
You may distribute this module under the terms of either the GNU
|
|
General Public License or the Artistic License, as specified in
|
|
the Perl README file.
|
|
|
|
=cut
|
|
|
|
1;
|