Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
bugzilla
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Ivan Ivlev
bugzilla
Commits
c4804fb4
Commit
c4804fb4
authored
Mar 10, 2005
by
mkanat%kerio.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bug 285397: Untested parts of Bugzilla::DB are broken (when running on PostgreSQL)
Patch By Max Kanat-Alexander <mkanat@kerio.com> r=Tomas.Kopal, a=justdave
parent
a46f353a
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
3 additions
and
11 deletions
+3
-11
DB.pm
Bugzilla/DB.pm
+1
-4
Mysql.pm
Bugzilla/DB/Mysql.pm
+0
-3
Pg.pm
Bugzilla/DB/Pg.pm
+2
-4
No files found.
Bugzilla/DB.pm
View file @
c4804fb4
...
...
@@ -478,12 +478,11 @@ sub bz_start_transaction {
my
(
$self
)
=
@_
;
if
(
$self
->
{
private_bz_in_transaction
})
{
carp
(
"Can't start transaction within another transaction"
);
ThrowCodeError
(
"nested_transaction"
);
}
else
{
# Turn AutoCommit off and start a new transaction
$self
->
begin_work
();
$self
->
{
private
private
_bz_in_transaction
}
=
1
;
$self
->
{
private_bz_in_transaction
}
=
1
;
}
}
...
...
@@ -491,7 +490,6 @@ sub bz_commit_transaction {
my
(
$self
)
=
@_
;
if
(
!
$self
->
{
private_bz_in_transaction
})
{
carp
(
"Can't commit without a transaction"
);
ThrowCodeError
(
"not_in_transaction"
);
}
else
{
$self
->
commit
();
...
...
@@ -504,7 +502,6 @@ sub bz_rollback_transaction {
my
(
$self
)
=
@_
;
if
(
!
$self
->
{
private_bz_in_transaction
})
{
carp
(
"Can't rollback without a transaction"
);
ThrowCodeError
(
"not_in_transaction"
);
}
else
{
$self
->
rollback
();
...
...
Bugzilla/DB/Mysql.pm
View file @
c4804fb4
...
...
@@ -42,7 +42,6 @@ package Bugzilla::DB::Mysql;
use
strict
;
use
Bugzilla::
Error
;
use
Carp
;
# This module extends the DB interface via inheritance
use
base
qw(Bugzilla::DB)
;
...
...
@@ -149,7 +148,6 @@ sub bz_lock_tables {
# Check first if there was no lock before
if
(
$self
->
{
private_bz_tables_locked
})
{
carp
(
"Tables already locked"
);
ThrowCodeError
(
"already_locked"
);
}
else
{
$self
->
do
(
'LOCK TABLE '
.
join
(
', '
,
@tables
));
...
...
@@ -165,7 +163,6 @@ sub bz_unlock_tables {
if
(
!
$self
->
{
private_bz_tables_locked
})
{
# Abort is allowed even without previous lock for error handling
return
if
$abort
;
carp
(
"No matching lock"
);
ThrowCodeError
(
"no_matching_lock"
);
}
else
{
$self
->
do
(
"UNLOCK TABLES"
);
...
...
Bugzilla/DB/Pg.pm
View file @
c4804fb4
...
...
@@ -42,7 +42,6 @@ package Bugzilla::DB::Pg;
use
strict
;
use
Bugzilla::
Error
;
use
Carp
;
# This module extends the DB interface via inheritance
use
base
qw(Bugzilla::DB)
;
...
...
@@ -146,7 +145,6 @@ sub bz_lock_tables {
# Check first if there was no lock before
if
(
$self
->
{
private_bz_tables_locked
})
{
carp
(
"Tables already locked"
);
ThrowCodeError
(
"already_locked"
);
}
else
{
my
%
read_tables
;
...
...
@@ -173,6 +171,7 @@ sub bz_lock_tables {
' IN ROW SHARE MODE'
)
if
keys
%
read_tables
;
Bugzilla
->
dbh
->
do
(
'LOCK TABLE '
.
join
(
', '
,
keys
%
write_tables
)
.
' IN ROW EXCLUSIVE MODE'
)
if
keys
%
write_tables
;
$self
->
{
private_bz_tables_locked
}
=
1
;
}
}
...
...
@@ -183,10 +182,9 @@ sub bz_unlock_tables {
if
(
!
$self
->
{
private_bz_tables_locked
})
{
# Abort is allowed even without previous lock for error handling
return
if
$abort
;
carp
(
"No matching lock"
);
ThrowCodeError
(
"no_matching_lock"
);
}
else
{
$self
->
{
private_bz_tables_locked
}
=
0
;
# End transaction, tables will be unlocked automatically
if
(
$abort
)
{
$self
->
bz_rollback_transaction
();
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment