EasyDBAccess
view release on metacpan or search on metacpan
EasyDBAccess.pm view on Meta::CPAN
my $caller='';
for(my $i=0;;$i++){
my $ra_caller_info=[caller($i)];
if(scalar(@$ra_caller_info)==0){last;}
else{
$caller="\t$ra_caller_info->[1] LINE ".sprintf('%04s',$ra_caller_info->[2]).": $ra_caller_info->[3]\n$caller";
}
}
$caller="CallerInfo:\n$caller";
$err_detail="$_pkg_name\:\:batch_insert\(\) throw $_str_exec_err\nHelpNote : $_str_dbh_do_err\n$sys_err$param$caller\n";
return wantarray?(0,5,$err_detail,$_pkg_name):0;
}
#===end===
$values_str='';$c=0;$bind_param=[];
}
}
if($c>0){
my $s=$sql_str;
chop($values_str);
$s=~s/\%V/$values_str/g;
$self->{dbh}->do($s,undef,@$bind_param);
#==3.0.7==
if($self->{dbh}->err){
my $err_detail;
my $sys_err=defined($self->{dbh}->errstr)?"ErrString : ".$self->{dbh}->errstr."\n":'';
my $param="ParamInfo :\n"._dump([$s,@$bind_param])."\n";
my $caller='';
for(my $i=0;;$i++){
my $ra_caller_info=[caller($i)];
if(scalar(@$ra_caller_info)==0){last;}
else{
$caller="\t$ra_caller_info->[1] LINE ".sprintf('%04s',$ra_caller_info->[2]).": $ra_caller_info->[3]\n$caller";
}
}
$caller="CallerInfo:\n$caller";
$err_detail="$_pkg_name\:\:batch_insert\(\) throw $_str_exec_err\nHelpNote : $_str_dbh_do_err\n$sys_err$param$caller\n";
return wantarray?(0,5,$err_detail,$_pkg_name):0;
}
#===end===
}
#==3.0.7==
# return 1;
return wantarray?(1,0,undef,$_pkg_name):1;
#===end===
}
#==3.0.4==
#===wang.yezhuo add start===
sub insert_one_row {
my $self = shift;
my ($sql, $filter, $rh_data, $ra) = @_;
my $ra_param = build_array($filter, $rh_data, $ra);
return $self->execute($sql, $ra_param);
}
sub update {
my $self = shift;
my ($sql, $filter, $rh_data, $ra_param) = @_;
my ($item_str, $item_bind_param, $flag, $item_str2) = build_update($filter, $rh_data);
return $self->execute($sql, [@$item_bind_param, @$ra_param], {ITEM => $item_str, COMMAITEM => $item_str2});
}
#===wang.yezhuo add end===
#===end===
sub die_to_file{
my $file_path= shift;
my ($err_pkg,$err_code,$err_detail,$record_time)=(undef,undef,undef,CORE::time);
my $param_count=scalar(@_);
if($param_count==1){
($err_detail)=@_;
}elsif($param_count==3){
($err_code,$err_detail,$err_pkg)=@_;
}elsif($param_count==4){
($err_code,$err_detail,$err_pkg,$record_time)=@_;
}else{
#==3.0.3==
# CORE::die "die_to_file param error;";
CORE::die "$_pkg_name\:\:$_str_func_die_to_file\(\) param error;";
#===end===
}
$_=[localtime($record_time)];
my $prefix="#####".sprintf('%04s-%02s-%02s %02s:%02s:%02s',$_->[5]+1900,$_->[4]+1,$_->[3],$_->[2],$_->[1],$_->[0])."\n";
my $result=append_file($file_path,$prefix.$err_detail."\n");
if($result){
#log succ
CORE::die;
}else{
#==3.0.3==
# CORE::die($_pkg_name.'::_lookup_err_code: param count should be 1');
CORE::die("$_pkg_name\:\:$_str_func_die_to_file\(\) param count should be 1");
#===end===
}
}
#==3.0.1==
sub err_str{
my $param_count=scalar(@_);
if($param_count==1){
return $_[0]->{err_str};
}else{
CORE::die("$_pkg_name\:\:$_str_func_err_str\(\) param count should be 1");
}
}
#===end===
sub err_code{
my $param_count=scalar(@_);
if($param_count==1){
return $_[0]->{err_code};
}elsif($param_count==2){
return defined($_[0]->{err_code})&&$_[0]->{err_code}==&_lookup_err_code($_[1]);
( run in 1.225 second using v1.01-cache-2.11-cpan-d7f47b0818f )