[X2Go-Commits] [x2goserver] 01/01: Use "undef $dbh" instead of "$dbh->disconnect()". Fixes SQLite3 issues on SLE 11.x.

git-admin at x2go.org git-admin at x2go.org
Wed Feb 4 21:09:19 CET 2015


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch master
in repository x2goserver.

commit 6cbcc383fe0e8497b542364f63fcc0504d2a5efb
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date:   Wed Feb 4 21:09:15 2015 +0100

    Use "undef $dbh" instead of "$dbh->disconnect()". Fixes SQLite3 issues on SLE 11.x.
---
 X2Go/Server/DB/PostgreSQL.pm |   50 +++++++++++++++++++++---------------------
 X2Go/Server/DB/SQLite3.pm    |   50 +++++++++++++++++++++---------------------
 debian/changelog             |    2 ++
 x2goserver/sbin/x2godbadmin  |   10 ++++-----
 4 files changed, 57 insertions(+), 55 deletions(-)

diff --git a/X2Go/Server/DB/PostgreSQL.pm b/X2Go/Server/DB/PostgreSQL.pm
index b757d7b..89bc125 100644
--- a/X2Go/Server/DB/PostgreSQL.pm
+++ b/X2Go/Server/DB/PostgreSQL.pm
@@ -119,7 +119,7 @@ sub dbsys_rmsessionsroot
 	$sth=$dbh->prepare("delete from used_ports where session_id='$sid'");
 	$sth->execute() or die;
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 }
 
 sub dbsys_deletemounts
@@ -130,7 +130,7 @@ sub dbsys_deletemounts
 	my $sth=$dbh->prepare("delete from mounts where session_id='$sid'");
 	$sth->execute();
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 }
 
 sub dbsys_listsessionsroot
@@ -162,7 +162,7 @@ sub dbsys_listsessionsroot
 		@strings[$i++]=join('|', at data);
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return @strings;
 }
 
@@ -193,7 +193,7 @@ sub dbsys_listsessionsroot_all
 		@strings[$i++]=join('|', at data);
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return @strings;
 }
 
@@ -213,7 +213,7 @@ sub dbsys_getmounts
 		@mounts[$i++]=join("|", at data);
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return @mounts;
 }
 
@@ -233,7 +233,7 @@ sub db_getmounts
 		@mounts[$i++]=join("|", at data);
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return @mounts;
 }
 
@@ -247,7 +247,7 @@ sub db_deletemount
 	my $sth=$dbh->prepare("delete from mounts_view where session_id='$sid' and path='$path'");
 	$sth->execute();
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 }
 
 sub db_insertmount
@@ -266,7 +266,7 @@ sub db_insertmount
 		$res_ok = 1;
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return $res_ok;
 }
 
@@ -282,7 +282,7 @@ sub db_insertsession
 	my $sth=$dbh->prepare("insert into sessions (display,server,uname,session_id) values ('$display','$server','$uname','$sid')");
 	$sth->execute()or die $_;
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 }
 
 sub db_insertshadowsession
@@ -298,7 +298,7 @@ sub db_insertshadowsession
 	my $sth=$dbh->prepare("insert into sessions (display,server,uname,session_id) values ('$display','$server','$shadreq_user','$sid')");
 	$sth->execute()or die $_;
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 }
 
 sub db_createsession
@@ -336,7 +336,7 @@ sub db_createsession
 	}
 	$sth->execute() or die;
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 }
 
 sub db_insertport
@@ -350,7 +350,7 @@ sub db_insertport
 	my $sth=$dbh->prepare("insert into used_ports (server,session_id,port) values  ('$server','$sid','$sshport')");
 	$sth->execute()or die;
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 }
 
 sub db_rmport
@@ -364,7 +364,7 @@ sub db_rmport
 	my $sth=$dbh->prepare("delete from used_ports where server='$server' and session_id='$sid' and port='$sshport'");
 	$sth->execute()or die;
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 }
 
 sub db_resume
