use vars qw(
@EXPORT_OK $DEBUG $me $cgi $freeside_uid $conf_dir $cache_dir
$secrets $datasrc $db_user $db_pass $schema $dbh $driver_name
- $AutoCommit %callback @callback $callback_hack
+ $AutoCommit $ForceObeyAutoCommit %callback @callback $callback_hack
);
use subs qw( getsecrets );
use Carp qw( carp croak cluck confess );
-use DBI;
+use FS::DBI;
use IO::File;
use FS::CurrentUser;
$conf_dir = "%%%FREESIDE_CONF%%%";
$cache_dir = "%%%FREESIDE_CACHE%%%";
+# Code wanting to issue a COMMIT statement to the database is expected to
+# obey the convention of checking this flag first. Setting $AutoCommit = 0
+# should (usually) suppress COMMIT statements.
$AutoCommit = 1; #ours, not DBI
+
+# Not all methods obey $AutoCommit, by design choice. Setting
+# $ForceObeyAutoCommit = 1 will override that design choice for:
+# &FS::cust_main::Billing::collect
+# &FS::cust_main::Billing::do_cust_event
+$ForceObeyAutoCommit = 0;
+
$callback_hack = 0;
=head1 NAME
}
sub myconnect {
- my $handle = DBI->connect( getsecrets(), { 'AutoCommit' => 0,
- 'ChopBlanks' => 1,
- 'ShowErrorStatement' => 1,
- 'pg_enable_utf8' => 1,
- #'mysql_enable_utf8' => 1,
- }
- )
- or die "DBI->connect error: $DBI::errstr\n";
+ my $handle = FS::DBI->connect(
+ getsecrets(),
+ {
+ 'AutoCommit' => 0,
+ 'ChopBlanks' => 1,
+ 'ShowErrorStatement' => 1,
+ 'pg_enable_utf8' => 1,
+ # 'mysql_enable_utf8' => 1,
+ }
+ ) or die "FS::DBI->connect error: $FS::DBI::errstr\n";
$FS::Conf::conf_cache = undef;
=item cgi
-Returns the CGI (see L<CGI>) object.
+(Deprecated) Returns the CGI (see L<CGI>) object.
=cut
$cgi;
}
-=item cgi CGI_OBJECT
+=item setcgi CGI_OBJECT
-Sets the CGI (see L<CGI>) object.
+(Deprecated) Sets the CGI (see L<CGI>) object.
=cut