Hi list,

while testing things using bat 5.0.0 i found one more sql which doesn't work 
with sqlite3, please
see bacula-sql.patch (contains all non-working statements i've found so far).
would changing all 'USING ()' to 'ON ()' break things?

i think i've asked some time ago, why bat has to be run as root. i don't think 
it is necessary but
maybe i'm wrong.

to run bat as non-root i changed the console apps by adding FALLBACK=true (see 
bacula-console.patch)
to give the user the choice to run bat as root or as non-root.

/etc/bacula has 0750,root,bacula and bat.conf 0640,root,bacula. with the 
FALLBACK non-root users can
run bat if they're member of group bacula.

does it sound reasonable?

regards,
-ap
diff -Pur bacula-5.0.0/scripts/bat.console_apps.in bacula-5.0.0.org/scripts/bat.console_apps.in
--- bacula-5.0.0/scripts/bat.console_apps.in	2010-01-25 08:56:28.000000000 +0100
+++ bacula-5.0.0.org/scripts/bat.console_apps.in	2010-02-10 19:12:12.363379386 +0100
@@ -1,3 +1,5 @@
 USER=root
 progr...@sbindir@/bat
 SESSION=true
+FALLBACK=true
+
diff -Pur bacula-5.0.0.org/src/qt-console/mediainfo/mediainfo.cpp bacula-5.0.0/src/qt-console/mediainfo/mediainfo.cpp
--- bacula-5.0.0.org/src/qt-console/mediainfo/mediainfo.cpp     2010-02-05 01:10:56.691033000 +0100
+++ bacula-5.0.0/src/qt-console/mediainfo/mediainfo.cpp 2010-01-25 08:56:28.000000000 +0100
@@ -142,7 +142,7 @@
       "Media.MaxVolFiles, Media.MaxVolBytes, Media.VolRetention,InChanger,Slot "
       "FROM Media JOIN Pool USING (PoolId) LEFT JOIN Pool AS RecyclePool "
       "ON (Media.RecyclePoolId = RecyclePool.PoolId) "
-      "LEFT JOIN Location USING (LocationId) "
+      "LEFT JOIN Location ON (Media.LocationId = Location.LocationId) "
       "WHERE Media.VolumeName = '" + m_mediaName + "'";
 
    QStringList results;
diff -Pur bacula-5.0.0.org/src/qt-console/medialist/mediaview.cpp bacula-5.0.0/src/qt-console/medialist/mediaview.cpp
--- bacula-5.0.0.org/src/qt-console/medialist/mediaview.cpp     2010-02-05 21:54:27.008833675 +0100
+++ bacula-5.0.0/src/qt-console/medialist/mediaview.cpp 2010-01-25 08:56:28.000000000 +0100
@@ -304,7 +304,7 @@
       "Slot, MediaType, VolStatus, VolBytes, Pool.Name,  "
       "LastWritten, Media.VolRetention "
       "FROM Media JOIN Pool USING (PoolId) "
-      "LEFT JOIN Location USING (LocationId) "
+      "LEFT JOIN Location ON (Media.LocationId = Location.LocationId) "
       + cmd + 
       " ORDER BY VolumeName LIMIT " + m_sbLimit->cleanText();
 

diff -Pur bacula-5.0.0.org/src/qt-console/job/job.cpp bacula-5.0.0/src/qt-console/job/job.cpp
--- bacula-5.0.0.org/src/qt-console/job/job.cpp	2010-01-25 08:56:28.000000000 +0100
+++ bacula-5.0.0/src/qt-console/job/job.cpp	2010-02-10 19:49:29.521152641 +0100
@@ -219,8 +219,8 @@
    QString query = 
       "SELECT JobId, Job.Name, Level, Client.Name, Pool.Name, FileSet, SchedTime, StartTime, EndTime, "
       "EndTime - StartTime AS Duration, JobBytes, JobFiles, JobErrors, JobStatus, PurgedFiles "
-      "FROM Job JOIN Client USING (ClientId) LEFT JOIN Pool USING (PoolId) "
-      "LEFT JOIN FileSet USING (FileSetId)"
+      "FROM Job JOIN Client USING (ClientId) LEFT JOIN Pool ON (Job.PoolId = Pool.PoolId) "
+      "LEFT JOIN FileSet ON (Job.FileSetId = FileSet.FileSetId)"
       "WHERE JobId=" + m_jobId; 
    QStringList results;
    if (m_console->sql_cmd(query, results)) {
------------------------------------------------------------------------------
SOLARIS 10 is the OS for Data Centers - provides features such as DTrace,
Predictive Self Healing and Award Winning ZFS. Get Solaris 10 NOW
http://p.sf.net/sfu/solaris-dev2dev
_______________________________________________
Bacula-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bacula-devel

Reply via email to