@@ -395,7 +395,7 @@ sub db_resume
 	}
 	$sth->execute()or die;
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 }
 
 sub db_changestatus
@@ -408,7 +408,7 @@ sub db_changestatus
 	my $sth=$dbh->prepare("update sessions_view set last_time=now(),status='$status' where session_id = '$sid'");
 	$sth->execute()or die;
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 }
 
 sub db_getstatus
@@ -426,7 +426,7 @@ sub db_getstatus
 		$status=@data[0];
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return $status;
 }
 
@@ -446,7 +446,7 @@ sub db_getdisplays
 		@displays[$i++]='|'. at data[0].'|';
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return @displays;
 }
 
@@ -466,7 +466,7 @@ sub db_getports
 		@ports[$i++]='|'. at data[0].'|';
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return @ports;
 }
 
@@ -484,7 +484,7 @@ sub db_getservers
 		@servers[$i++]=@data[0]." ". at data[1];
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return @servers;
 }
 
@@ -505,7 +505,7 @@ sub db_getagent
 		$agent=@data[0];
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return $agent;
 }
 
@@ -526,7 +526,7 @@ sub db_getdisplay
 		$display=@data[0];
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return $display;
 }
 
@@ -560,7 +560,7 @@ sub db_listsessions
 		@sessions[$i++]=join('|', at data);
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return @sessions;
 }
 
@@ -593,7 +593,7 @@ sub db_listsessions_all
 		@sessions[$i++]=join('|', at data);
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return @sessions;
 }
 
@@ -617,7 +617,7 @@ sub db_listshadowsessions
 		@sessions[$i++]=join('|', at data);
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return @sessions;
 }
 
@@ -640,7 +640,7 @@ sub db_listshadowsessions_all
 		@sessions[$i++]=join('|', at data);
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return @sessions;
 }
 
diff --git a/X2Go/Server/DB/SQLite3.pm b/X2Go/Server/DB/SQLite3.pm
index 6fa5c9e..35d0e88 100644
--- a/X2Go/Server/DB/SQLite3.pm
+++ b/X2Go/Server/DB/SQLite3.pm
@@ -82,7 +82,7 @@ sub dbsys_rmsessionsroot
 		die;
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 }
 
 sub dbsys_listsessionsroot
@@ -106,7 +106,7 @@ sub dbsys_listsessionsroot
 	}
 	my @sessions = fetchrow_array_datasets($sth);
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return @sessions;
 }
 
@@ -131,7 +131,7 @@ sub dbsys_listsessionsroot_all
 	}
 	my @sessions = fetchrow_array_datasets($sth);
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return @sessions;
 }
 
@@ -148,7 +148,7 @@ sub dbsys_deletemounts
 		die();
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 }
 
 sub db_getmounts
@@ -167,7 +167,7 @@ sub db_getmounts
 	}
 	my @mounts = fetchrow_array_datasets($sth);
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return @mounts;
 }
 
@@ -186,7 +186,7 @@ sub db_deletemount
 		die();
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 }
 
 sub db_insertmount
@@ -207,7 +207,7 @@ sub db_insertmount
 		syslog('debug', "insertmount (SQLite3 session db backend) failed with exitcode: $sth->err(), this issue will be interpreted as: SSHFS share already mounted");
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return $success;
 }
 
@@ -224,7 +224,7 @@ sub db_insertsession
 	                       (?, ?, ?, ?, datetime('now','localtime'), datetime('now','localtime'))");
 	$sth->execute($display, $server, $realuser, $sid) or die $_;
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return 1;
 }
 
@@ -244,7 +244,7 @@ sub db_insertshadowsession
 	                       (?, ?, ?, ?, datetime('now','localtime'), datetime('now','localtime'))");
 	$sth->execute($display, $server, $shadreq_user, $sid) or die $_;
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return 1;
 }
 
@@ -277,7 +277,7 @@ sub db_createsession
 		die();
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return 1;
 }
 
@@ -307,7 +307,7 @@ sub db_createshadowsession
 		die();
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return 1;
 }
 
@@ -327,7 +327,7 @@ sub db_insertport
 		die();
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 }
 
 sub db_rmport
