# added databse_port to codepot.ini.in
# fixed some code for postgresql # added codepot.pgsql
This commit is contained in:
@ -1,6 +1,6 @@
|
||||
|
||||
cfgdir=$(CFGDIR)
|
||||
cfg_DATA = codepot.ini codepot.mysql codepot.a2ldap codepot.httpd
|
||||
cfg_DATA = codepot.ini codepot.mysql codepot.pgsql codepot.a2ldap codepot.httpd
|
||||
cfg_SCRIPTS = start-commit pre-commit post-commit pre-revprop-change post-revprop-change cloc.pl
|
||||
|
||||
perldir=$(CFGDIR)/perl/Codepot
|
||||
|
@ -207,7 +207,7 @@ top_build_prefix = @top_build_prefix@
|
||||
top_builddir = @top_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
wwwdir = @wwwdir@
|
||||
cfg_DATA = codepot.ini codepot.mysql codepot.a2ldap codepot.httpd
|
||||
cfg_DATA = codepot.ini codepot.mysql codepot.pgsql codepot.a2ldap codepot.httpd
|
||||
cfg_SCRIPTS = start-commit pre-commit post-commit pre-revprop-change post-revprop-change cloc.pl
|
||||
perldir = $(CFGDIR)/perl/Codepot
|
||||
perl_SCRIPTS = perl/Codepot/AccessHandler.pm perl/Codepot/AuthenHandler.pm
|
||||
|
@ -10,8 +10,11 @@ default_site_name = "@PACKAGE@"
|
||||
|
||||
;------------------------------------------------------------------------------
|
||||
; database settings
|
||||
;
|
||||
; database_driver: mysql for MySQL, postgre for PostgreSQL
|
||||
;------------------------------------------------------------------------------
|
||||
database_hostname = "localhost"
|
||||
database_port = ""
|
||||
database_username = ""
|
||||
database_password = ""
|
||||
database_name = ""
|
||||
|
@ -173,12 +173,30 @@ CREATE TABLE file (
|
||||
|
||||
UNIQUE KEY file_id (projectid, name),
|
||||
UNIQUE KEY (encname),
|
||||
INDEX tagged_file_id (projectid, tag, name),
|
||||
INDEX file_tagged_name (projectid, tag, name),
|
||||
|
||||
CONSTRAINT file_projectid FOREIGN KEY (projectid) REFERENCES project(id)
|
||||
ON DELETE RESTRICT ON UPDATE CASCADE
|
||||
) charset=utf8 engine=InnoDB;
|
||||
|
||||
CREATE TABLE code_review (
|
||||
projectid VARCHAR(32) NOT NULL,
|
||||
rev BIGINT NOT NULL,
|
||||
sno BIGINT NOT NULL,
|
||||
comment TEXT NOT NULL,
|
||||
|
||||
createdon DATETIME NOT NULL,
|
||||
createdby VARCHAR(32) NOT NULL,
|
||||
|
||||
updatedon DATETIME NOT NULL,
|
||||
updatedby VARCHAR(32) NOT NULL,
|
||||
|
||||
UNIQUE KEY code_review_id (projectid, rev, sno),
|
||||
|
||||
CONSTRAINT code_review_projectid FOREIGN KEY (projectid) REFERENCES project(id)
|
||||
ON DELETE RESTRICT ON UPDATE CASCADE
|
||||
) charset=utf8 engine=InnoDB;
|
||||
|
||||
CREATE TABLE log (
|
||||
id BIGINT PRIMARY KEY AUTO_INCREMENT,
|
||||
projectid VARCHAR(32) NOT NULL,
|
||||
@ -204,20 +222,3 @@ CREATE TABLE user (
|
||||
enabled CHAR(1) NOT NULL DEFAULT 'N' CHECK(enabled in ('Y', 'N'))
|
||||
) charset=utf8 engine=InnoDB;
|
||||
|
||||
CREATE TABLE code_review (
|
||||
projectid VARCHAR(32) NOT NULL,
|
||||
rev BIGINT NOT NULL,
|
||||
sno BIGINT NOT NULL,
|
||||
comment TEXT NOT NULL,
|
||||
|
||||
createdon DATETIME NOT NULL,
|
||||
createdby VARCHAR(32) NOT NULL,
|
||||
|
||||
updatedon DATETIME NOT NULL,
|
||||
updatedby VARCHAR(32) NOT NULL,
|
||||
|
||||
UNIQUE KEY code_review_id (projectid, rev, sno),
|
||||
|
||||
CONSTRAINT code_review_projectid FOREIGN KEY (projectid) REFERENCES project(id)
|
||||
ON DELETE RESTRICT ON UPDATE CASCADE
|
||||
) charset=utf8 engine=InnoDB;
|
||||
|
245
codepot/etc/codepot.pgsql
Normal file
245
codepot/etc/codepot.pgsql
Normal file
@ -0,0 +1,245 @@
|
||||
-- ------------------------------------------------------------
|
||||
-- This file is the Codepot database schema file for PostreSQL.
|
||||
-- Note this file doesn't mandate which database to use.
|
||||
--
|
||||
-- Assumining "local all all password" in /var/lib/pgsql/data/pg_hba.conf
|
||||
--
|
||||
-- $ sudo -u postgres psql
|
||||
-- postgres=# CREATE USER codepot WITH PASSWORD 'codepot';
|
||||
-- postgres=# \du
|
||||
-- postgres=# CREATE DATABASE codepot;
|
||||
-- postgres=# \l
|
||||
-- postgres=# ALTER DATABASE "codepot" OWNER TO codepot;
|
||||
-- postgres=# \l
|
||||
-- postgres=# \q
|
||||
--
|
||||
-- $ psql -U codepot -W codepot
|
||||
-- postgres=# \i codepot.pgsql
|
||||
-- postgres=# \dt
|
||||
-- postgres=# \q
|
||||
-- ------------------------------------------------------------
|
||||
|
||||
CREATE TABLE site (
|
||||
id VARCHAR(32) PRIMARY KEY,
|
||||
name VARCHAR(128) NOT NULL,
|
||||
summary VARCHAR(255) NOT NULL,
|
||||
text TEXT NOT NULL,
|
||||
|
||||
createdon TIMESTAMP NOT NULL,
|
||||
updatedon TIMESTAMP NOT NULL,
|
||||
createdby VARCHAR(32) NOT NULL,
|
||||
updatedby VARCHAR(32) NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE project (
|
||||
id VARCHAR(32) PRIMARY KEY,
|
||||
name VARCHAR(255) UNIQUE NOT NULL,
|
||||
summary VARCHAR(255) NOT NULL,
|
||||
description TEXT NOT NULL,
|
||||
commitable CHAR(1) NOT NULL DEFAULT 'Y',
|
||||
public CHAR(1) NOT NULL DEFAULT 'Y',
|
||||
|
||||
createdon TIMESTAMP NOT NULL,
|
||||
updatedon TIMESTAMP NOT NULL,
|
||||
createdby VARCHAR(32) NOT NULL,
|
||||
updatedby VARCHAR(32) NOT NULL
|
||||
|
||||
);
|
||||
|
||||
CREATE TABLE project_membership (
|
||||
projectid VARCHAR(32) NOT NULL,
|
||||
userid VARCHAR(32) NOT NULL,
|
||||
priority INTEGER NOT NULL,
|
||||
UNIQUE (projectid, userid),
|
||||
CONSTRAINT membership_projectid FOREIGN KEY (projectid) REFERENCES project(id)
|
||||
ON DELETE CASCADE ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE wiki (
|
||||
projectid VARCHAR(32) NOT NULL,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
text TEXT NOT NULL,
|
||||
columns INT NOT NULL DEFAULT 1,
|
||||
|
||||
createdon TIMESTAMP NOT NULL,
|
||||
updatedon TIMESTAMP NOT NULL,
|
||||
createdby VARCHAR(32) NOT NULL,
|
||||
updatedby VARCHAR(32) NOT NULL,
|
||||
|
||||
UNIQUE (projectid, name),
|
||||
|
||||
CONSTRAINT wiki_projectid FOREIGN KEY (projectid) REFERENCES project(id)
|
||||
ON DELETE RESTRICT ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE wiki_attachment (
|
||||
projectid VARCHAR(32) NOT NULL,
|
||||
wikiname VARCHAR(255) NOT NULL,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
encname VARCHAR(255) NOT NULL,
|
||||
|
||||
createdon TIMESTAMP NOT NULL,
|
||||
createdby VARCHAR(32) NOT NULL,
|
||||
|
||||
UNIQUE (projectid, wikiname, name),
|
||||
|
||||
CONSTRAINT wiki_attachment_projectid FOREIGN KEY (projectid) REFERENCES project(id)
|
||||
ON DELETE RESTRICT ON UPDATE CASCADE,
|
||||
|
||||
CONSTRAINT wiki_attachment_wikiid FOREIGN KEY (projectid,wikiname) REFERENCES wiki(projectid,name)
|
||||
ON DELETE RESTRICT ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE issue (
|
||||
projectid VARCHAR(32) NOT NULL,
|
||||
id BIGINT NOT NULL,
|
||||
summary VARCHAR(255) NOT NULL,
|
||||
description TEXT NOT NULL,
|
||||
|
||||
type VARCHAR(32) NOT NULL,
|
||||
status VARCHAR(32) NOT NULL,
|
||||
owner VARCHAR(255) NOT NULL,
|
||||
priority VARCHAR(32) NOT NULL,
|
||||
|
||||
createdon TIMESTAMP NOT NULL,
|
||||
updatedon TIMESTAMP NOT NULL,
|
||||
createdby VARCHAR(32) NOT NULL,
|
||||
updatedby VARCHAR(32) NOT NULL,
|
||||
|
||||
PRIMARY KEY (projectid, id),
|
||||
|
||||
CONSTRAINT issue_projectid FOREIGN KEY (projectid) REFERENCES project(id)
|
||||
ON DELETE RESTRICT ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
CREATE INDEX issue_status_type_summary ON issue(projectid, status, type, summary);
|
||||
|
||||
CREATE INDEX issue_summary ON issue(projectid, summary);
|
||||
|
||||
CREATE TABLE issue_attachment (
|
||||
projectid VARCHAR(32) NOT NULL,
|
||||
issueid BIGINT NOT NULL,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
encname VARCHAR(255) NOT NULL,
|
||||
|
||||
createdon TIMESTAMP NOT NULL,
|
||||
createdby VARCHAR(32) NOT NULL,
|
||||
|
||||
UNIQUE (projectid, issueid, name),
|
||||
|
||||
CONSTRAINT issue_attachment_projectid FOREIGN KEY (projectid) REFERENCES project(id)
|
||||
ON DELETE RESTRICT ON UPDATE CASCADE,
|
||||
|
||||
CONSTRAINT issue_attachment_issueid FOREIGN KEY (projectid,issueid) REFERENCES issue(projectid,id)
|
||||
ON DELETE RESTRICT ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE issue_change (
|
||||
projectid VARCHAR(32) NOT NULL,
|
||||
id BIGINT NOT NULL,
|
||||
sno BIGINT NOT NULL,
|
||||
|
||||
type VARCHAR(32) NOT NULL,
|
||||
status VARCHAR(32) NOT NULL,
|
||||
owner VARCHAR(255) NOT NULL,
|
||||
priority VARCHAR(32) NOT NULL,
|
||||
comment TEXT NOT NULL,
|
||||
|
||||
updatedon TIMESTAMP NOT NULL,
|
||||
updatedby VARCHAR(32) NOT NULL,
|
||||
|
||||
PRIMARY KEY (projectid, id, sno),
|
||||
|
||||
CONSTRAINT issue_update_id FOREIGN KEY (projectid,id) REFERENCES issue(projectid,id)
|
||||
ON DELETE RESTRICT ON UPDATE CASCADE
|
||||
|
||||
);
|
||||
|
||||
CREATE INDEX issue_update_time ON issue_change(projectid, id, updatedon);
|
||||
|
||||
CREATE TABLE issue_change_attachment (
|
||||
projectid VARCHAR(32) NOT NULL,
|
||||
issueid BIGINT NOT NULL,
|
||||
issuesno BIGINT NOT NULL,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
encname VARCHAR(255) NOT NULL,
|
||||
|
||||
createdon TIMESTAMP NOT NULL,
|
||||
createdby VARCHAR(32) NOT NULL,
|
||||
|
||||
UNIQUE (projectid, issueid, name),
|
||||
|
||||
CONSTRAINT issue_change_attachment_projectid FOREIGN KEY (projectid) REFERENCES project(id)
|
||||
ON DELETE RESTRICT ON UPDATE CASCADE,
|
||||
|
||||
CONSTRAINT issue_change_attachment_issueidsno FOREIGN KEY (projectid,issueid,issuesno) REFERENCES issue_change(projectid,id,sno)
|
||||
ON DELETE RESTRICT ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE file (
|
||||
projectid VARCHAR(32) NOT NULL,
|
||||
name VARCHAR(255) NOT NULL,
|
||||
encname VARCHAR(255) NOT NULL,
|
||||
tag VARCHAR(54) NOT NULL,
|
||||
summary VARCHAR(255) NOT NULL,
|
||||
md5sum CHAR(32) NOT NULL,
|
||||
description TEXT NOT NULL,
|
||||
|
||||
createdon TIMESTAMP NOT NULL,
|
||||
updatedon TIMESTAMP NOT NULL,
|
||||
createdby VARCHAR(32) NOT NULL,
|
||||
updatedby VARCHAR(32) NOT NULL,
|
||||
|
||||
UNIQUE (projectid, name),
|
||||
UNIQUE (encname),
|
||||
|
||||
CONSTRAINT file_projectid FOREIGN KEY (projectid) REFERENCES project(id)
|
||||
ON DELETE RESTRICT ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
CREATE INDEX file_tagged_name ON file(projectid, tag, name);
|
||||
|
||||
|
||||
CREATE TABLE code_review (
|
||||
projectid VARCHAR(32) NOT NULL,
|
||||
rev BIGINT NOT NULL,
|
||||
sno BIGINT NOT NULL,
|
||||
comment TEXT NOT NULL,
|
||||
|
||||
createdon TIMESTAMP NOT NULL,
|
||||
createdby VARCHAR(32) NOT NULL,
|
||||
|
||||
updatedon TIMESTAMP NOT NULL,
|
||||
updatedby VARCHAR(32) NOT NULL,
|
||||
|
||||
UNIQUE (projectid, rev, sno),
|
||||
|
||||
CONSTRAINT code_review_projectid FOREIGN KEY (projectid) REFERENCES project(id)
|
||||
ON DELETE RESTRICT ON UPDATE CASCADE
|
||||
);
|
||||
|
||||
CREATE TABLE log (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
projectid VARCHAR(32) NOT NULL,
|
||||
type VARCHAR(16) NOT NULL,
|
||||
action VARCHAR(16) NOT NULL,
|
||||
userid VARCHAR(32) NOT NULL,
|
||||
message TEXT NOT NULL,
|
||||
createdon TIMESTAMP NOT NULL
|
||||
);
|
||||
|
||||
CREATE INDEX log_timed_project_type_action ON log(createdon, projectid, type, action);
|
||||
|
||||
CREATE TABLE user_settings (
|
||||
userid VARCHAR(32) PRIMARY KEY,
|
||||
code_hide_line_num CHAR(1) NOT NULL,
|
||||
code_hide_metadata CHAR(1) NOT NULL,
|
||||
icon_name VARCHAR(255) UNIQUE NULL
|
||||
);
|
||||
|
||||
CREATE TABLE "user" (
|
||||
userid VARCHAR(32) PRIMARY KEY,
|
||||
passwd VARCHAR(255) NOT NULL,
|
||||
email VARCHAR(255),
|
||||
enabled CHAR(1) NOT NULL DEFAULT 'N' CHECK(enabled in ('Y', 'N'))
|
||||
);
|
@ -23,6 +23,7 @@ sub get_config
|
||||
|
||||
my $config = {
|
||||
database_hostname => $cfg->param ("database_hostname"),
|
||||
database_port => $cfg->param ("database_port"),
|
||||
database_username => $cfg->param ("database_username"),
|
||||
database_password => $cfg->param ("database_password"),
|
||||
database_name => $cfg->param ("database_name"),
|
||||
@ -40,9 +41,16 @@ sub open_database
|
||||
my $dbtype = $cfg->{database_driver};
|
||||
my $dbname = $cfg->{database_name};
|
||||
my $dbhost = $cfg->{database_hostname};
|
||||
my $dbport = $cfg->{database_port};
|
||||
|
||||
if ($dbtype eq 'postgre') { $dbtype = 'Pg'; }
|
||||
|
||||
my $dbstr = "DBI:$dbtype:database=$dbname;";
|
||||
if (length($dbhost) > 0) { $dbstr .= "host=$dbhost;"; }
|
||||
if (length($dbport) > 0) { $dbstr .= "port=$dbport;"; }
|
||||
|
||||
my $dbh = DBI->connect(
|
||||
"DBI:$dbtype:$dbname:$dbhost",
|
||||
$dbstr,
|
||||
$cfg->{database_username},
|
||||
$cfg->{database_password},
|
||||
{ RaiseError => 0, PrintError => 0, AutoCommit => 0 }
|
||||
@ -102,7 +110,7 @@ if (!defined($cfg))
|
||||
my $dbh = open_database ($cfg);
|
||||
if (!defined($dbh))
|
||||
{
|
||||
print (STDERR "Cannot open database\n");
|
||||
printf (STDERR "Cannot open database - %s\n", $DBI::errstr);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
|
@ -28,6 +28,7 @@ sub get_config
|
||||
|
||||
my $config = {
|
||||
database_hostname => $cfg->param ("database_hostname"),
|
||||
database_port => $cfg->param ("database_port"),
|
||||
database_username => $cfg->param ("database_username"),
|
||||
database_password => $cfg->param ("database_password"),
|
||||
database_name => $cfg->param ("database_name"),
|
||||
@ -45,9 +46,16 @@ sub open_database
|
||||
my $dbtype = $cfg->{database_driver};
|
||||
my $dbname = $cfg->{database_name};
|
||||
my $dbhost = $cfg->{database_hostname};
|
||||
my $dbport = $cfg->{database_port};
|
||||
|
||||
if ($dbtype eq 'postgre') { $dbtype = 'Pg'; }
|
||||
|
||||
my $dbstr = "DBI:$dbtype:database=$dbname;";
|
||||
if (length($dbhost) > 0) { $dbstr .= "host=$dbhost;"; }
|
||||
if (length($dbport) > 0) { $dbstr .= "port=$dbport;"; }
|
||||
|
||||
my $dbh = DBI->connect(
|
||||
"DBI:$dbtype:$dbname:$dbhost",
|
||||
$dbstr,
|
||||
$cfg->{database_username},
|
||||
$cfg->{database_password},
|
||||
{ RaiseError => 0, PrintError => 0, AutoCommit => 0 }
|
||||
@ -104,7 +112,7 @@ if (!defined($cfg))
|
||||
my $dbh = open_database ($cfg);
|
||||
if (!defined($dbh))
|
||||
{
|
||||
print (STDERR "Cannot open database\n");
|
||||
printf (STDERR "Cannot open database - %s\n", $DBI::errstr);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
|
@ -43,6 +43,7 @@ sub get_config
|
||||
|
||||
my $config = {
|
||||
database_hostname => $cfg->param ('database_hostname'),
|
||||
database_port => $cfg->param ("database_port"),
|
||||
database_username => $cfg->param ('database_username'),
|
||||
database_password => $cfg->param ('database_password'),
|
||||
database_name => $cfg->param ('database_name'),
|
||||
@ -65,9 +66,16 @@ sub open_database
|
||||
my $dbtype = $cfg->{database_driver};
|
||||
my $dbname = $cfg->{database_name};
|
||||
my $dbhost = $cfg->{database_hostname};
|
||||
my $dbport = $cfg->{database_port};
|
||||
|
||||
if ($dbtype eq 'postgre') { $dbtype = 'Pg'; }
|
||||
|
||||
my $dbstr = "DBI:$dbtype:database=$dbname;";
|
||||
if (length($dbhost) > 0) { $dbstr .= "host=$dbhost;"; }
|
||||
if (length($dbport) > 0) { $dbstr .= "port=$dbport;"; }
|
||||
|
||||
my $dbh = DBI->connect(
|
||||
"DBI:$dbtype:$dbname:$dbhost",
|
||||
$dbstr,
|
||||
$cfg->{database_username},
|
||||
$cfg->{database_password},
|
||||
{ RaiseError => 0, PrintError => 0, AutoCommit => 0 }
|
||||
@ -510,7 +518,7 @@ if (defined($topdirs))
|
||||
#my $dbh = open_database ($cfg);
|
||||
#if (!defined($dbh))
|
||||
#{
|
||||
# print (STDERR "Cannot open database\n");
|
||||
# printf (STDERR "Cannot open database - %s\n", $DBI::errstr);
|
||||
# exit (1);
|
||||
#}
|
||||
#
|
||||
|
@ -29,6 +29,7 @@ sub get_config
|
||||
|
||||
my $config = {
|
||||
database_hostname => $cfg->param ("database_hostname"),
|
||||
database_port => $cfg->param ("database_port"),
|
||||
database_username => $cfg->param ("database_username"),
|
||||
database_password => $cfg->param ("database_password"),
|
||||
database_name => $cfg->param ("database_name"),
|
||||
@ -48,9 +49,16 @@ sub open_database
|
||||
my $dbtype = $cfg->{database_driver};
|
||||
my $dbname = $cfg->{database_name};
|
||||
my $dbhost = $cfg->{database_hostname};
|
||||
my $dbport = $cfg->{database_port};
|
||||
|
||||
if ($dbtype eq 'postgre') { $dbtype = 'Pg'; }
|
||||
|
||||
my $dbstr = "DBI:$dbtype:database=$dbname;";
|
||||
if (length($dbhost) > 0) { $dbstr .= "host=$dbhost;"; }
|
||||
if (length($dbport) > 0) { $dbstr .= "port=$dbport;"; }
|
||||
|
||||
my $dbh = DBI->connect(
|
||||
"DBI:$dbtype:$dbname:$dbhost",
|
||||
$dbstr,
|
||||
$cfg->{database_username},
|
||||
$cfg->{database_password},
|
||||
{ RaiseError => 0, PrintError => 0, AutoCommit => 0 }
|
||||
@ -161,7 +169,7 @@ elsif ($ACTION eq 'M' || $ACTION eq 'A')
|
||||
my $dbh = open_database ($cfg);
|
||||
if (!defined($dbh))
|
||||
{
|
||||
print (STDERR "Cannot open database\n");
|
||||
printf (STDERR "Cannot open database - %s\n", $DBI::errstr);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
|
@ -21,6 +21,7 @@ sub get_config
|
||||
|
||||
my $config = {
|
||||
database_hostname => $cfg->param ("database_hostname"),
|
||||
database_port => $cfg->param ("database_port"),
|
||||
database_username => $cfg->param ("database_username"),
|
||||
database_password => $cfg->param ("database_password"),
|
||||
database_name => $cfg->param ("database_name"),
|
||||
@ -38,9 +39,16 @@ sub open_database
|
||||
my $dbtype = $cfg->{database_driver};
|
||||
my $dbname = $cfg->{database_name};
|
||||
my $dbhost = $cfg->{database_hostname};
|
||||
my $dbport = $cfg->{database_port};
|
||||
|
||||
if ($dbtype eq 'postgre') { $dbtype = 'Pg'; }
|
||||
|
||||
my $dbstr = "DBI:$dbtype:database=$dbname;";
|
||||
if (length($dbhost) > 0) { $dbstr .= "host=$dbhost;"; }
|
||||
if (length($dbport) > 0) { $dbstr .= "port=$dbport;"; }
|
||||
|
||||
my $dbh = DBI->connect(
|
||||
"DBI:$dbtype:$dbname:$dbhost",
|
||||
$dbstr,
|
||||
$cfg->{database_username},
|
||||
$cfg->{database_password},
|
||||
{ RaiseError => 0, PrintError => 0, AutoCommit => 0 }
|
||||
@ -99,7 +107,7 @@ if (!defined($cfg))
|
||||
my $dbh = open_database ($cfg);
|
||||
if (!defined($dbh))
|
||||
{
|
||||
print (STDERR "Cannot open database\n");
|
||||
printf (STDERR "Cannot open database - %s\n", $DBI::errstr);
|
||||
exit (1);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user