Index: trunk/ippTools/share/Makefile.am
===================================================================
--- trunk/ippTools/share/Makefile.am	(revision 37769)
+++ trunk/ippTools/share/Makefile.am	(revision 37833)
@@ -524,4 +524,7 @@
 	remotetool_definebyquery_warp.sql \
 	remotetool_definebyquery_stack.sql \
+	remotetool_definebyquery_staticsky.sql \
 	remotetool_dropcomponent.sql \
+	remotetool_listcomponent.sql \
+	remotetool_doneprep.sql \
 	remotetool_updatepoll.sql
Index: trunk/ippTools/share/pxadmin_create_tables.sql
===================================================================
--- trunk/ippTools/share/pxadmin_create_tables.sql	(revision 37769)
+++ trunk/ippTools/share/pxadmin_create_tables.sql	(revision 37833)
@@ -2385,4 +2385,7 @@
     remote_id BIGINT,
     stage_id  BIGINT,
+    jobs      INT
+    state     VARCHAR(64) NOT NULL,
+    path_base VARCHAR(255),
     KEY (stage_id),
     FOREIGN KEY (remote_id) REFERENCES remoteRun(remote_id)
Index: trunk/ippTools/share/remotetool_definebyquery_cam.sql
===================================================================
--- trunk/ippTools/share/remotetool_definebyquery_cam.sql	(revision 37769)
+++ trunk/ippTools/share/remotetool_definebyquery_cam.sql	(revision 37833)
@@ -11,9 +11,9 @@
 LEFT JOIN
 
-(SELECT remote_id,remoteRun.stage,remoteRun.label,remoteComponent.stage_id,remoteRun.state 
-   FROM remoteRun 
+(SELECT remote_id,remoteRun.stage,remoteRun.label,remoteComponent.stage_id,remoteRun.state
+   FROM remoteRun
    JOIN remoteComponent USING (remote_id)
 WHERE
-remoteRun.stage = 'camera'
+remoteRun.stage = 'camera' and remoteComponent.state != 'retry'
 -- where hook %s
 ) AS R
Index: trunk/ippTools/share/remotetool_definebyquery_chip.sql
===================================================================
--- trunk/ippTools/share/remotetool_definebyquery_chip.sql	(revision 37769)
+++ trunk/ippTools/share/remotetool_definebyquery_chip.sql	(revision 37833)
@@ -11,9 +11,9 @@
 LEFT JOIN
 
-(SELECT remote_id,remoteRun.stage,remoteRun.label,remoteComponent.stage_id,remoteRun.state 
-   FROM remoteRun 
+(SELECT remote_id,remoteRun.stage,remoteRun.label,remoteComponent.stage_id,remoteRun.state
+   FROM remoteRun
    JOIN remoteComponent USING (remote_id)
 WHERE
-remoteRun.stage = 'chip'
+remoteRun.stage = 'chip' and remoteComponent.state != 'retry'
 -- where hook %s
 ) AS R
@@ -24,3 +24,3 @@
 
 
-       
+
Index: trunk/ippTools/share/remotetool_definebyquery_stack.sql
===================================================================
--- trunk/ippTools/share/remotetool_definebyquery_stack.sql	(revision 37769)
+++ trunk/ippTools/share/remotetool_definebyquery_stack.sql	(revision 37833)
@@ -15,5 +15,5 @@
    JOIN remoteComponent USING (remote_id)
 WHERE
-remoteRun.stage = 'stack'
+remoteRun.stage = 'stack' and remoteComponent.state != 'retry'
 -- where hook %s
 ) AS R
Index: trunk/ippTools/share/remotetool_definebyquery_staticsky.sql
===================================================================
--- trunk/ippTools/share/remotetool_definebyquery_staticsky.sql	(revision 37833)
+++ trunk/ippTools/share/remotetool_definebyquery_staticsky.sql	(revision 37833)
@@ -0,0 +1,21 @@
+SELECT stage_id FROM
+
+( SELECT sky_id AS stage_id
+    FROM staticskyRun
+WHERE
+staticskyRun.state = 'new'
+-- where hook %s
+GROUP BY sky_id
+) AS W
+
+LEFT JOIN
+
+(SELECT remote_id,remoteRun.stage,remoteRun.label,remoteComponent.stage_id,remoteRun.state
+   FROM remoteRun
+   JOIN remoteComponent USING(remote_id)
+WHERE
+remoteRun.stage = 'staticsky' AND remoteComponent.state != 'retry'
+-- where hook %s
+) AS R
+USING(stage_id)
+WHERE R.remote_id IS NULL
Index: trunk/ippTools/share/remotetool_definebyquery_warp.sql
===================================================================
--- trunk/ippTools/share/remotetool_definebyquery_warp.sql	(revision 37769)
+++ trunk/ippTools/share/remotetool_definebyquery_warp.sql	(revision 37833)
@@ -17,5 +17,5 @@
    JOIN remoteComponent USING (remote_id)
 WHERE
-remoteRun.stage = 'warp'
+remoteRun.stage = 'warp' and remoteComponent.state != 'retry'
 -- where hook %s
 ) AS R
Index: trunk/ippTools/share/remotetool_doneprep.sql
===================================================================
--- trunk/ippTools/share/remotetool_doneprep.sql	(revision 37833)
+++ trunk/ippTools/share/remotetool_doneprep.sql	(revision 37833)
@@ -0,0 +1,30 @@
+SELECT * FROM
+ (SELECT
+ remote_id,
+ remoteRun.path_base,
+ stage,
+ count(stage_id) as Ndone
+FROM remoteRun
+JOIN remoteComponent
+USING (remote_id)
+WHERE
+((remoteComponent.state = 'prep_done') OR (remoteComponent.state = 'prep_fail') OR (remoteComponent.state = 'fail'))
+-- and hook %s
+GROUP BY remote_id)
+AS DONE
+
+JOIN
+
+(SELECT
+remote_id,
+count(stage_id) as Njobs
+FROM remoteRun
+JOIN remoteComponent
+USING (remote_id)
+-- where hook %s
+GROUP BY remote_id)
+AS JOBS
+
+using (remote_id)
+
+where Ndone = Njobs
Index: trunk/ippTools/share/remotetool_listcomponent.sql
===================================================================
--- trunk/ippTools/share/remotetool_listcomponent.sql	(revision 37833)
+++ trunk/ippTools/share/remotetool_listcomponent.sql	(revision 37833)
@@ -0,0 +1,11 @@
+SELECT DISTINCT
+    remoteComponent.remote_id,
+    remoteComponent.stage_id,
+    remoteComponent.jobs,
+    remoteComponent.state,
+    remoteComponent.path_base,
+    remoteRun.stage,
+    remoteRun.path_base as run_path_base
+FROM remoteRun
+JOIN remoteComponent
+    USING(remote_id)