@@ -345,7 +345,7 @@ sub db_rmport
 		die();
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 }
 
 sub db_resume
@@ -374,7 +374,7 @@ sub db_resume
 		die();
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 }
 
 sub db_changestatus
@@ -393,7 +393,7 @@ sub db_changestatus
 		die();
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 }
 
 sub db_getstatus
@@ -416,7 +416,7 @@ sub db_getstatus
 		$status = $data[0];
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return $status;
 }
 
@@ -439,7 +439,7 @@ sub db_getdisplays
 		$strings[$i++]='|'.$data[0].'|';
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return join("\n", at strings);
 }
 
@@ -463,7 +463,7 @@ sub db_getports
 		$strings[$i++]='|'.$data[0].'|';
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return join("\n", at strings);
 }
 
@@ -485,7 +485,7 @@ sub db_getservers
 		$strings[$i++]=$data[0];
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return join("\n", at strings);
 }
 
@@ -511,7 +511,7 @@ sub db_getagent
 		$agent=$data[0];
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return $agent;
 }
 
@@ -537,7 +537,7 @@ sub db_getdisplay
 		$display=$data[0];
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return $display;
 }
 
@@ -563,7 +563,7 @@ sub db_listsessions
 	}
 	my @sessions = fetchrow_array_datasets($sth);
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return @sessions;
 }
 
@@ -588,7 +588,7 @@ sub db_listsessions_all
 	}
 	my @sessions = fetchrow_array_datasets($sth);
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return @sessions;
 }
 
@@ -613,7 +613,7 @@ sub db_listshadowsessions
 	}
 	my @sessions = fetchrow_array_datasets($sth);
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return @sessions;
 }
 
@@ -637,7 +637,7 @@ sub db_listshadowsessions_all
 	}
 	my @sessions = fetchrow_array_datasets($sth);
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 	return @sessions;
 }
 
diff --git a/debian/changelog b/debian/changelog
index 3efbed8..386f28a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -214,6 +214,8 @@ x2goserver (4.0.1.19-0x2go1) UNRELEASED; urgency=medium
     - Provide legacy support for old File::Path packages in x2godbadmin.
       (Fixes: #715).
     - Fix wrong evocation of x2gosyslog ("error" -> "err").
+    - Use "undef $dbh" instead of "$dbh->disconnect()". Fixes SQLite3 issues on
+      SLE 11.x.
   * debian/control:
     + Add D (x2goserver): libfile-which-perl.
     + Add C (x2goserver: x2godesktopsharing (<< 3.1.1.2-0~). (Fixes: #700).
diff --git a/x2goserver/sbin/x2godbadmin b/x2goserver/sbin/x2godbadmin
index dbec03a..5629f31 100755
--- a/x2goserver/sbin/x2godbadmin
+++ b/x2goserver/sbin/x2godbadmin
@@ -354,7 +354,7 @@ if ($updatedb)
 			}
 		}
 		if ($dbh) {
-			$dbh->disconnect();
+			undef $dbh;
 		}
 		exit(0);
 	} else {
@@ -407,7 +407,7 @@ if ($rmgroup)
 		rm_user($_);
 	}
 }
-$dbh->disconnect();
+undef $dbh;
 
 sub list_users()
 {
@@ -423,7 +423,7 @@ sub list_users()
 		printf ("%-20s x2gouser_ at data[0]\n", at data[0]);
 	}
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 }
 
 sub rm_user()
@@ -694,7 +694,7 @@ sub create_tables()
 	$sth=$dbh->prepare("GRANT ALL PRIVILEGES ON sessions, messages, user_messages, used_ports, mounts TO $x2goadmin");
 	$sth->execute() or die;
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 }
 
 sub create_database
@@ -717,5 +717,5 @@ sub create_database
 	print FL $x2goadminpass;
 	close(FL);
 	$sth->finish();
-	$dbh->disconnect();
+	undef $dbh;
 }

--
Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/x2goserver.git


More information about the x2go-commits mailing list