Ticket #492: 155

File 155, 114.6 KB (added by dlove, 9 years ago)
Line 
1? 2505.diff
2? 2507.diff
3? DARWIN_X86
4? aimk.private
5? 3rdparty/fnmatch/fnmatch_dependencies
6? 3rdparty/sge_depend/DARWIN_X86
7? 3rdparty/strptime/strptime_dependencies
8? clients/common/common_dependencies
9? clients/qacct/qacct_dependencies
10? clients/qalter/qalter_dependencies
11? clients/qconf/qconf_dependencies
12? clients/qdel/qdel_dependencies
13? clients/qevent/qevent_dependencies
14? clients/qhost/qhost_dependencies
15? clients/qmod/qmod_dependencies
16? clients/qmon/qmon_dependencies
17? clients/qquota/qquota_dependencies
18? clients/qrsh/qrsh_dependencies
19? clients/qsh/qsh_dependencies
20? clients/qstat/qstat_dependencies
21? clients/qsub/qsub_dependencies
22? common/common_dependencies
23? daemons/common/common_dependencies
24? daemons/execd/execd_dependencies
25? daemons/qmaster/qmaster_dependencies
26? daemons/schedd/schedd_dependencies
27? daemons/shadowd/shadowd_dependencies
28? daemons/shepherd/shepherd_dependencies
29? libs/comm/commlib_dependencies
30? libs/comm/examples/commexamples_dependencies
31? libs/comm/lists/commlistslib_dependencies
32? libs/cull/cull_dependencies
33? libs/evc/evc_dependencies
34? libs/evm/evm_dependencies
35? libs/gdi/gdi_dependencies
36? libs/japi/japi.c.2505
37? libs/japi/japi_dependencies
38? libs/juti/juti_dependencies
39? libs/lck/lck_dependencies
40? libs/mir/mir_dependencies
41? libs/rmon/rmon_dependencies
42? libs/sched/sched_dependencies
43? libs/sgeobj/sgeobj_dependencies
44? libs/spool/spool_dependencies
45? libs/spool/berkeleydb/spoolb_dependencies
46? libs/spool/classic/spoolc_dependencies
47? libs/spool/dynamic/spoold_dependencies
48? libs/spool/flatfile/spoolf_dependencies
49? libs/spool/loader/spoolloader_dependencies
50? libs/spool/postgres/spoolp_dependencies
51? libs/uti/uti_dependencies
52? security/coshepherd/coshepherd_dependencies
53? security/gss/gss_dependencies
54? security/krb/krb_dependencies
55? utilbin/utilbin_dependencies
56Index: clients/common/sge_centry_qconf.c
57===================================================================
58RCS file: /cvs/gridengine/source/clients/common/sge_centry_qconf.c,v
59retrieving revision 1.21.2.2
60diff -b -c -r1.21.2.2 sge_centry_qconf.c
61*** clients/common/sge_centry_qconf.c   22 Oct 2007 18:16:25 -0000      1.21.2.2
62--- clients/common/sge_centry_qconf.c   28 Feb 2008 23:12:51 -0000
63***************
64*** 77,83 ****
65        centry_list = lCreateList("", CE_Type);
66        lAppendElem(centry_list, this_elem);
67        gdi_answer_list = ctx->gdi(ctx, SGE_CENTRY_LIST, gdi_command,
68!                                 &centry_list, NULL, NULL);
69        answer_list_replace(answer_list, &gdi_answer_list);
70     }
71 
72--- 77,83 ----
73        centry_list = lCreateList("", CE_Type);
74        lAppendElem(centry_list, this_elem);
75        gdi_answer_list = ctx->gdi(ctx, SGE_CENTRY_LIST, gdi_command,
76!                                 &centry_list, NULL, NULL, false);
77        answer_list_replace(answer_list, &gdi_answer_list);
78     }
79 
80***************
81*** 99,105 ****
82        what = lWhat("%T(ALL)", CE_Type);
83        where = lWhere("%T(%I==%s)", CE_Type, CE_name, name);
84        gdi_answer_list = ctx->gdi(ctx, SGE_CENTRY_LIST, SGE_GDI_GET,
85!                                 &centry_list, where, what);
86        lFreeWhat(&what);
87        lFreeWhere(&where);
88 
89--- 99,105 ----
90        what = lWhat("%T(ALL)", CE_Type);
91        where = lWhere("%T(%I==%s)", CE_Type, CE_name, name);
92        gdi_answer_list = ctx->gdi(ctx, SGE_CENTRY_LIST, SGE_GDI_GET,
93!                                 &centry_list, where, what, false);
94        lFreeWhat(&what);
95        lFreeWhere(&where);
96 
97***************
98*** 402,408 ****
99     DENTER(TOP_LAYER, "centry_list_get_via_gdi");
100     what = lWhat("%T(ALL)", CE_Type);
101     gdi_answer_list = ctx->gdi(ctx, SGE_CENTRY_LIST, SGE_GDI_GET,
102!                              &ret, NULL, what);
103     lFreeWhat(&what);
104 
105     if (answer_list_has_error(&gdi_answer_list)) {
106--- 402,408 ----
107     DENTER(TOP_LAYER, "centry_list_get_via_gdi");
108     what = lWhat("%T(ALL)", CE_Type);
109     gdi_answer_list = ctx->gdi(ctx, SGE_CENTRY_LIST, SGE_GDI_GET,
110!                              &ret, NULL, what, false);
111     lFreeWhat(&what);
112 
113     if (answer_list_has_error(&gdi_answer_list)) {
114Index: clients/common/sge_cqueue_qconf.c
115===================================================================
116RCS file: /cvs/gridengine/source/clients/common/sge_cqueue_qconf.c,v
117retrieving revision 1.24.2.4
118diff -b -c -r1.24.2.4 sge_cqueue_qconf.c
119*** clients/common/sge_cqueue_qconf.c   26 Nov 2007 10:51:07 -0000      1.24.2.4
120--- clients/common/sge_cqueue_qconf.c   28 Feb 2008 23:12:51 -0000
121***************
122*** 96,102 ****
123           cqueue_list = lCreateList("", CQ_Type);
124           lAppendElem(cqueue_list, this_elem);
125           gdi_answer_list = ctx->gdi(ctx, SGE_CQUEUE_LIST, gdi_command,
126!                                    &cqueue_list, NULL, NULL);
127           answer_list_replace(answer_list, &gdi_answer_list);
128           lDechainElem(cqueue_list, this_elem);
129           lFreeList(&cqueue_list);
130--- 96,102 ----
131           cqueue_list = lCreateList("", CQ_Type);
132           lAppendElem(cqueue_list, this_elem);
133           gdi_answer_list = ctx->gdi(ctx, SGE_CQUEUE_LIST, gdi_command,
134!                                    &cqueue_list, NULL, NULL, false);
135           answer_list_replace(answer_list, &gdi_answer_list);
136           lDechainElem(cqueue_list, this_elem);
137           lFreeList(&cqueue_list);
138***************
139*** 120,126 ****
140        what = lWhat("%T(ALL)", CQ_Type);
141        where = lWhere("%T(%I==%s)", CQ_Type, CQ_name, name);
142        gdi_answer_list = ctx->gdi(ctx, SGE_CQUEUE_LIST, SGE_GDI_GET,
143!                                 &cqueue_list, where, what);
144        lFreeWhat(&what);
145        lFreeWhere(&where);
146 
147--- 120,126 ----
148        what = lWhat("%T(ALL)", CQ_Type);
149        where = lWhere("%T(%I==%s)", CQ_Type, CQ_name, name);
150        gdi_answer_list = ctx->gdi(ctx, SGE_CQUEUE_LIST, SGE_GDI_GET,
151!                                 &cqueue_list, where, what, false);
152        lFreeWhat(&what);
153        lFreeWhere(&where);
154 
155Index: clients/common/sge_hgroup_qconf.c
156===================================================================
157RCS file: /cvs/gridengine/source/clients/common/sge_hgroup_qconf.c,v
158retrieving revision 1.19.2.3
159diff -b -c -r1.19.2.3 sge_hgroup_qconf.c
160*** clients/common/sge_hgroup_qconf.c   26 Nov 2007 10:51:07 -0000      1.19.2.3
161--- clients/common/sge_hgroup_qconf.c   28 Feb 2008 23:12:51 -0000
162***************
163*** 104,110 ****
164        hgroup_list = lCreateList("", HGRP_Type);
165        lAppendElem(hgroup_list, element);
166        gdi_answer_list = ctx->gdi(ctx, SGE_HGROUP_LIST, gdi_command,
167!                                 &hgroup_list, NULL, NULL);
168        answer_list_replace(answer_list, &gdi_answer_list);
169        lFreeList(&hgroup_list);
170     }
171--- 104,110 ----
172        hgroup_list = lCreateList("", HGRP_Type);
173        lAppendElem(hgroup_list, element);
174        gdi_answer_list = ctx->gdi(ctx, SGE_HGROUP_LIST, gdi_command,
175!                                 &hgroup_list, NULL, NULL, false);
176        answer_list_replace(answer_list, &gdi_answer_list);
177        lFreeList(&hgroup_list);
178     }
179***************
180*** 127,133 ****
181        where = lWhere("%T(%I==%s)", HGRP_Type, HGRP_name,
182                       name);
183        gdi_answer_list = ctx->gdi(ctx, SGE_HGROUP_LIST, SGE_GDI_GET,
184!                                 &hostgroup_list, where, what);
185        lFreeWhat(&what);
186        lFreeWhere(&where);
187 
188--- 127,133 ----
189        where = lWhere("%T(%I==%s)", HGRP_Type, HGRP_name,
190                       name);
191        gdi_answer_list = ctx->gdi(ctx, SGE_HGROUP_LIST, SGE_GDI_GET,
192!                                 &hostgroup_list, where, what, false);
193        lFreeWhat(&what);
194        lFreeWhere(&where);
195 
196***************
197*** 431,437 ****
198        lListElem *alep = NULL;
199 
200        what = lWhat("%T(ALL)", HGRP_Type);
201!       alp = ctx->gdi(ctx, SGE_HGROUP_LIST, SGE_GDI_GET, &hgroup_list, NULL, what);
202        lFreeWhat(&what);
203 
204        alep = lFirst(alp);
205--- 431,437 ----
206        lListElem *alep = NULL;
207 
208        what = lWhat("%T(ALL)", HGRP_Type);
209!       alp = ctx->gdi(ctx, SGE_HGROUP_LIST, SGE_GDI_GET, &hgroup_list, NULL, what, false);
210        lFreeWhat(&what);
211 
212        alep = lFirst(alp);
213Index: clients/common/sge_resource_quota_qconf.c
214===================================================================
215RCS file: /cvs/gridengine/source/clients/common/sge_resource_quota_qconf.c,v
216retrieving revision 1.2.2.2
217diff -b -c -r1.2.2.2 sge_resource_quota_qconf.c
218*** clients/common/sge_resource_quota_qconf.c   26 Jun 2007 09:04:40 -0000      1.2.2.2
219--- clients/common/sge_resource_quota_qconf.c   28 Feb 2008 23:12:51 -0000
220***************
221*** 159,165 ****
222              where = lOrWhere(where, add_where);
223           }
224        }
225!       *answer_list = ctx->gdi(ctx, SGE_RQS_LIST, SGE_GDI_GET, rqs_list, where, what);
226        if (!answer_list_has_error(answer_list)) {
227           ret = true;
228        }
229--- 159,165 ----
230              where = lOrWhere(where, add_where);
231           }
232        }
233!       *answer_list = ctx->gdi(ctx, SGE_RQS_LIST, SGE_GDI_GET, rqs_list, where, what, false);
234        if (!answer_list_has_error(answer_list)) {
235           ret = true;
236        }
237***************
238*** 200,206 ****
239 
240     DENTER(TOP_LAYER, "rqs_get_all_via_gdi");
241 
242!    *answer_list = ctx->gdi(ctx, SGE_RQS_LIST, SGE_GDI_GET, rqs_list, NULL, what);
243     if (!answer_list_has_error(answer_list)) {
244        ret = true;
245     }
246--- 200,206 ----
247 
248     DENTER(TOP_LAYER, "rqs_get_all_via_gdi");
249 
250!    *answer_list = ctx->gdi(ctx, SGE_RQS_LIST, SGE_GDI_GET, rqs_list, NULL, what, false);
251     if (!answer_list_has_error(answer_list)) {
252        ret = true;
253     }
254***************
255*** 502,508 ****
256           ret = rqs_list_verify_attributes(rqs_list, answer_list, false);
257        }
258        if (ret) {
259!          lList *my_answer_list = ctx->gdi(ctx, SGE_RQS_LIST, gdi_command, &rqs_list, NULL, NULL);
260           if (my_answer_list != NULL) {
261              answer_list_append_list(answer_list, &my_answer_list);
262           }
263--- 502,508 ----
264           ret = rqs_list_verify_attributes(rqs_list, answer_list, false);
265        }
266        if (ret) {
267!          lList *my_answer_list = ctx->gdi(ctx, SGE_RQS_LIST, gdi_command, &rqs_list, NULL, NULL, false);
268           if (my_answer_list != NULL) {
269              answer_list_append_list(answer_list, &my_answer_list);
270           }
271Index: clients/qalter/qalter.c
272===================================================================
273RCS file: /cvs/gridengine/source/clients/qalter/qalter.c,v
274retrieving revision 1.55.2.1
275diff -b -c -r1.55.2.1 qalter.c
276*** clients/qalter/qalter.c     13 Jul 2007 10:23:49 -0000      1.55.2.1
277--- clients/qalter/qalter.c     28 Feb 2008 23:12:51 -0000
278***************
279*** 182,188 ****
280     if (all_users)
281        gdi_cmd |= SGE_GDI_ALL_USERS;
282 
283!    alp = ctx->gdi(ctx, SGE_JOB_LIST, gdi_cmd, &request_list, NULL, NULL);
284     for_each (aep, alp) {
285        printf("%s\n", lGetString(aep, AN_text));
286        if (ret==0) {
287--- 182,188 ----
288     if (all_users)
289        gdi_cmd |= SGE_GDI_ALL_USERS;
290 
291!    alp = ctx->gdi(ctx, SGE_JOB_LIST, gdi_cmd, &request_list, NULL, NULL, false);
292     for_each (aep, alp) {
293        printf("%s\n", lGetString(aep, AN_text));
294        if (ret==0) {
295Index: clients/qconf/parse_qconf.c
296===================================================================
297RCS file: /cvs/gridengine/source/clients/qconf/parse_qconf.c,v
298retrieving revision 1.128.2.13
299diff -b -c -r1.128.2.13 parse_qconf.c
300*** clients/qconf/parse_qconf.c 5 Dec 2007 15:05:25 -0000       1.128.2.13
301--- clients/qconf/parse_qconf.c 28 Feb 2008 23:12:51 -0000
302***************
303*** 290,296 ****
304           /* send it to qmaster */
305           lp = lCreateList("cal to add", CAL_Type);
306           lAppendElem(lp, ep);
307!          alp = ctx->gdi(ctx, SGE_CALENDAR_LIST, SGE_GDI_ADD, &lp, NULL, NULL);
308 
309           aep = lFirst(alp);
310           answer_exit_if_not_recoverable(aep);
311--- 290,296 ----
312           /* send it to qmaster */
313           lp = lCreateList("cal to add", CAL_Type);
314           lAppendElem(lp, ep);
315!          alp = ctx->gdi(ctx, SGE_CALENDAR_LIST, SGE_GDI_ADD, &lp, NULL, NULL, false);
316 
317           aep = lFirst(alp);
318           answer_exit_if_not_recoverable(aep);
319***************
320*** 412,418 ****
321           lp = lCreateList("CKPT list to add", CK_Type);
322           lAppendElem(lp, ep);
323 
324!          alp = ctx->gdi(ctx, SGE_CKPT_LIST, SGE_GDI_ADD, &lp, NULL, NULL);
325 
326           aep = lFirst(alp);
327           answer_exit_if_not_recoverable(aep);
328--- 412,418 ----
329           lp = lCreateList("CKPT list to add", CK_Type);
330           lAppendElem(lp, ep);
331 
332!          alp = ctx->gdi(ctx, SGE_CKPT_LIST, SGE_GDI_ADD, &lp, NULL, NULL, false);
333 
334           aep = lFirst(alp);
335           answer_exit_if_not_recoverable(aep);
336***************
337*** 462,468 ****
338           /* get a template host entry .. */
339           where = lWhere("%T( %Ih=%s )", EH_Type, EH_name, host);
340           what = lWhat("%T(ALL)", EH_Type);
341!          alp = ctx->gdi(ctx, SGE_EXECHOST_LIST, SGE_GDI_GET, &arglp, where, what);
342           lFreeWhat(&what);
343           lFreeWhere(&where);
344 
345--- 462,468 ----
346           /* get a template host entry .. */
347           where = lWhere("%T( %Ih=%s )", EH_Type, EH_name, host);
348           what = lWhat("%T(ALL)", EH_Type);
349!          alp = ctx->gdi(ctx, SGE_EXECHOST_LIST, SGE_GDI_GET, &arglp, where, what, false);
350           lFreeWhat(&what);
351           lFreeWhere(&where);
352 
353***************
354*** 515,521 ****
355 
356           lp = lCreateList("hosts to add", EH_Type);
357           lAppendElem(lp, ep);
358!          alp = ctx->gdi(ctx, SGE_EXECHOST_LIST, SGE_GDI_ADD, &lp, NULL, NULL);
359           lFreeList(&lp);
360 
361           aep = lFirst(alp);
362--- 515,521 ----
363 
364           lp = lCreateList("hosts to add", EH_Type);
365           lAppendElem(lp, ep);
366!          alp = ctx->gdi(ctx, SGE_EXECHOST_LIST, SGE_GDI_ADD, &lp, NULL, NULL, false);
367           lFreeList(&lp);
368 
369           aep = lFirst(alp);
370***************
371*** 588,594 ****
372              DRETURN(1);
373           }
374 
375!          alp = ctx->gdi(ctx, SGE_EXECHOST_LIST, SGE_GDI_ADD, &lp, NULL, NULL);
376 
377           aep = lFirst(alp);
378           answer_exit_if_not_recoverable(aep);
379--- 588,594 ----
380              DRETURN(1);
381           }
382 
383!          alp = ctx->gdi(ctx, SGE_EXECHOST_LIST, SGE_GDI_ADD, &lp, NULL, NULL, false);
384 
385           aep = lFirst(alp);
386           answer_exit_if_not_recoverable(aep);
387***************
388*** 683,689 ****
389 
390           spp = sge_parser_get_next(spp);
391           lString2List(*spp, &lp, MO_Type, MO_name, ", ");
392!          alp = ctx->gdi(ctx, SGE_MANAGER_LIST, SGE_GDI_ADD, &lp, NULL, NULL);
393           answer_list_on_error_print_or_exit(&alp, stderr);
394           lFreeList(&alp);
395           lFreeList(&lp);
396--- 683,689 ----
397 
398           spp = sge_parser_get_next(spp);
399           lString2List(*spp, &lp, MO_Type, MO_name, ", ");
400!          alp = ctx->gdi(ctx, SGE_MANAGER_LIST, SGE_GDI_ADD, &lp, NULL, NULL, false);
401           answer_list_on_error_print_or_exit(&alp, stderr);
402           lFreeList(&alp);
403           lFreeList(&lp);
404***************
405*** 700,706 ****
406 
407           spp = sge_parser_get_next(spp);
408           lString2List(*spp, &lp, MO_Type, MO_name, ", ");
409!          alp = ctx->gdi(ctx, SGE_OPERATOR_LIST, SGE_GDI_ADD, &lp, NULL, NULL);
410           answer_list_on_error_print_or_exit(&alp, stderr);
411           lFreeList(&alp);
412           lFreeList(&lp);
413--- 700,706 ----
414 
415           spp = sge_parser_get_next(spp);
416           lString2List(*spp, &lp, MO_Type, MO_name, ", ");
417!          alp = ctx->gdi(ctx, SGE_OPERATOR_LIST, SGE_GDI_ADD, &lp, NULL, NULL, false);
418           answer_list_on_error_print_or_exit(&alp, stderr);
419           lFreeList(&alp);
420           lFreeList(&lp);
421***************
422*** 827,833 ****
423           /* send it to qmaster */
424           lp = lCreateList("PE list to add", PE_Type);
425           lAppendElem(lp, ep);
426!          alp = ctx->gdi(ctx, SGE_PE_LIST, SGE_GDI_ADD, &lp, NULL, NULL);
427           aep = lFirst(alp);
428           answer_exit_if_not_recoverable(aep);
429           fprintf(stderr, "%s\n", lGetString(aep, AN_text));
430--- 827,833 ----
431           /* send it to qmaster */
432           lp = lCreateList("PE list to add", PE_Type);
433           lAppendElem(lp, ep);
434!          alp = ctx->gdi(ctx, SGE_PE_LIST, SGE_GDI_ADD, &lp, NULL, NULL, false);
435           aep = lFirst(alp);
436           answer_exit_if_not_recoverable(aep);
437           fprintf(stderr, "%s\n", lGetString(aep, AN_text));
438***************
439*** 858,864 ****
440           /* send it to qmaster */
441           lp = lCreateList("User list to add", UP_Type);
442           lAppendElem(lp, newep);
443!          alp = ctx->gdi(ctx, SGE_USER_LIST, SGE_GDI_ADD, &lp, NULL, NULL);
444           aep = lFirst(alp);
445           answer_exit_if_not_recoverable(aep);
446           if (answer_get_status(aep) != STATUS_OK) {
447--- 858,864 ----
448           /* send it to qmaster */
449           lp = lCreateList("User list to add", UP_Type);
450           lAppendElem(lp, newep);
451!          alp = ctx->gdi(ctx, SGE_USER_LIST, SGE_GDI_ADD, &lp, NULL, NULL, false);
452           aep = lFirst(alp);
453           answer_exit_if_not_recoverable(aep);
454           if (answer_get_status(aep) != STATUS_OK) {
455***************
456*** 893,899 ****
457           /* send it to qmaster */
458           lp = lCreateList("Project list to add", UP_Type);
459           lAppendElem(lp, newep);
460!          alp = ctx->gdi(ctx, SGE_PROJECT_LIST, SGE_GDI_ADD, &lp, NULL, NULL);
461           aep = lFirst(alp);
462           answer_exit_if_not_recoverable(aep);
463           fprintf(stderr, "%s\n", lGetString(aep, AN_text));
464--- 893,899 ----
465           /* send it to qmaster */
466           lp = lCreateList("Project list to add", UP_Type);
467           lAppendElem(lp, newep);
468!          alp = ctx->gdi(ctx, SGE_PROJECT_LIST, SGE_GDI_ADD, &lp, NULL, NULL, false);
469           aep = lFirst(alp);
470           answer_exit_if_not_recoverable(aep);
471           fprintf(stderr, "%s\n", lGetString(aep, AN_text));
472***************
473*** 955,961 ****
474           /* send it to qmaster */
475           lp = lCreateList("User to add", UP_Type);
476           lAppendElem(lp, ep);
477!          alp = ctx->gdi(ctx, SGE_USER_LIST, SGE_GDI_ADD, &lp, NULL, NULL);
478           aep = lFirst(alp);
479           answer_exit_if_not_recoverable(aep);
480           if (answer_get_status(aep) != STATUS_OK) {
481--- 955,961 ----
482           /* send it to qmaster */
483           lp = lCreateList("User to add", UP_Type);
484           lAppendElem(lp, ep);
485!          alp = ctx->gdi(ctx, SGE_USER_LIST, SGE_GDI_ADD, &lp, NULL, NULL, false);
486           aep = lFirst(alp);
487           answer_exit_if_not_recoverable(aep);
488           if (answer_get_status(aep) != STATUS_OK) {
489***************
490*** 1022,1028 ****
491           /* send it to qmaster */
492           lp = lCreateList("Project list to add", UP_Type);
493           lAppendElem(lp, ep);
494!          alp = ctx->gdi(ctx, SGE_PROJECT_LIST, SGE_GDI_ADD, &lp, NULL, NULL);
495           aep = lFirst(alp);
496           answer_exit_if_not_recoverable(aep);
497           fprintf(stderr, "%s\n", lGetString(aep, AN_text));
498--- 1022,1028 ----
499           /* send it to qmaster */
500           lp = lCreateList("Project list to add", UP_Type);
501           lAppendElem(lp, ep);
502!          alp = ctx->gdi(ctx, SGE_PROJECT_LIST, SGE_GDI_ADD, &lp, NULL, NULL, false);
503           aep = lFirst(alp);
504           answer_exit_if_not_recoverable(aep);
505           fprintf(stderr, "%s\n", lGetString(aep, AN_text));
506***************
507*** 1067,1073 ****
508 
509              /* get the sharetree .. */
510              what = lWhat("%T(ALL)", STN_Type);
511!             alp = ctx->gdi(ctx, SGE_SHARETREE_LIST, SGE_GDI_GET, &lp, NULL, what);
512              lFreeWhat(&what);
513 
514              aep = lFirst(alp);
515--- 1067,1073 ----
516 
517              /* get the sharetree .. */
518              what = lWhat("%T(ALL)", STN_Type);
519!             alp = ctx->gdi(ctx, SGE_SHARETREE_LIST, SGE_GDI_GET, &lp, NULL, what, false);
520              lFreeWhat(&what);
521 
522              aep = lFirst(alp);
523***************
524*** 1139,1145 ****
525           lAppendElem(newlp, ep);
526 
527           what = lWhat("%T(ALL)", STN_Type);
528!          alp = ctx->gdi(ctx, SGE_SHARETREE_LIST, SGE_GDI_ADD, &newlp, NULL, what);
529           lFreeWhat(&what);
530 
531           ep = lFirst(alp);
532--- 1139,1145 ----
533           lAppendElem(newlp, ep);
534 
535           what = lWhat("%T(ALL)", STN_Type);
536!          alp = ctx->gdi(ctx, SGE_SHARETREE_LIST, SGE_GDI_ADD, &newlp, NULL, what, false);
537           lFreeWhat(&what);
538 
539           ep = lFirst(alp);
540***************
541*** 1168,1174 ****
542 
543           /* get the sharetree .. */
544           what = lWhat("%T(ALL)", STN_Type);
545!          alp = ctx->gdi(ctx, SGE_SHARETREE_LIST, SGE_GDI_GET, &lp, NULL, what);
546           lFreeWhat(&what);
547 
548           aep = lFirst(alp);
549--- 1168,1174 ----
550 
551           /* get the sharetree .. */
552           what = lWhat("%T(ALL)", STN_Type);
553!          alp = ctx->gdi(ctx, SGE_SHARETREE_LIST, SGE_GDI_GET, &lp, NULL, what, false);
554           lFreeWhat(&what);
555 
556           aep = lFirst(alp);
557***************
558*** 1272,1278 ****
559 
560           if (modified) {
561              what = lWhat("%T(ALL)", STN_Type);
562!             alp = ctx->gdi(ctx, SGE_SHARETREE_LIST, SGE_GDI_MOD, &lp, NULL, what);
563              lFreeWhat(&what);
564              ep = lFirst(alp);
565              answer_exit_if_not_recoverable(ep);
566--- 1272,1278 ----
567 
568           if (modified) {
569              what = lWhat("%T(ALL)", STN_Type);
570!             alp = ctx->gdi(ctx, SGE_SHARETREE_LIST, SGE_GDI_MOD, &lp, NULL, what, false);
571              lFreeWhat(&what);
572              ep = lFirst(alp);
573              answer_exit_if_not_recoverable(ep);
574***************
575*** 1336,1342 ****
576 
577           /* get user list */
578           what = lWhat("%T(ALL)", STN_Type);
579!          alp = ctx->gdi(ctx, SGE_USER_LIST, SGE_GDI_GET, &lp, NULL, what);
580           lFreeWhat(&what);
581 
582           aep = lFirst(alp);
583--- 1336,1342 ----
584 
585           /* get user list */
586           what = lWhat("%T(ALL)", STN_Type);
587!          alp = ctx->gdi(ctx, SGE_USER_LIST, SGE_GDI_GET, &lp, NULL, what, false);
588           lFreeWhat(&what);
589 
590           aep = lFirst(alp);
591***************
592*** 1350,1356 ****
593   
594           /* get project list */
595           what = lWhat("%T(ALL)", STN_Type);
596!          alp = ctx->gdi(ctx, SGE_PROJECT_LIST, SGE_GDI_GET, &lp2, NULL, what);
597           lFreeWhat(&what);
598 
599           aep = lFirst(alp);
600--- 1350,1356 ----
601   
602           /* get project list */
603           what = lWhat("%T(ALL)", STN_Type);
604!          alp = ctx->gdi(ctx, SGE_PROJECT_LIST, SGE_GDI_GET, &lp2, NULL, what, false);
605           lFreeWhat(&what);
606 
607           aep = lFirst(alp);
608***************
609*** 1376,1389 ****
610 
611           /* update user usage */
612           if (lp && lGetNumberOfElem(lp) > 0) {
613!             alp = ctx->gdi(ctx, SGE_USER_LIST, SGE_GDI_MOD, &lp, NULL, NULL);
614              answer_list_on_error_print_or_exit(&alp, stderr);
615              lFreeList(&alp);
616           }
617 
618           /* update project usage */
619           if (lp2 && lGetNumberOfElem(lp2) > 0) {
620!             alp = ctx->gdi(ctx, SGE_PROJECT_LIST, SGE_GDI_MOD, &lp2, NULL, NULL);
621              answer_list_on_error_print_or_exit(&alp, stderr);
622              lFreeList(&alp);
623           }
624--- 1376,1389 ----
625 
626           /* update user usage */
627           if (lp && lGetNumberOfElem(lp) > 0) {
628!             alp = ctx->gdi(ctx, SGE_USER_LIST, SGE_GDI_MOD, &lp, NULL, NULL, false);
629              answer_list_on_error_print_or_exit(&alp, stderr);
630              lFreeList(&alp);
631           }
632 
633           /* update project usage */
634           if (lp2 && lGetNumberOfElem(lp2) > 0) {
635!             alp = ctx->gdi(ctx, SGE_PROJECT_LIST, SGE_GDI_MOD, &lp2, NULL, NULL, false);
636              answer_list_on_error_print_or_exit(&alp, stderr);
637              lFreeList(&alp);
638           }
639***************
640*** 1404,1410 ****
641           lSetString(ep, CAL_name, *spp);
642           lp = lCreateList("cal's to del", CAL_Type);
643           lAppendElem(lp, ep);
644!          alp = ctx->gdi(ctx, SGE_CALENDAR_LIST, SGE_GDI_DEL, &lp, NULL, NULL);
645           sge_parse_return |= show_answer_list(alp);
646           lFreeList(&alp);
647           lFreeList(&lp);
648--- 1404,1410 ----
649           lSetString(ep, CAL_name, *spp);
650           lp = lCreateList("cal's to del", CAL_Type);
651           lAppendElem(lp, ep);
652!          alp = ctx->gdi(ctx, SGE_CALENDAR_LIST, SGE_GDI_DEL, &lp, NULL, NULL, false);
653           sge_parse_return |= show_answer_list(alp);
654           lFreeList(&alp);
655           lFreeList(&lp);
656***************
657*** 1423,1429 ****
658           lSetString(ep, CK_name, *spp);
659           lp = lCreateList("ckpt interfaces to del", CK_Type);
660           lAppendElem(lp, ep);
661!          alp = ctx->gdi(ctx, SGE_CKPT_LIST, SGE_GDI_DEL, &lp, NULL, NULL);
662           sge_parse_return |= show_answer_list(alp);
663           lFreeList(&alp);
664           lFreeList(&lp);
665--- 1423,1429 ----
666           lSetString(ep, CK_name, *spp);
667           lp = lCreateList("ckpt interfaces to del", CK_Type);
668           lAppendElem(lp, ep);
669!          alp = ctx->gdi(ctx, SGE_CKPT_LIST, SGE_GDI_DEL, &lp, NULL, NULL, false);
670           sge_parse_return |= show_answer_list(alp);
671           lFreeList(&alp);
672           lFreeList(&lp);
673***************
674*** 1467,1473 ****
675           spp = sge_parser_get_next(spp);
676 
677           lString2List(*spp, &lp, RQS_Type, RQS_name, ", ");
678!          alp = ctx->gdi(ctx, SGE_RQS_LIST, SGE_GDI_DEL, &lp, NULL, NULL);
679           answer_list_on_error_print_or_exit(&alp, stderr);
680           lFreeList(&alp);
681           lFreeList(&lp);
682--- 1467,1473 ----
683           spp = sge_parser_get_next(spp);
684 
685           lString2List(*spp, &lp, RQS_Type, RQS_name, ", ");
686!          alp = ctx->gdi(ctx, SGE_RQS_LIST, SGE_GDI_DEL, &lp, NULL, NULL, false);
687           answer_list_on_error_print_or_exit(&alp, stderr);
688           lFreeList(&alp);
689           lFreeList(&lp);
690***************
691*** 1484,1490 ****
692           spp = sge_parser_get_next(spp);
693 
694           lString2List(*spp, &lp, MO_Type, MO_name, ", ");
695!          alp = ctx->gdi(ctx, SGE_MANAGER_LIST, SGE_GDI_DEL, &lp, NULL, NULL);
696           answer_list_on_error_print_or_exit(&alp, stderr);
697           lFreeList(&alp);
698           lFreeList(&lp);
699--- 1484,1490 ----
700           spp = sge_parser_get_next(spp);
701 
702           lString2List(*spp, &lp, MO_Type, MO_name, ", ");
703!          alp = ctx->gdi(ctx, SGE_MANAGER_LIST, SGE_GDI_DEL, &lp, NULL, NULL, false);
704           answer_list_on_error_print_or_exit(&alp, stderr);
705           lFreeList(&alp);
706           lFreeList(&lp);
707***************
708*** 1501,1507 ****
709           spp = sge_parser_get_next(spp);
710 
711           lString2List(*spp, &lp, MO_Type, MO_name, ", ");
712!          alp = ctx->gdi(ctx, SGE_OPERATOR_LIST, SGE_GDI_DEL, &lp, NULL, NULL);
713           answer_list_on_error_print_or_exit(&alp, stderr);
714           lFreeList(&alp);
715           lFreeList(&lp);
716--- 1501,1507 ----
717           spp = sge_parser_get_next(spp);
718 
719           lString2List(*spp, &lp, MO_Type, MO_name, ", ");
720!          alp = ctx->gdi(ctx, SGE_OPERATOR_LIST, SGE_GDI_DEL, &lp, NULL, NULL, false);
721           answer_list_on_error_print_or_exit(&alp, stderr);
722           lFreeList(&alp);
723           lFreeList(&lp);
724***************
725*** 1521,1527 ****
726           lSetString(ep, PE_name, *spp);
727           lp = lCreateList("pe's to del", PE_Type);
728           lAppendElem(lp, ep);
729!          alp = ctx->gdi(ctx, SGE_PE_LIST, SGE_GDI_DEL, &lp, NULL, NULL);
730           answer_list_on_error_print_or_exit(&alp, stderr);
731           lFreeList(&alp);
732           lFreeList(&lp);
733--- 1521,1527 ----
734           lSetString(ep, PE_name, *spp);
735           lp = lCreateList("pe's to del", PE_Type);
736           lAppendElem(lp, ep);
737!          alp = ctx->gdi(ctx, SGE_PE_LIST, SGE_GDI_DEL, &lp, NULL, NULL, false);
738           answer_list_on_error_print_or_exit(&alp, stderr);
739           lFreeList(&alp);
740           lFreeList(&lp);
741***************
742*** 1584,1590 ****
743           spp = sge_parser_get_next(spp);
744 
745           lString2List(*spp, &lp, US_Type, US_name, ", ");
746!          alp = ctx->gdi(ctx, SGE_USERSET_LIST, SGE_GDI_DEL, &lp, NULL, NULL);
747           sge_parse_return |= show_answer_list(alp);
748           lFreeList(&alp);
749           lFreeList(&lp);
750--- 1584,1590 ----
751           spp = sge_parser_get_next(spp);
752 
753           lString2List(*spp, &lp, US_Type, US_name, ", ");
754!          alp = ctx->gdi(ctx, SGE_USERSET_LIST, SGE_GDI_DEL, &lp, NULL, NULL, false);
755           sge_parse_return |= show_answer_list(alp);
756           lFreeList(&alp);
757           lFreeList(&lp);
758***************
759*** 1601,1607 ****
760           spp = sge_parser_get_next(spp);
761 
762           lString2List(*spp, &lp, UP_Type, UP_name, ", ");
763!          alp = ctx->gdi(ctx, SGE_USER_LIST, SGE_GDI_DEL, &lp, NULL, NULL);
764           sge_parse_return |= show_answer_list(alp);
765           lFreeList(&alp);
766           lFreeList(&lp);
767--- 1601,1607 ----
768           spp = sge_parser_get_next(spp);
769 
770           lString2List(*spp, &lp, UP_Type, UP_name, ", ");
771!          alp = ctx->gdi(ctx, SGE_USER_LIST, SGE_GDI_DEL, &lp, NULL, NULL, false);
772           sge_parse_return |= show_answer_list(alp);
773           lFreeList(&alp);
774           lFreeList(&lp);
775***************
776*** 1620,1626 ****
777           spp = sge_parser_get_next(spp);
778 
779           lString2List(*spp, &lp, UP_Type, UP_name, ", ");
780!          alp = ctx->gdi(ctx, SGE_PROJECT_LIST, SGE_GDI_DEL, &lp, NULL, NULL);
781           sge_parse_return |= show_answer_list(alp);
782 
783           lFreeList(&alp);
784--- 1620,1626 ----
785           spp = sge_parser_get_next(spp);
786 
787           lString2List(*spp, &lp, UP_Type, UP_name, ", ");
788!          alp = ctx->gdi(ctx, SGE_PROJECT_LIST, SGE_GDI_DEL, &lp, NULL, NULL, false);
789           sge_parse_return |= show_answer_list(alp);
790 
791           lFreeList(&alp);
792***************
793*** 1641,1647 ****
794 
795           /* get the sharetree .. */
796           what = lWhat("%T(ALL)", STN_Type);
797!          alp = ctx->gdi(ctx, SGE_SHARETREE_LIST, SGE_GDI_GET, &lp, NULL, what);
798           lFreeWhat(&what);
799 
800           aep = lFirst(alp);
801--- 1641,1647 ----
802 
803           /* get the sharetree .. */
804           what = lWhat("%T(ALL)", STN_Type);
805!          alp = ctx->gdi(ctx, SGE_SHARETREE_LIST, SGE_GDI_GET, &lp, NULL, what, false);
806           lFreeWhat(&what);
807 
808           aep = lFirst(alp);
809***************
810*** 1711,1717 ****
811 
812           if (modified) {
813              what = lWhat("%T(ALL)", STN_Type);
814!             alp = ctx->gdi(ctx, SGE_SHARETREE_LIST, SGE_GDI_MOD, &lp, NULL, what);
815              lFreeWhat(&what);
816              ep = lFirst(alp);
817              answer_exit_if_not_recoverable(ep);
818--- 1711,1717 ----
819 
820           if (modified) {
821              what = lWhat("%T(ALL)", STN_Type);
822!             alp = ctx->gdi(ctx, SGE_SHARETREE_LIST, SGE_GDI_MOD, &lp, NULL, what, false);
823              lFreeWhat(&what);
824              ep = lFirst(alp);
825              answer_exit_if_not_recoverable(ep);
826***************
827*** 1737,1743 ****
828        if (strcmp("-dstree", *spp) == 0) {
829           /* no adminhost/manager check needed here */
830           
831!          alp = ctx->gdi(ctx, SGE_SHARETREE_LIST, SGE_GDI_DEL, NULL, NULL, NULL);
832           answer_list_on_error_print_or_exit(&alp, stderr);
833           lFreeList(&alp);
834           lFreeList(&lp);
835--- 1737,1743 ----
836        if (strcmp("-dstree", *spp) == 0) {
837           /* no adminhost/manager check needed here */
838           
839!          alp = ctx->gdi(ctx, SGE_SHARETREE_LIST, SGE_GDI_DEL, NULL, NULL, NULL, false);
840           answer_list_on_error_print_or_exit(&alp, stderr);
841           lFreeList(&alp);
842           lFreeList(&lp);
843***************
844*** 1887,1893 ****
845             
846              where = lWhere("%T( %I==%s )", CAL_Type, CAL_name, *spp);
847              what = lWhat("%T(ALL)", CAL_Type);
848!             alp = ctx->gdi(ctx, SGE_CALENDAR_LIST, SGE_GDI_GET, &lp, where, what);
849              lFreeWhere(&where);
850              lFreeWhat(&what);
851 
852--- 1887,1893 ----
853             
854              where = lWhere("%T( %I==%s )", CAL_Type, CAL_name, *spp);
855              what = lWhat("%T(ALL)", CAL_Type);
856!             alp = ctx->gdi(ctx, SGE_CALENDAR_LIST, SGE_GDI_GET, &lp, where, what, false);
857              lFreeWhere(&where);
858              lFreeWhat(&what);
859 
860***************
861*** 1991,1997 ****
862           /* send it to qmaster */
863           lp = lCreateList("calendar to add", CAL_Type);
864           lAppendElem(lp, ep);
865!          alp = ctx->gdi(ctx, SGE_CALENDAR_LIST, SGE_GDI_MOD, &lp, NULL, NULL);
866           sge_parse_return |= show_answer_list(alp);
867           lFreeList(&alp);
868           lFreeList(&lp);
869--- 1991,1997 ----
870           /* send it to qmaster */
871           lp = lCreateList("calendar to add", CAL_Type);
872           lAppendElem(lp, ep);
873!          alp = ctx->gdi(ctx, SGE_CALENDAR_LIST, SGE_GDI_MOD, &lp, NULL, NULL, false);
874           sge_parse_return |= show_answer_list(alp);
875           lFreeList(&alp);
876           lFreeList(&lp);
877***************
878*** 2037,2043 ****
879              /* get last version of this pe from qmaster */
880              where = lWhere("%T( %I==%s )", CK_Type, CK_name, *spp);
881              what = lWhat("%T(ALL)", CK_Type);
882!             alp = ctx->gdi(ctx, SGE_CKPT_LIST, SGE_GDI_GET, &lp, where, what);
883              lFreeWhere(&where);
884              lFreeWhat(&what);
885 
886--- 2037,2043 ----
887              /* get last version of this pe from qmaster */
888              where = lWhere("%T( %I==%s )", CK_Type, CK_name, *spp);
889              what = lWhat("%T(ALL)", CK_Type);
890!             alp = ctx->gdi(ctx, SGE_CKPT_LIST, SGE_GDI_GET, &lp, where, what, false);
891              lFreeWhere(&where);
892              lFreeWhat(&what);
893 
894***************
895*** 2152,2158 ****
896           /* send it to qmaster */
897           lp = lCreateList("CKPT list to add", CK_Type);
898           lAppendElem(lp, ep);
899!          alp = ctx->gdi(ctx, SGE_CKPT_LIST, SGE_GDI_MOD, &lp, NULL, NULL);
900           aep = lFirst(alp);
901           answer_exit_if_not_recoverable(aep);
902           fprintf(stderr, "%s\n", lGetString(aep, AN_text));
903--- 2152,2158 ----
904           /* send it to qmaster */
905           lp = lCreateList("CKPT list to add", CK_Type);
906           lAppendElem(lp, ep);
907!          alp = ctx->gdi(ctx, SGE_CKPT_LIST, SGE_GDI_MOD, &lp, NULL, NULL, false);
908           aep = lFirst(alp);
909           answer_exit_if_not_recoverable(aep);
910           fprintf(stderr, "%s\n", lGetString(aep, AN_text));
911***************
912*** 2211,2217 ****
913              DRETURN(1);
914           }
915 
916!          alp = ctx->gdi(ctx, SGE_EXECHOST_LIST, SGE_GDI_MOD, &lp, NULL, NULL);
917 
918           sge_parse_return |= show_answer(alp);
919           lFreeList(&alp);
920--- 2211,2217 ----
921              DRETURN(1);
922           }
923 
924!          alp = ctx->gdi(ctx, SGE_EXECHOST_LIST, SGE_GDI_MOD, &lp, NULL, NULL, false);
925 
926           sge_parse_return |= show_answer(alp);
927           lFreeList(&alp);
928***************
929*** 2245,2251 ****
930              /* get the existing host entry .. */
931              where = lWhere("%T( %Ih=%s )", EH_Type, EH_name, host);
932              what = lWhat("%T(ALL)", EH_Type);
933!             alp = ctx->gdi(ctx, SGE_EXECHOST_LIST, SGE_GDI_GET, &lp, where, what);
934              lFreeWhere(&where);
935              lFreeWhat(&what);
936 
937--- 2245,2251 ----
938              /* get the existing host entry .. */
939              where = lWhere("%T( %Ih=%s )", EH_Type, EH_name, host);
940              what = lWhat("%T(ALL)", EH_Type);
941!             alp = ctx->gdi(ctx, SGE_EXECHOST_LIST, SGE_GDI_GET, &lp, where, what, false);
942              lFreeWhere(&where);
943              lFreeWhat(&what);
944 
945***************
946*** 2270,2276 ****
947              lFreeList(&lp);
948              lp = lCreateList("host to mod", EH_Type);
949              lAppendElem(lp, ep);
950!             alp = ctx->gdi(ctx, SGE_EXECHOST_LIST, SGE_GDI_MOD, &lp, NULL, NULL);
951              lFreeList(&lp);
952 
953              if (show_answer(alp) == 1) {
954--- 2270,2276 ----
955              lFreeList(&lp);
956              lp = lCreateList("host to mod", EH_Type);
957              lAppendElem(lp, ep);
958!             alp = ctx->gdi(ctx, SGE_EXECHOST_LIST, SGE_GDI_MOD, &lp, NULL, NULL, false);
959              lFreeList(&lp);
960 
961              if (show_answer(alp) == 1) {
962***************
963*** 2350,2356 ****
964              /* get last version of this pe from qmaster */
965              where = lWhere("%T( %I==%s )", PE_Type, PE_name, *spp);
966              what = lWhat("%T(ALL)", PE_Type);
967!             alp = ctx->gdi(ctx, SGE_PE_LIST, SGE_GDI_GET, &lp, where, what);
968              lFreeWhere(&where);
969              lFreeWhat(&what);
970 
971--- 2350,2356 ----
972              /* get last version of this pe from qmaster */
973              where = lWhere("%T( %I==%s )", PE_Type, PE_name, *spp);
974              what = lWhat("%T(ALL)", PE_Type);
975!             alp = ctx->gdi(ctx, SGE_PE_LIST, SGE_GDI_GET, &lp, where, what, false);
976              lFreeWhere(&where);
977              lFreeWhat(&what);
978 
979***************
980*** 2478,2484 ****
981           /* send it to qmaster */
982           lp = lCreateList("PE list to add", PE_Type);
983           lAppendElem(lp, ep);
984!          alp = ctx->gdi(ctx, SGE_PE_LIST, SGE_GDI_MOD, &lp, NULL, NULL);
985           aep = lFirst(alp);
986           answer_exit_if_not_recoverable(aep);
987           fprintf(stderr, "%s\n", lGetString(aep, AN_text));
988--- 2478,2484 ----
989           /* send it to qmaster */
990           lp = lCreateList("PE list to add", PE_Type);
991           lAppendElem(lp, ep);
992!          alp = ctx->gdi(ctx, SGE_PE_LIST, SGE_GDI_MOD, &lp, NULL, NULL, false);
993           aep = lFirst(alp);
994           answer_exit_if_not_recoverable(aep);
995           fprintf(stderr, "%s\n", lGetString(aep, AN_text));
996***************
997*** 2520,2526 ****
998           lListElem *answer_ep;
999 
1000           what = lWhat("%T(ALL)", EH_Type);
1001!          answer_list = ctx->gdi(ctx, SGE_EXECHOST_LIST, SGE_GDI_GET, &list, NULL, what);
1002           lFreeWhat(&what);
1003 
1004           answer_ep = lFirst(answer_list);
1005--- 2520,2526 ----
1006           lListElem *answer_ep;
1007 
1008           what = lWhat("%T(ALL)", EH_Type);
1009!          answer_list = ctx->gdi(ctx, SGE_EXECHOST_LIST, SGE_GDI_GET, &list, NULL, what, false);
1010           lFreeWhat(&what);
1011 
1012           answer_ep = lFirst(answer_list);
1013***************
1014*** 2741,2747 ****
1015           lListElem *answer_ep;
1016 
1017           what = lWhat("%T(ALL)", CQ_Type);
1018!          answer_list = ctx->gdi(ctx, SGE_CQUEUE_LIST, SGE_GDI_GET, &list, NULL, what);
1019           lFreeWhat(&what);
1020 
1021           answer_ep = lFirst(answer_list);
1022--- 2741,2747 ----
1023           lListElem *answer_ep;
1024 
1025           what = lWhat("%T(ALL)", CQ_Type);
1026!          answer_list = ctx->gdi(ctx, SGE_CQUEUE_LIST, SGE_GDI_GET, &list, NULL, what, false);
1027           lFreeWhat(&what);
1028 
1029           answer_ep = lFirst(answer_list);
1030***************
1031*** 3142,3148 ****
1032              continue;
1033           }
1034 
1035!          alp = ctx->gdi(ctx, SGE_SC_LIST, SGE_GDI_MOD, &lp, NULL, NULL);
1036           aep = lFirst(alp);
1037           answer_exit_if_not_recoverable(aep);
1038           if (answer_get_status(aep) == STATUS_OK)
1039--- 3142,3148 ----
1040              continue;
1041           }
1042 
1043!          alp = ctx->gdi(ctx, SGE_SC_LIST, SGE_GDI_MOD, &lp, NULL, NULL, false);
1044           aep = lFirst(alp);
1045           answer_exit_if_not_recoverable(aep);
1046           if (answer_get_status(aep) == STATUS_OK)
1047***************
1048*** 3167,3173 ****
1049 
1050           /* get the scheduler configuration .. */
1051           what = lWhat("%T(ALL)", SC_Type);
1052!          alp = ctx->gdi(ctx, SGE_SC_LIST, SGE_GDI_GET, &lp, NULL, what);
1053           lFreeWhat(&what);
1054 
1055           aep = lFirst(alp);
1056--- 3167,3173 ----
1057 
1058           /* get the scheduler configuration .. */
1059           what = lWhat("%T(ALL)", SC_Type);
1060!          alp = ctx->gdi(ctx, SGE_SC_LIST, SGE_GDI_GET, &lp, NULL, what, false);
1061           lFreeWhat(&what);
1062 
1063           aep = lFirst(alp);
1064***************
1065*** 3184,3190 ****
1066 
1067           lFreeList(&lp);
1068           what = lWhat("%T(ALL)", SC_Type);
1069!          alp = ctx->gdi(ctx, SGE_SC_LIST, SGE_GDI_MOD, &newlp, NULL, what);
1070           lFreeWhat(&what);
1071           ep = lFirst(alp);
1072           answer_exit_if_not_recoverable(ep);
1073--- 3184,3190 ----
1074 
1075           lFreeList(&lp);
1076           what = lWhat("%T(ALL)", SC_Type);
1077!          alp = ctx->gdi(ctx, SGE_SC_LIST, SGE_GDI_MOD, &newlp, NULL, what, false);
1078           lFreeWhat(&what);
1079           ep = lFirst(alp);
1080           answer_exit_if_not_recoverable(ep);
1081***************
1082*** 3210,3216 ****
1083 
1084              /* get the sharetree .. */
1085              what = lWhat("%T(ALL)", STN_Type);
1086!             alp = ctx->gdi(ctx, SGE_SHARETREE_LIST, SGE_GDI_GET, &lp, NULL, what);
1087              lFreeWhat(&what);
1088 
1089              aep = lFirst(alp);
1090--- 3210,3216 ----
1091 
1092              /* get the sharetree .. */
1093              what = lWhat("%T(ALL)", STN_Type);
1094!             alp = ctx->gdi(ctx, SGE_SHARETREE_LIST, SGE_GDI_GET, &lp, NULL, what, false);
1095              lFreeWhat(&what);
1096 
1097              aep = lFirst(alp);
1098***************
1099*** 3280,3286 ****
1100           lAppendElem(newlp, ep);
1101 
1102           what = lWhat("%T(ALL)", STN_Type);
1103!          alp = ctx->gdi(ctx, SGE_SHARETREE_LIST, SGE_GDI_MOD, &newlp, NULL, what);
1104           lFreeWhat(&what);
1105           ep = lFirst(alp);
1106           answer_exit_if_not_recoverable(ep);
1107--- 3280,3286 ----
1108           lAppendElem(newlp, ep);
1109 
1110           what = lWhat("%T(ALL)", STN_Type);
1111!          alp = ctx->gdi(ctx, SGE_SHARETREE_LIST, SGE_GDI_MOD, &newlp, NULL, what, false);
1112           lFreeWhat(&what);
1113           ep = lFirst(alp);
1114           answer_exit_if_not_recoverable(ep);
1115***************
1116*** 3369,3375 ****
1117           /* get userset from qmaster */
1118           where = lWhere("%T( %I==%s )", US_Type, US_name, usersetname);
1119           what = lWhat("%T(ALL)", US_Type);
1120!          alp = ctx->gdi(ctx, SGE_USERSET_LIST, SGE_GDI_GET, &lp, where, what);
1121           lFreeWhere(&where);
1122           lFreeWhat(&what);
1123 
1124--- 3369,3375 ----
1125           /* get userset from qmaster */
1126           where = lWhere("%T( %I==%s )", US_Type, US_name, usersetname);
1127           what = lWhat("%T(ALL)", US_Type);
1128!          alp = ctx->gdi(ctx, SGE_USERSET_LIST, SGE_GDI_GET, &lp, where, what, false);
1129           lFreeWhere(&where);
1130           lFreeWhat(&what);
1131 
1132***************
1133*** 3399,3405 ****
1134           acl = lCreateList("modified usersetlist", US_Type);
1135           lAppendElem(acl, ep);
1136 
1137!          alp = ctx->gdi(ctx, SGE_USERSET_LIST, SGE_GDI_MOD, &acl, NULL, NULL);
1138           aep = lFirst(alp);
1139           answer_exit_if_not_recoverable(aep);
1140           if (answer_get_status(aep) != STATUS_OK) {
1141--- 3399,3405 ----
1142           acl = lCreateList("modified usersetlist", US_Type);
1143           lAppendElem(acl, ep);
1144 
1145!          alp = ctx->gdi(ctx, SGE_USERSET_LIST, SGE_GDI_MOD, &acl, NULL, NULL, false);
1146           aep = lFirst(alp);
1147           answer_exit_if_not_recoverable(aep);
1148           if (answer_get_status(aep) != STATUS_OK) {
1149***************
1150*** 3465,3471 ****
1151 
1152           acl = lCreateList("usersetlist list to add", US_Type);
1153           lAppendElem(acl,ep);
1154!          alp = ctx->gdi(ctx, SGE_USERSET_LIST, SGE_GDI_ADD, &acl, NULL, NULL);
1155           aep = lFirst(alp);
1156           answer_exit_if_not_recoverable(aep);
1157           if (answer_get_status(aep) != STATUS_OK) {
1158--- 3465,3471 ----
1159 
1160           acl = lCreateList("usersetlist list to add", US_Type);
1161           lAppendElem(acl,ep);
1162!          alp = ctx->gdi(ctx, SGE_USERSET_LIST, SGE_GDI_ADD, &acl, NULL, NULL, false);
1163           aep = lFirst(alp);
1164           answer_exit_if_not_recoverable(aep);
1165           if (answer_get_status(aep) != STATUS_OK) {
1166***************
1167*** 3495,3501 ****
1168           /* get user */
1169           where = lWhere("%T( %I==%s )", UP_Type, UP_name, *spp);
1170           what = lWhat("%T(ALL)", UP_Type);
1171!          alp = ctx->gdi(ctx, SGE_USER_LIST, SGE_GDI_GET, &lp, where, what);
1172           lFreeWhere(&where);
1173           lFreeWhat(&what);
1174 
1175--- 3495,3501 ----
1176           /* get user */
1177           where = lWhere("%T( %I==%s )", UP_Type, UP_name, *spp);
1178           what = lWhat("%T(ALL)", UP_Type);
1179!          alp = ctx->gdi(ctx, SGE_USER_LIST, SGE_GDI_GET, &lp, where, what, false);
1180           lFreeWhere(&where);
1181           lFreeWhat(&what);
1182 
1183***************
1184*** 3529,3535 ****
1185              /* send it to qmaster */
1186              lp = lCreateList("User list to modify", UP_Type);
1187              lAppendElem(lp, newep);
1188!             alp = ctx->gdi(ctx, SGE_USER_LIST, SGE_GDI_MOD, &lp, NULL, NULL);
1189              aep = lFirst(alp);
1190              answer_exit_if_not_recoverable(aep);
1191              if (answer_get_status(aep) != STATUS_OK) {
1192--- 3529,3535 ----
1193              /* send it to qmaster */
1194              lp = lCreateList("User list to modify", UP_Type);
1195              lAppendElem(lp, newep);
1196!             alp = ctx->gdi(ctx, SGE_USER_LIST, SGE_GDI_MOD, &lp, NULL, NULL, false);
1197              aep = lFirst(alp);
1198              answer_exit_if_not_recoverable(aep);
1199              if (answer_get_status(aep) != STATUS_OK) {
1200***************
1201*** 3561,3567 ****
1202           /* get project */
1203           where = lWhere("%T( %I==%s )", UP_Type, UP_name, *spp);
1204           what = lWhat("%T(ALL)", UP_Type);
1205!          alp = ctx->gdi(ctx, SGE_PROJECT_LIST, SGE_GDI_GET, &lp, where, what);
1206           lFreeWhere(&where);
1207           lFreeWhat(&what);
1208                   
1209--- 3561,3567 ----
1210           /* get project */
1211           where = lWhere("%T( %I==%s )", UP_Type, UP_name, *spp);
1212           what = lWhat("%T(ALL)", UP_Type);
1213!          alp = ctx->gdi(ctx, SGE_PROJECT_LIST, SGE_GDI_GET, &lp, where, what, false);
1214           lFreeWhere(&where);
1215           lFreeWhat(&what);
1216                   
1217***************
1218*** 3588,3594 ****
1219           lFreeList(&lp);
1220           lp = lCreateList("Project list to modify", UP_Type);
1221           lAppendElem(lp, newep);
1222!          alp = ctx->gdi(ctx, SGE_PROJECT_LIST, SGE_GDI_MOD, &lp, NULL, NULL);
1223           aep = lFirst(alp);
1224           answer_exit_if_not_recoverable(aep);
1225           fprintf(stderr, "%s\n", lGetString(aep, AN_text));
1226--- 3588,3594 ----
1227           lFreeList(&lp);
1228           lp = lCreateList("Project list to modify", UP_Type);
1229           lAppendElem(lp, newep);
1230!          alp = ctx->gdi(ctx, SGE_PROJECT_LIST, SGE_GDI_MOD, &lp, NULL, NULL, false);
1231           aep = lFirst(alp);
1232           answer_exit_if_not_recoverable(aep);
1233           fprintf(stderr, "%s\n", lGetString(aep, AN_text));
1234***************
1235*** 3655,3661 ****
1236           /* get user */
1237           where = lWhere("%T( %I==%s )", UP_Type, UP_name, username);
1238           what = lWhat("%T(ALL)", UP_Type);
1239!          alp = ctx->gdi(ctx, SGE_USER_LIST, SGE_GDI_GET, &lp, where, what);
1240           lFreeWhere(&where);
1241           lFreeWhat(&what);
1242                   
1243--- 3655,3661 ----
1244           /* get user */
1245           where = lWhere("%T( %I==%s )", UP_Type, UP_name, username);
1246           what = lWhat("%T(ALL)", UP_Type);
1247!          alp = ctx->gdi(ctx, SGE_USER_LIST, SGE_GDI_GET, &lp, where, what, false);
1248           lFreeWhere(&where);
1249           lFreeWhat(&what);
1250                   
1251***************
1252*** 3685,3691 ****
1253           lFreeList(&lp);
1254           lp = lCreateList("User list to modify", UP_Type);
1255           lAppendElem(lp, newep);
1256!          alp = ctx->gdi(ctx, SGE_USER_LIST, SGE_GDI_MOD, &lp, NULL, NULL);
1257           aep = lFirst(alp);
1258           answer_exit_if_not_recoverable(aep);
1259           if (answer_get_status(aep) != STATUS_OK) {
1260--- 3685,3691 ----
1261           lFreeList(&lp);
1262           lp = lCreateList("User list to modify", UP_Type);
1263           lAppendElem(lp, newep);
1264!          alp = ctx->gdi(ctx, SGE_USER_LIST, SGE_GDI_MOD, &lp, NULL, NULL, false);
1265           aep = lFirst(alp);
1266           answer_exit_if_not_recoverable(aep);
1267           if (answer_get_status(aep) != STATUS_OK) {
1268***************
1269*** 3757,3763 ****
1270           /* get project */
1271           where = lWhere("%T( %I==%s )", UP_Type, UP_name, projectname);
1272           what = lWhat("%T(ALL)", UP_Type);
1273!          alp = ctx->gdi(ctx, SGE_PROJECT_LIST, SGE_GDI_GET, &lp, where, what);
1274           lFreeWhere(&where);
1275           lFreeWhat(&what);
1276                   
1277--- 3757,3763 ----
1278           /* get project */
1279           where = lWhere("%T( %I==%s )", UP_Type, UP_name, projectname);
1280           what = lWhat("%T(ALL)", UP_Type);
1281!          alp = ctx->gdi(ctx, SGE_PROJECT_LIST, SGE_GDI_GET, &lp, where, what, false);
1282           lFreeWhere(&where);
1283           lFreeWhat(&what);
1284                   
1285***************
1286*** 3787,3793 ****
1287           /* send it to qmaster */
1288           lp = lCreateList("Project list to modify", UP_Type);
1289           lAppendElem(lp, newep);
1290!          alp = ctx->gdi(ctx, SGE_PROJECT_LIST, SGE_GDI_MOD, &lp, NULL, NULL);
1291           aep = lFirst(alp);
1292           answer_exit_if_not_recoverable(aep);
1293           fprintf(stderr, "%s\n", lGetString(aep, AN_text));
1294--- 3787,3793 ----
1295           /* send it to qmaster */
1296           lp = lCreateList("Project list to modify", UP_Type);
1297           lAppendElem(lp, newep);
1298!          alp = ctx->gdi(ctx, SGE_PROJECT_LIST, SGE_GDI_MOD, &lp, NULL, NULL, false);
1299           aep = lFirst(alp);
1300           answer_exit_if_not_recoverable(aep);
1301           fprintf(stderr, "%s\n", lGetString(aep, AN_text));
1302***************
1303*** 3822,3828 ****
1304           /* get the existing pe entry .. */
1305           where = lWhere("%T( %I==%s )", CAL_Type, CAL_name, *spp);
1306           what = lWhat("%T(ALL)", CAL_Type);
1307!          alp = ctx->gdi(ctx, SGE_CALENDAR_LIST, SGE_GDI_GET, &lp, where, what);
1308           lFreeWhere(&where);
1309           lFreeWhat(&what);
1310 
1311--- 3822,3828 ----
1312           /* get the existing pe entry .. */
1313           where = lWhere("%T( %I==%s )", CAL_Type, CAL_name, *spp);
1314           what = lWhat("%T(ALL)", CAL_Type);
1315!          alp = ctx->gdi(ctx, SGE_CALENDAR_LIST, SGE_GDI_GET, &lp, where, what, false);
1316           lFreeWhere(&where);
1317           lFreeWhat(&what);
1318 
1319***************
1320*** 3965,3971 ****
1321           /* get the existing ckpt entry .. */
1322           where = lWhere("%T( %I==%s )", CK_Type, CK_name, *spp);
1323           what = lWhat("%T(ALL)", CK_Type);
1324!          alp = ctx->gdi(ctx, SGE_CKPT_LIST, SGE_GDI_GET, &lp, where, what);
1325           lFreeWhere(&where);
1326           lFreeWhat(&what);
1327 
1328--- 3965,3971 ----
1329           /* get the existing ckpt entry .. */
1330           where = lWhere("%T( %I==%s )", CK_Type, CK_name, *spp);
1331           what = lWhat("%T(ALL)", CK_Type);
1332!          alp = ctx->gdi(ctx, SGE_CKPT_LIST, SGE_GDI_GET, &lp, where, what, false);
1333           lFreeWhere(&where);
1334           lFreeWhat(&what);
1335 
1336***************
1337*** 4093,4099 ****
1338           /* get the existing host entry .. */
1339           where = lWhere("%T( %Ih=%s )", EH_Type, EH_name, host);
1340           what = lWhat("%T(ALL)", EH_Type);
1341!          alp = ctx->gdi(ctx, SGE_EXECHOST_LIST, SGE_GDI_GET, &lp, where, what);
1342           lFreeWhere(&where);
1343           lFreeWhat(&what);
1344 
1345--- 4093,4099 ----
1346           /* get the existing host entry .. */
1347           where = lWhere("%T( %Ih=%s )", EH_Type, EH_name, host);
1348           what = lWhat("%T(ALL)", EH_Type);
1349!          alp = ctx->gdi(ctx, SGE_EXECHOST_LIST, SGE_GDI_GET, &lp, where, what, false);
1350           lFreeWhere(&where);
1351           lFreeWhat(&what);
1352 
1353***************
1354*** 4221,4227 ****
1355           /* get the existing pe entry .. */
1356           where = lWhere("%T( %I==%s )", PE_Type, PE_name, *spp);
1357           what = lWhat("%T(ALL)", PE_Type);
1358!          alp = ctx->gdi(ctx, SGE_PE_LIST, SGE_GDI_GET, &lp, where, what);
1359           lFreeWhere(&where);
1360           lFreeWhat(&what);
1361 
1362--- 4221,4227 ----
1363           /* get the existing pe entry .. */
1364           where = lWhere("%T( %I==%s )", PE_Type, PE_name, *spp);
1365           what = lWhat("%T(ALL)", PE_Type);
1366!          alp = ctx->gdi(ctx, SGE_PE_LIST, SGE_GDI_GET, &lp, where, what, false);
1367           lFreeWhere(&where);
1368           lFreeWhat(&what);
1369 
1370***************
1371*** 4290,4296 ****
1372        if (strcmp("-ssconf", *spp) == 0) {
1373           /* get the scheduler configuration .. */
1374           what = lWhat("%T(ALL)", SC_Type);
1375!          alp = ctx->gdi(ctx, SGE_SC_LIST, SGE_GDI_GET, &lp, NULL, what);
1376           lFreeWhat(&what);
1377 
1378           aep = lFirst(alp);
1379--- 4290,4296 ----
1380        if (strcmp("-ssconf", *spp) == 0) {
1381           /* get the scheduler configuration .. */
1382           what = lWhat("%T(ALL)", SC_Type);
1383!          alp = ctx->gdi(ctx, SGE_SC_LIST, SGE_GDI_GET, &lp, NULL, what, false);
1384           lFreeWhat(&what);
1385 
1386           aep = lFirst(alp);
1387***************
1388*** 4332,4338 ****
1389 
1390           /* get the sharetree .. */
1391           what = lWhat("%T(ALL)", STN_Type);
1392!          alp = ctx->gdi(ctx, SGE_SHARETREE_LIST, SGE_GDI_GET, &lp, NULL, what);
1393           lFreeWhat(&what);
1394 
1395           aep = lFirst(alp);
1396--- 4332,4338 ----
1397 
1398           /* get the sharetree .. */
1399           what = lWhat("%T(ALL)", STN_Type);
1400!          alp = ctx->gdi(ctx, SGE_SHARETREE_LIST, SGE_GDI_GET, &lp, NULL, what, false);
1401           lFreeWhat(&what);
1402 
1403           aep = lFirst(alp);
1404***************
1405*** 4382,4388 ****
1406 
1407           /* get the sharetree .. */
1408           what = lWhat("%T(ALL)", STN_Type);
1409!          alp = ctx->gdi(ctx, SGE_SHARETREE_LIST, SGE_GDI_GET, &lp, NULL, what);
1410           lFreeWhat(&what);
1411 
1412           aep = lFirst(alp);
1413--- 4382,4388 ----
1414 
1415           /* get the sharetree .. */
1416           what = lWhat("%T(ALL)", STN_Type);
1417!          alp = ctx->gdi(ctx, SGE_SHARETREE_LIST, SGE_GDI_GET, &lp, NULL, what, false);
1418           lFreeWhat(&what);
1419 
1420           aep = lFirst(alp);
1421***************
1422*** 4429,4435 ****
1423 
1424           /* get the sharetree .. */
1425           what = lWhat("%T(ALL)", STN_Type);
1426!          alp = ctx->gdi(ctx, SGE_SHARETREE_LIST, SGE_GDI_GET, &lp, NULL, what);
1427           lFreeWhat(&what);
1428 
1429           sge_parse_return |= show_answer_list(alp);
1430--- 4429,4435 ----
1431 
1432           /* get the sharetree .. */
1433           what = lWhat("%T(ALL)", STN_Type);
1434!          alp = ctx->gdi(ctx, SGE_SHARETREE_LIST, SGE_GDI_GET, &lp, NULL, what, false);
1435           lFreeWhat(&what);
1436 
1437           sge_parse_return |= show_answer_list(alp);
1438***************
1439*** 4475,4481 ****
1440        if (strcmp("-bonsai", *spp) == 0) {
1441           /* get the sharetree .. */
1442           what = lWhat("%T(ALL)", STN_Type);
1443!          alp = ctx->gdi(ctx, SGE_SHARETREE_LIST, SGE_GDI_GET, &lp, NULL, what);
1444           lFreeWhat(&what);
1445 
1446           aep = lFirst(alp);
1447--- 4475,4481 ----
1448        if (strcmp("-bonsai", *spp) == 0) {
1449           /* get the sharetree .. */
1450           what = lWhat("%T(ALL)", STN_Type);
1451!          alp = ctx->gdi(ctx, SGE_SHARETREE_LIST, SGE_GDI_GET, &lp, NULL, what, false);
1452           lFreeWhat(&what);
1453 
1454           aep = lFirst(alp);
1455***************
1456*** 5153,5159 ****
1457           for_each(ep, lp) {
1458              lSetUlong(ep, ID_action, QI_DO_CLEAN);
1459           }
1460!          alp = ctx->gdi(ctx, SGE_CQUEUE_LIST, SGE_GDI_TRIGGER, &lp, NULL, NULL);
1461           if (answer_list_has_error(&alp)) {
1462              sge_parse_return = 1;
1463           }
1464--- 5153,5159 ----
1465           for_each(ep, lp) {
1466              lSetUlong(ep, ID_action, QI_DO_CLEAN);
1467           }
1468!          alp = ctx->gdi(ctx, SGE_CQUEUE_LIST, SGE_GDI_TRIGGER, &lp, NULL, NULL, false);
1469           if (answer_list_has_error(&alp)) {
1470              sge_parse_return = 1;
1471           }
1472***************
1473*** 5282,5288 ****
1474              /* get user */
1475              where = lWhere("%T( %I==%s )", UP_Type, UP_name, user);
1476              what = lWhat("%T(ALL)", UP_Type);
1477!             alp = ctx->gdi(ctx, SGE_USER_LIST, SGE_GDI_GET, &lp, where, what);
1478              lFreeWhere(&where);
1479              lFreeWhat(&what);
1480                         
1481--- 5282,5288 ----
1482              /* get user */
1483              where = lWhere("%T( %I==%s )", UP_Type, UP_name, user);
1484              what = lWhat("%T(ALL)", UP_Type);
1485!             alp = ctx->gdi(ctx, SGE_USER_LIST, SGE_GDI_GET, &lp, where, what, false);
1486              lFreeWhere(&where);
1487              lFreeWhat(&what);
1488                         
1489***************
1490*** 5338,5344 ****
1491           /* get project */
1492           where = lWhere("%T( %I==%s )", UP_Type, UP_name, *spp);
1493           what = lWhat("%T(ALL)", UP_Type);
1494!          alp = ctx->gdi(ctx, SGE_PROJECT_LIST, SGE_GDI_GET, &lp, where, what);
1495           lFreeWhere(&where);
1496           lFreeWhat(&what);
1497                   
1498--- 5338,5344 ----
1499           /* get project */
1500           where = lWhere("%T( %I==%s )", UP_Type, UP_name, *spp);
1501           what = lWhat("%T(ALL)", UP_Type);
1502!          alp = ctx->gdi(ctx, SGE_PROJECT_LIST, SGE_GDI_GET, &lp, where, what, false);
1503           lFreeWhere(&where);
1504           lFreeWhat(&what);
1505                   
1506***************
1507*** 5590,5596 ****
1508 
1509 
1510        /* add the new host to the host list */
1511!       alp = ctx->gdi(ctx, target, SGE_GDI_ADD, &lp, NULL, NULL);
1512 
1513        /* report results */
1514        ep = lFirst(alp);
1515--- 5590,5596 ----
1516 
1517 
1518        /* add the new host to the host list */
1519!       alp = ctx->gdi(ctx, target, SGE_GDI_ADD, &lp, NULL, NULL, false);
1520 
1521        /* report results */
1522        ep = lFirst(alp);
1523***************
1524*** 5640,5646 ****
1525        lAppendElem(lp, ep);
1526 
1527        /* delete element */
1528!       alp = ctx->gdi(ctx, target, SGE_GDI_DEL, &lp, NULL, NULL);
1529 
1530        /* print results */
1531        if (answer_list_has_error(&alp)) {
1532--- 5640,5646 ----
1533        lAppendElem(lp, ep);
1534 
1535        /* delete element */
1536!       alp = ctx->gdi(ctx, target, SGE_GDI_DEL, &lp, NULL, NULL, false);
1537 
1538        /* print results */
1539        if (answer_list_has_error(&alp)) {
1540***************
1541*** 6015,6021 ****
1542        break;
1543     }
1544 
1545!    alp = ctx->gdi(ctx, target, SGE_GDI_GET, &lp, where, what);
1546     lFreeWhat(&what);
1547     lFreeWhere(&where);
1548 
1549--- 6015,6021 ----
1550        break;
1551     }
1552 
1553!    alp = ctx->gdi(ctx, target, SGE_GDI_GET, &lp, where, what, false);
1554     lFreeWhat(&what);
1555     lFreeWhere(&where);
1556 
1557***************
1558*** 6072,6078 ****
1559 
1560     what = lWhat("%T(%I %I %I)", EV_Type, EV_id, EV_name, EV_host);
1561 
1562!    alp = ctx->gdi(ctx, SGE_EVENT_LIST, SGE_GDI_GET, &lp, NULL, what);
1563     lFreeWhat(&what);
1564 
1565     ep = lFirst(alp);
1566--- 6072,6078 ----
1567 
1568     what = lWhat("%T(%I %I %I)", EV_Type, EV_id, EV_name, EV_host);
1569 
1570!    alp = ctx->gdi(ctx, SGE_EVENT_LIST, SGE_GDI_GET, &lp, NULL, what, false);
1571     lFreeWhat(&what);
1572 
1573     ep = lFirst(alp);
1574***************
1575*** 6121,6127 ****
1576     where = lWhere("%T(!(%Ic=%s || %Ic=%s))", EH_Type, EH_name,
1577                    SGE_TEMPLATE_NAME, EH_name, SGE_GLOBAL_NAME);
1578 
1579!    alp = ctx->gdi(ctx, SGE_EXECHOST_LIST, SGE_GDI_GET, &lp, where, what);
1580     lFreeWhat(&what);
1581     lFreeWhere(&where);
1582 
1583--- 6121,6127 ----
1584     where = lWhere("%T(!(%Ic=%s || %Ic=%s))", EH_Type, EH_name,
1585                    SGE_TEMPLATE_NAME, EH_name, SGE_GLOBAL_NAME);
1586 
1587!    alp = ctx->gdi(ctx, SGE_EXECHOST_LIST, SGE_GDI_GET, &lp, where, what, false);
1588     lFreeWhat(&what);
1589     lFreeWhere(&where);
1590 
1591***************
1592*** 6322,6328 ****
1593        /* Create List; append Element; and do a modification gdi call */
1594        lp = lCreateList("userset list", US_Type);
1595        lAppendElem(lp, changed_ep);
1596!       alp = ctx->gdi(ctx, SGE_USERSET_LIST, cmd, &lp, NULL, NULL);
1597        lFreeList(&lp);
1598 
1599        for_each(aep, alp) {
1600--- 6322,6328 ----
1601        /* Create List; append Element; and do a modification gdi call */
1602        lp = lCreateList("userset list", US_Type);
1603        lAppendElem(lp, changed_ep);
1604!       alp = ctx->gdi(ctx, SGE_USERSET_LIST, cmd, &lp, NULL, NULL, false);
1605        lFreeList(&lp);
1606 
1607        for_each(aep, alp) {
1608***************
1609*** 6362,6368 ****
1610 
1611     where = lWhere("%T(%Ih=%s)", CONF_Type, CONF_hname, cfn);
1612     what = lWhat("%T(ALL)", CONF_Type);
1613!    alp = ctx->gdi(ctx, SGE_CONFIG_LIST, SGE_GDI_GET, &lp, where, what);
1614     lFreeWhat(&what);
1615     lFreeWhere(&where);
1616 
1617--- 6362,6368 ----
1618 
1619     where = lWhere("%T(%Ih=%s)", CONF_Type, CONF_hname, cfn);
1620     what = lWhat("%T(ALL)", CONF_Type);
1621!    alp = ctx->gdi(ctx, SGE_CONFIG_LIST, SGE_GDI_GET, &lp, where, what, false);
1622     lFreeWhat(&what);
1623     lFreeWhere(&where);
1624 
1625***************
1626*** 6413,6419 ****
1627     DENTER(TOP_LAYER, "delete_config");
1628 
1629     lAddElemHost(&lp, CONF_hname, config_name, CONF_Type);
1630!    alp = ctx->gdi(ctx, SGE_CONFIG_LIST, SGE_GDI_DEL, &lp, NULL, NULL);
1631 
1632     ep = lFirst(alp);
1633     fprintf(stderr, "%s\n", lGetString(ep, AN_text));
1634--- 6413,6419 ----
1635     DENTER(TOP_LAYER, "delete_config");
1636 
1637     lAddElemHost(&lp, CONF_hname, config_name, CONF_Type);
1638!    alp = ctx->gdi(ctx, SGE_CONFIG_LIST, SGE_GDI_DEL, &lp, NULL, NULL, false);
1639 
1640     ep = lFirst(alp);
1641     fprintf(stderr, "%s\n", lGetString(ep, AN_text));
1642***************
1643*** 6454,6460 ****
1644 
1645     where = lWhere("%T(%Ih=%s)", CONF_Type, CONF_hname, cfn);
1646     what = lWhat("%T(ALL)", CONF_Type);
1647!    alp = ctx->gdi(ctx, SGE_CONFIG_LIST, SGE_GDI_GET, &lp, where, what);
1648     lFreeWhat(&what);
1649     lFreeWhere(&where);
1650 
1651--- 6454,6460 ----
1652 
1653     where = lWhere("%T(%Ih=%s)", CONF_Type, CONF_hname, cfn);
1654     what = lWhat("%T(ALL)", CONF_Type);
1655!    alp = ctx->gdi(ctx, SGE_CONFIG_LIST, SGE_GDI_GET, &lp, where, what, false);
1656     lFreeWhat(&what);
1657     lFreeWhere(&where);
1658 
1659***************
1660*** 6597,6603 ****
1661     lp = lCreateList("modified configuration", CONF_Type);
1662     lAppendElem(lp, ep);
1663       
1664!    alp = ctx->gdi(ctx, SGE_CONFIG_LIST, SGE_GDI_MOD, &lp, NULL, NULL);
1665     lFreeList(&lp);
1666             
1667     /* report results */
1668--- 6597,6603 ----
1669     lp = lCreateList("modified configuration", CONF_Type);
1670     lAppendElem(lp, ep);
1671       
1672!    alp = ctx->gdi(ctx, SGE_CONFIG_LIST, SGE_GDI_MOD, &lp, NULL, NULL, false);
1673     lFreeList(&lp);
1674             
1675     /* report results */
1676***************
1677*** 6712,6718 ****
1678     */
1679     where = lWhere("%T(%Ih=%s)", AH_Type, AH_name, host);
1680     what = lWhat("%T(ALL)", AH_Type);
1681!    alp = ctx->gdi(ctx, SGE_ADMINHOST_LIST, SGE_GDI_GET, &lp, where, what);
1682     lFreeWhat(&what);
1683     lFreeWhere(&where);
1684 
1685--- 6712,6718 ----
1686     */
1687     where = lWhere("%T(%Ih=%s)", AH_Type, AH_name, host);
1688     what = lWhat("%T(ALL)", AH_Type);
1689!    alp = ctx->gdi(ctx, SGE_ADMINHOST_LIST, SGE_GDI_GET, &lp, where, what, false);
1690     lFreeWhat(&what);
1691     lFreeWhere(&where);
1692 
1693***************
1694*** 6978,6984 ****
1695     if (info_entry->pre_gdi_function == NULL ||
1696        info_entry->pre_gdi_function(qlp, alpp)) {
1697        *alpp = ctx->gdi(ctx, info_entry->target, SGE_GDI_MOD | sub_command, &qlp,
1698!                       NULL, what);
1699     }
1700     lFreeWhat(&what);
1701     lFreeList(&qlp);
1702--- 6978,6984 ----
1703     if (info_entry->pre_gdi_function == NULL ||
1704        info_entry->pre_gdi_function(qlp, alpp)) {
1705        *alpp = ctx->gdi(ctx, info_entry->target, SGE_GDI_MOD | sub_command, &qlp,
1706!                       NULL, what, false);
1707     }
1708     lFreeWhat(&what);
1709     lFreeList(&qlp);
1710Index: clients/qconf/sge_client_access.c
1711===================================================================
1712RCS file: /cvs/gridengine/source/clients/qconf/sge_client_access.c,v
1713retrieving revision 1.17.2.2
1714diff -b -c -r1.17.2.2 sge_client_access.c
1715*** clients/qconf/sge_client_access.c   3 Jul 2007 08:15:35 -0000       1.17.2.2
1716--- clients/qconf/sge_client_access.c   28 Feb 2008 23:12:51 -0000
1717***************
1718*** 84,90 ****
1719           user_name=lGetString(userarg, UE_name);
1720     
1721           /* get old acl */
1722!          answers = ctx->gdi(ctx, SGE_USERSET_LIST, SGE_GDI_GET, &acl, where, what);
1723           lFreeList(&answers);
1724 
1725           if (acl && lGetNumberOfElem(acl) > 0) {
1726--- 84,90 ----
1727           user_name=lGetString(userarg, UE_name);
1728     
1729           /* get old acl */
1730!          answers = ctx->gdi(ctx, SGE_USERSET_LIST, SGE_GDI_GET, &acl, where, what, false);
1731           lFreeList(&answers);
1732 
1733           if (acl && lGetNumberOfElem(acl) > 0) {
1734***************
1735*** 93,99 ****
1736 
1737                 /* mod the acl */
1738                 answers = ctx->gdi(ctx, SGE_USERSET_LIST, SGE_GDI_MOD, &acl,
1739!                         NULL, NULL);   
1740              } else {
1741                 already = 1;
1742              }
1743--- 93,99 ----
1744 
1745                 /* mod the acl */
1746                 answers = ctx->gdi(ctx, SGE_USERSET_LIST, SGE_GDI_MOD, &acl,
1747!                         NULL, NULL, false);   
1748              } else {
1749                 already = 1;
1750              }
1751***************
1752*** 104,110 ****
1753             
1754              /* add the acl */
1755              answers = ctx->gdi(ctx, SGE_USERSET_LIST, SGE_GDI_ADD, &acl,
1756!                      NULL, NULL);   
1757           }
1758 
1759           if (already) {
1760--- 104,110 ----
1761             
1762              /* add the acl */
1763              answers = ctx->gdi(ctx, SGE_USERSET_LIST, SGE_GDI_ADD, &acl,
1764!                      NULL, NULL, false);   
1765           }
1766 
1767           if (already) {
1768***************
1769*** 175,181 ****
1770           char *cp = NULL;
1771           user_name=lGetString(userarg, UE_name);
1772           /* get old acl */
1773!          answers = ctx->gdi(ctx, SGE_USERSET_LIST, SGE_GDI_GET, &acl, where, what);
1774           cp = sge_strdup(cp, lGetString(lFirst(answers), AN_text));
1775           lFreeList(&answers);
1776           if (acl && lGetNumberOfElem(acl) > 0) {
1777--- 175,181 ----
1778           char *cp = NULL;
1779           user_name=lGetString(userarg, UE_name);
1780           /* get old acl */
1781!          answers = ctx->gdi(ctx, SGE_USERSET_LIST, SGE_GDI_GET, &acl, where, what, false);
1782           cp = sge_strdup(cp, lGetString(lFirst(answers), AN_text));
1783           lFreeList(&answers);
1784           if (acl && lGetNumberOfElem(acl) > 0) {
1785***************
1786*** 183,189 ****
1787              cp = NULL;
1788              if (lGetSubStr(lFirst(acl), UE_name, user_name, US_entries)) {
1789                 lDelSubStr(lFirst(acl), UE_name, user_name, US_entries);
1790!                answers = ctx->gdi(ctx, SGE_USERSET_LIST, SGE_GDI_MOD, &acl, NULL, NULL);
1791                 cp = sge_strdup(cp, lGetString(lFirst(answers), AN_text));
1792                 status = lGetUlong(lFirst(answers), AN_status);
1793                 lFreeList(&answers);
1794--- 183,189 ----
1795              cp = NULL;
1796              if (lGetSubStr(lFirst(acl), UE_name, user_name, US_entries)) {
1797                 lDelSubStr(lFirst(acl), UE_name, user_name, US_entries);
1798!                answers = ctx->gdi(ctx, SGE_USERSET_LIST, SGE_GDI_MOD, &acl, NULL, NULL, false);
1799                 cp = sge_strdup(cp, lGetString(lFirst(answers), AN_text));
1800                 status = lGetUlong(lFirst(answers), AN_status);
1801                 lFreeList(&answers);
1802***************
1803*** 271,277 ****
1804        }
1805     }
1806     what = lWhat("%T(ALL)", US_Type);
1807!    answers = ctx->gdi(ctx, SGE_USERSET_LIST, SGE_GDI_GET, dst, where, what);
1808     lFreeWhat(&what);
1809     lFreeWhere(&where);
1810 
1811--- 271,277 ----
1812        }
1813     }
1814     what = lWhat("%T(ALL)", US_Type);
1815!    answers = ctx->gdi(ctx, SGE_USERSET_LIST, SGE_GDI_GET, dst, where, what, false);
1816     lFreeWhat(&what);
1817     lFreeWhere(&where);
1818 
1819Index: clients/qdel/qdel.c
1820===================================================================
1821RCS file: /cvs/gridengine/source/clients/qdel/qdel.c,v
1822retrieving revision 1.48.2.3
1823diff -b -c -r1.48.2.3 qdel.c
1824*** clients/qdel/qdel.c 28 Sep 2007 10:12:03 -0000      1.48.2.3
1825--- clients/qdel/qdel.c 28 Feb 2008 23:12:51 -0000
1826***************
1827*** 216,222 ****
1828                    }   
1829                 }
1830              }
1831!             alp = ctx->gdi(ctx, SGE_JOB_LIST, cmd, &part_ref_list, NULL, NULL);
1832 
1833              for_each(aep, alp) {
1834                 status = lGetUlong(aep, AN_status);
1835--- 216,222 ----
1836                    }   
1837                 }
1838              }
1839!             alp = ctx->gdi(ctx, SGE_JOB_LIST, cmd, &part_ref_list, NULL, NULL, false);
1840 
1841              for_each(aep, alp) {
1842                 status = lGetUlong(aep, AN_status);
1843Index: clients/qmod/qmod.c
1844===================================================================
1845RCS file: /cvs/gridengine/source/clients/qmod/qmod.c,v
1846retrieving revision 1.35.2.1
1847diff -b -c -r1.35.2.1 qmod.c
1848*** clients/qmod/qmod.c 29 Aug 2007 14:03:06 -0000      1.35.2.1
1849--- clients/qmod/qmod.c 28 Feb 2008 23:12:51 -0000
1850***************
1851*** 130,136 ****
1852     }
1853 
1854     if (ref_list) {
1855!       alp = ctx->gdi(ctx, SGE_CQUEUE_LIST, SGE_GDI_TRIGGER, &ref_list, NULL, NULL);
1856     }
1857 
1858     /*
1859--- 130,136 ----
1860     }
1861 
1862     if (ref_list) {
1863!       alp = ctx->gdi(ctx, SGE_CQUEUE_LIST, SGE_GDI_TRIGGER, &ref_list, NULL, NULL, false);
1864     }
1865 
1866     /*
1867Index: clients/qsh/qsh.c
1868===================================================================
1869RCS file: /cvs/gridengine/source/clients/qsh/qsh.c,v
1870retrieving revision 1.108.2.4
1871diff -b -c -r1.108.2.4 qsh.c
1872*** clients/qsh/qsh.c   26 Nov 2007 10:51:09 -0000      1.108.2.4
1873--- clients/qsh/qsh.c   28 Feb 2008 23:12:51 -0000
1874***************
1875*** 1727,1733 ****
1876        DPRINTF(("B E F O R E     S E N D I N G! ! ! ! ! ! ! ! ! ! ! ! ! !\n"));
1877        DPRINTF(("=====================================================\n"));
1878 
1879!       alp = ctx->gdi(ctx, SGE_JOB_LIST, SGE_GDI_ADD + SGE_GDI_RETURN_NEW_VERSION , &lp_jobs, NULL, NULL);
1880 
1881        /* reinitialize 'job' with pointer to new version from qmaster */
1882        job = lFirst(lp_jobs);
1883--- 1727,1733 ----
1884        DPRINTF(("B E F O R E     S E N D I N G! ! ! ! ! ! ! ! ! ! ! ! ! !\n"));
1885        DPRINTF(("=====================================================\n"));
1886 
1887!       alp = ctx->gdi(ctx, SGE_JOB_LIST, SGE_GDI_ADD + SGE_GDI_RETURN_NEW_VERSION , &lp_jobs, NULL, NULL, false);
1888 
1889        /* reinitialize 'job' with pointer to new version from qmaster */
1890        job = lFirst(lp_jobs);
1891***************
1892*** 1846,1852 ****
1893           /* get job from qmaster: to handle qsh and to detect deleted qrsh job */
1894           what = lWhat("%T(%I)", JB_Type, JB_ja_tasks);
1895           where = lWhere("%T(%I==%u)", JB_Type, JB_job_number, job_id);
1896!          alp = ctx->gdi(ctx, SGE_JOB_LIST, SGE_GDI_GET, &lp_poll, where, what);
1897 
1898           do_exit = parse_result_list(alp, &alp_error);
1899     
1900--- 1846,1852 ----
1901           /* get job from qmaster: to handle qsh and to detect deleted qrsh job */
1902           what = lWhat("%T(%I)", JB_Type, JB_ja_tasks);
1903           where = lWhere("%T(%I==%u)", JB_Type, JB_job_number, job_id);
1904!          alp = ctx->gdi(ctx, SGE_JOB_LIST, SGE_GDI_GET, &lp_poll, where, what, false);
1905 
1906           do_exit = parse_result_list(alp, &alp_error);
1907     
1908***************
1909*** 1960,1966 ****
1910     sprintf(job_str, sge_u32, job_id);
1911     lAddElemStr(&idlp, ID_str, job_str, ID_Type);
1912 
1913!    alp = ctx->gdi(ctx, SGE_JOB_LIST, SGE_GDI_DEL, &idlp, NULL, NULL);
1914     lFreeList(&idlp);
1915     lFreeList(&alp);
1916     /*
1917--- 1960,1966 ----
1918     sprintf(job_str, sge_u32, job_id);
1919     lAddElemStr(&idlp, ID_str, job_str, ID_Type);
1920 
1921!    alp = ctx->gdi(ctx, SGE_JOB_LIST, SGE_GDI_DEL, &idlp, NULL, NULL, false);
1922     lFreeList(&idlp);
1923     lFreeList(&alp);
1924     /*
1925Index: clients/qstat/qstat.c
1926===================================================================
1927RCS file: /cvs/gridengine/source/clients/qstat/qstat.c,v
1928retrieving revision 1.127.2.9
1929diff -b -c -r1.127.2.9 qstat.c
1930*** clients/qstat/qstat.c       21 Feb 2008 14:18:45 -0000      1.127.2.9
1931--- clients/qstat/qstat.c       28 Feb 2008 23:12:51 -0000
1932***************
1933*** 1820,1826 ****
1934 
1935     /* get job scheduling information */
1936     what = lWhat("%T(ALL)", SME_Type);
1937!    alp = ctx->gdi(ctx, SGE_JOB_SCHEDD_INFO_LIST, SGE_GDI_GET, &ilp, NULL, what);
1938     lFreeWhat(&what);
1939 
1940     if (!isXML){
1941--- 1820,1826 ----
1942 
1943     /* get job scheduling information */
1944     what = lWhat("%T(ALL)", SME_Type);
1945!    alp = ctx->gdi(ctx, SGE_JOB_SCHEDD_INFO_LIST, SGE_GDI_GET, &ilp, NULL, what, false);
1946     lFreeWhat(&what);
1947 
1948     if (!isXML){
1949***************
1950*** 1871,1877 ****
1951              JB_hard_wallclock_gmt, JB_override_tickets,
1952              JB_version);
1953     /* get job list */
1954!    alp = ctx->gdi(ctx, SGE_JOB_LIST, SGE_GDI_GET, &jlp, where, what);
1955     lFreeWhere(&where);
1956     lFreeWhat(&what);
1957   
1958--- 1871,1877 ----
1959              JB_hard_wallclock_gmt, JB_override_tickets,
1960              JB_version);
1961     /* get job list */
1962!    alp = ctx->gdi(ctx, SGE_JOB_LIST, SGE_GDI_GET, &jlp, where, what, false);
1963     lFreeWhere(&where);
1964     lFreeWhat(&what);
1965   
1966***************
1967*** 2031,2037 ****
1968 
1969     /* get job scheduling information */
1970     what = lWhat("%T(ALL)", SME_Type);
1971!    alp = ctx->gdi(ctx, SGE_JOB_SCHEDD_INFO_LIST, SGE_GDI_GET, &ilp, NULL, what);
1972     lFreeWhat(&what);
1973     if (isXML){
1974        xml_qstat_show_job_info(&ilp, &alp);
1975--- 2031,2037 ----
1976 
1977     /* get job scheduling information */
1978     what = lWhat("%T(ALL)", SME_Type);
1979!    alp = ctx->gdi(ctx, SGE_JOB_SCHEDD_INFO_LIST, SGE_GDI_GET, &ilp, NULL, what, false);
1980     lFreeWhat(&what);
1981     if (isXML){
1982        xml_qstat_show_job_info(&ilp, &alp);
1983Index: clients/qsub/qsub.c
1984===================================================================
1985RCS file: /cvs/gridengine/source/clients/qsub/qsub.c,v
1986retrieving revision 1.57.2.4
1987diff -b -c -r1.57.2.4 qsub.c
1988*** clients/qsub/qsub.c 8 Feb 2008 06:53:59 -0000       1.57.2.4
1989--- clients/qsub/qsub.c 28 Feb 2008 23:12:51 -0000
1990***************
1991*** 299,305 ****
1992     num_tasks = (end - start) / step + 1;
1993 
1994     if (num_tasks > 1) {
1995!       int error = japi_run_bulk_jobs(&jobids, job, start, end, step, &diag);
1996        if (error != DRMAA_ERRNO_SUCCESS) {
1997           /* No active session here means that japi_enable_job_wait() was
1998            * interrupted by the signal handler, in which case we just break out
1999--- 299,305 ----
2000     num_tasks = (end - start) / step + 1;
2001 
2002     if (num_tasks > 1) {
2003!       int error = japi_run_bulk_jobs(&jobids, job, start, end, step, false, &diag);
2004        if (error != DRMAA_ERRNO_SUCCESS) {
2005           /* No active session here means that japi_enable_job_wait() was
2006            * interrupted by the signal handler, in which case we just break out
2007***************
2008*** 331,337 ****
2009        jobid_string = get_bulk_jobid_string((long)jobids->it.ji.jobid, start, end, step);
2010     }
2011     else if (num_tasks == 1) {
2012!       int error = japi_run_job(&jobid, job, &diag);
2013       
2014        if (error != DRMAA_ERRNO_SUCCESS) {
2015           if (error != DRMAA_ERRNO_NO_ACTIVE_SESSION) {
2016--- 331,337 ----
2017        jobid_string = get_bulk_jobid_string((long)jobids->it.ji.jobid, start, end, step);
2018     }
2019     else if (num_tasks == 1) {
2020!       int error = japi_run_job(&jobid, job, false, &diag);
2021       
2022        if (error != DRMAA_ERRNO_SUCCESS) {
2023           if (error != DRMAA_ERRNO_NO_ACTIVE_SESSION) {
2024Index: daemons/execd/execd.c
2025===================================================================
2026RCS file: /cvs/gridengine/source/daemons/execd/execd.c,v
2027retrieving revision 1.75.2.2
2028diff -b -c -r1.75.2.2 execd.c
2029*** daemons/execd/execd.c       26 Feb 2008 15:11:02 -0000      1.75.2.2
2030--- daemons/execd/execd.c       28 Feb 2008 23:12:51 -0000
2031***************
2032*** 481,493 ****
2033         * This is a regular startup.
2034         */
2035        alp = ctx->gdi(ctx, SGE_EXECHOST_LIST, SGE_GDI_ADD,
2036!                     &hlp, NULL, NULL);
2037     } else {
2038        /*
2039         * Indicate this is a restart to qmaster.
2040         */
2041        alp = ctx->gdi(ctx, SGE_EXECHOST_LIST, SGE_GDI_ADD | SGE_GDI_EXECD_RESTART,
2042!                     &hlp, NULL, NULL);
2043     }
2044     aep = lFirst(alp);
2045     if (!alp || (lGetUlong(aep, AN_status) != STATUS_OK)) {
2046--- 481,493 ----
2047         * This is a regular startup.
2048         */
2049        alp = ctx->gdi(ctx, SGE_EXECHOST_LIST, SGE_GDI_ADD,
2050!                     &hlp, NULL, NULL, false);
2051     } else {
2052        /*
2053         * Indicate this is a restart to qmaster.
2054         */
2055        alp = ctx->gdi(ctx, SGE_EXECHOST_LIST, SGE_GDI_ADD | SGE_GDI_EXECD_RESTART,
2056!                     &hlp, NULL, NULL, false);
2057     }
2058     aep = lFirst(alp);
2059     if (!alp || (lGetUlong(aep, AN_status) != STATUS_OK)) {
2060Index: daemons/schedd/sge_schedd.c
2061===================================================================
2062RCS file: /cvs/gridengine/source/daemons/schedd/Attic/sge_schedd.c,v
2063retrieving revision 1.113
2064diff -b -c -r1.113 sge_schedd.c
2065*** daemons/schedd/sge_schedd.c 7 Feb 2007 10:49:14 -0000       1.113
2066--- daemons/schedd/sge_schedd.c 28 Feb 2008 23:12:51 -0000
2067***************
2068*** 465,471 ****
2069     where = lWhere("%T(%I == %s)",
2070                    MO_Type,
2071                    MO_name, username);
2072!    alp = ctx->gdi(ctx, SGE_MANAGER_LIST, SGE_GDI_GET, &lp, where, what);
2073     lFreeWhere(&where);
2074     lFreeWhat(&what);
2075 
2076--- 465,471 ----
2077     where = lWhere("%T(%I == %s)",
2078                    MO_Type,
2079                    MO_name, username);
2080!    alp = ctx->gdi(ctx, SGE_MANAGER_LIST, SGE_GDI_GET, &lp, where, what, false);
2081     lFreeWhere(&where);
2082     lFreeWhat(&what);
2083 
2084***************
2085*** 496,502 ****
2086     where = lWhere("%T(%I h= %s)",
2087                    AH_Type,
2088                    AH_name, qualified_hostname);
2089!    alp = ctx->gdi(ctx, SGE_ADMINHOST_LIST, SGE_GDI_GET, &lp, where, what);
2090     lFreeWhere(&where);
2091     lFreeWhat(&what);
2092 
2093--- 496,502 ----
2094     where = lWhere("%T(%I h= %s)",
2095                    AH_Type,
2096                    AH_name, qualified_hostname);
2097!    alp = ctx->gdi(ctx, SGE_ADMINHOST_LIST, SGE_GDI_GET, &lp, where, what, false);
2098     lFreeWhere(&where);
2099     lFreeWhat(&what);
2100 
2101Index: libs/evc/sge_event_client.c
2102===================================================================
2103RCS file: /cvs/gridengine/source/libs/evc/sge_event_client.c,v
2104retrieving revision 1.55
2105diff -b -c -r1.55 sge_event_client.c
2106*** libs/evc/sge_event_client.c 19 Jan 2007 08:07:06 -0000      1.55
2107--- libs/evc/sge_event_client.c 28 Feb 2008 23:12:51 -0000
2108***************
2109*** 1307,1313 ****
2110         *  to add may also means to modify
2111         *  - if this event client is already enrolled at qmaster
2112         */
2113!       alp = sge_gdi_ctx->gdi(sge_gdi_ctx, SGE_EVENT_LIST, SGE_GDI_ADD | SGE_GDI_RETURN_NEW_VERSION, &lp, NULL, NULL);
2114     
2115        aep = lFirst(alp);
2116     
2117--- 1307,1313 ----
2118         *  to add may also means to modify
2119         *  - if this event client is already enrolled at qmaster
2120         */
2121!       alp = sge_gdi_ctx->gdi(sge_gdi_ctx, SGE_EVENT_LIST, SGE_GDI_ADD | SGE_GDI_RETURN_NEW_VERSION, &lp, NULL, NULL, false);
2122     
2123        aep = lFirst(alp);
2124     
2125***************
2126*** 2303,2309 ****
2127         *  to add may also means to modify
2128         *  - if this event client is already enrolled at qmaster
2129         */
2130!       alp = sge_gdi_ctx->gdi(sge_gdi_ctx, SGE_EVENT_LIST, SGE_GDI_MOD, &lp, NULL, NULL);
2131        lFreeList(&lp);
2132 
2133        if (lGetUlong(lFirst(alp), AN_status) == STATUS_OK) {
2134--- 2303,2309 ----
2135         *  to add may also means to modify
2136         *  - if this event client is already enrolled at qmaster
2137         */
2138!       alp = sge_gdi_ctx->gdi(sge_gdi_ctx, SGE_EVENT_LIST, SGE_GDI_MOD, &lp, NULL, NULL, false);
2139        lFreeList(&lp);
2140 
2141        if (lGetUlong(lFirst(alp), AN_status) == STATUS_OK) {
2142***************
2143*** 2392,2398 ****
2144         *  - if this event client is already enrolled at qmaster
2145         */
2146        commit_id = sge_gdi2_multi(sge_gdi_ctx, &alp, SGE_GDI_SEND, SGE_EVENT_LIST, SGE_GDI_MOD,
2147!                                 &lp, NULL, NULL, malpp, state, false);
2148        if (lp != NULL) {                                 
2149           lFreeList(&lp);
2150        }
2151--- 2392,2398 ----
2152         *  - if this event client is already enrolled at qmaster
2153         */
2154        commit_id = sge_gdi2_multi(sge_gdi_ctx, &alp, SGE_GDI_SEND, SGE_EVENT_LIST, SGE_GDI_MOD,
2155!                                 &lp, NULL, NULL, false, malpp, state, false);
2156        if (lp != NULL) {                                 
2157           lFreeList(&lp);
2158        }
2159Index: libs/gdi/sge_gdi2.c
2160===================================================================
2161RCS file: /cvs/gridengine/source/libs/gdi/sge_gdi2.c,v
2162retrieving revision 1.14.2.3
2163diff -b -c -r1.14.2.3 sge_gdi2.c
2164*** libs/gdi/sge_gdi2.c 5 Nov 2007 13:36:24 -0000       1.14.2.3
2165--- libs/gdi/sge_gdi2.c 28 Feb 2008 23:12:51 -0000
2166***************
2167*** 129,135 ****
2168 
2169 
2170  lList* sge_gdi2(sge_gdi_ctx_class_t *ctx, u_long32 target, u_long32 cmd, lList **lpp, lCondition *cp,
2171!                lEnumeration *enp)
2172  {
2173     lList *alp = NULL;
2174     lList *mal = NULL;
2175--- 129,135 ----
2176 
2177 
2178  lList* sge_gdi2(sge_gdi_ctx_class_t *ctx, u_long32 target, u_long32 cmd, lList **lpp, lCondition *cp,
2179!                lEnumeration *enp, bool use_euid_egid)
2180  {
2181     lList *alp = NULL;
2182     lList *mal = NULL;
2183***************
2184*** 141,147 ****
2185     PROF_START_MEASUREMENT(SGE_PROF_GDI);
2186 
2187     if ((id = sge_gdi2_multi(ctx, &alp, SGE_GDI_SEND, target, cmd, lpp,
2188!                               cp, enp, &mal, &state, true)) == -1) {
2189        PROF_STOP_MEASUREMENT(SGE_PROF_GDI);
2190        DRETURN(alp);
2191     }
2192--- 141,147 ----
2193     PROF_START_MEASUREMENT(SGE_PROF_GDI);
2194 
2195     if ((id = sge_gdi2_multi(ctx, &alp, SGE_GDI_SEND, target, cmd, lpp,
2196!                               cp, enp, use_euid_egid, &mal, &state, true)) == -1) {
2197        PROF_STOP_MEASUREMENT(SGE_PROF_GDI);
2198        DRETURN(alp);
2199     }
2200***************
2201*** 156,171 ****
2202  }
2203 
2204  int sge_gdi2_multi(sge_gdi_ctx_class_t* ctx, lList **alpp, int mode, u_long32 target, u_long32 cmd,
2205!                   lList **lp, lCondition *cp, lEnumeration *enp, lList **malpp,
2206                    state_gdi_multi *state, bool do_copy)
2207  {
2208!   return sge_gdi2_multi_sync(ctx, alpp, mode, target, cmd, lp, cp, enp, malpp,
2209                              state, do_copy, true);
2210  }
2211 
2212 
2213  int sge_gdi2_multi_sync(sge_gdi_ctx_class_t* ctx, lList **alpp, int mode, u_long32 target, u_long32 cmd,
2214!                   lList **lp, lCondition *cp, lEnumeration *enp, lList **malpp,
2215                    state_gdi_multi *state, bool do_copy, bool do_sync)
2216  {
2217     sge_gdi_request *request = NULL;
2218--- 156,171 ----
2219  }
2220 
2221  int sge_gdi2_multi(sge_gdi_ctx_class_t* ctx, lList **alpp, int mode, u_long32 target, u_long32 cmd,
2222!                   lList **lp, lCondition *cp, lEnumeration *enp, bool use_euid_egid, lList **malpp,
2223                    state_gdi_multi *state, bool do_copy)
2224  {
2225!   return sge_gdi2_multi_sync(ctx, alpp, mode, target, cmd, lp, cp, enp, use_euid_egid, malpp,
2226                              state, do_copy, true);
2227  }
2228 
2229 
2230  int sge_gdi2_multi_sync(sge_gdi_ctx_class_t* ctx, lList **alpp, int mode, u_long32 target, u_long32 cmd,
2231!                   lList **lp, lCondition *cp, lEnumeration *enp, bool use_euid_egid, lList **malpp,
2232                    state_gdi_multi *state, bool do_copy, bool do_sync)
2233  {
2234     sge_gdi_request *request = NULL;
2235***************
2236*** 231,276 ****
2237        request->enp = NULL;
2238     }
2239 
2240! #if 0
2241!    /*
2242!    ** user info
2243!    */
2244     uid = ctx->get_uid(ctx);
2245-   
2246-    if (sge_uid2user(uid, username, sizeof(username), MAX_NIS_RETRIES)) {
2247-       SGE_ADD_MSG_ID(sprintf(SGE_EVENT, MSG_FUNC_GETPWUIDXFAILED_IS ,
2248-               (int)uid, strerror(errno)));
2249-       goto error;
2250-    }
2251-    DPRINTF(("uid = %d, username = %s\n", uid, username));
2252- #if defined( INTERIX )
2253-    /* Strip Windows domain name from user name */
2254-    {
2255-       char *plus_sign;
2256-
2257-       plus_sign = strstr(username, "+");
2258-       if(plus_sign!=NULL) {
2259-          plus_sign++;
2260-          strcpy(username, plus_sign);
2261-       }
2262-    }
2263- #endif
2264     gid = ctx->get_gid(ctx);
2265!    if (sge_gid2group(gid, groupname, sizeof(groupname), MAX_NIS_RETRIES)) {
2266!       SGE_ADD_MSG_ID(sprintf(SGE_EVENT, MSG_GDI_GETGRGIDXFAILEDERRORX_U,
2267!                              sge_u32c(gid)));
2268        goto error;
2269     }
2270!    DPRINTF(("gid = %d, groupname = %s\n", gid, groupname));
2271!
2272!    if (sge_set_auth_info(request, uid, username, gid, groupname) == -1) {
2273        goto error;
2274     }   
2275! #else
2276!    uid = ctx->get_uid(ctx);
2277!    gid = ctx->get_gid(ctx);
2278!    strncpy(username, ctx->get_username(ctx), sizeof(username));
2279!    strncpy(groupname, ctx->get_groupname(ctx), sizeof(groupname));
2280 
2281  #if defined(INTERIX)
2282     /*
2283--- 231,253 ----
2284        request->enp = NULL;
2285     }
2286 
2287!    if (!use_euid_egid) {
2288        uid = ctx->get_uid(ctx);
2289        gid = ctx->get_gid(ctx);
2290!       strncpy(username, ctx->get_username(ctx), sizeof(username));
2291!       strncpy(groupname, ctx->get_groupname(ctx), sizeof(groupname));
2292!    } else {
2293!       uid = geteuid();
2294!       gid = getegid();
2295!       if (sge_uid2user(uid, username, sizeof(username) - 1, 3) != 0) {
2296!          SGE_ADD_MSG_ID(sprintf(SGE_EVENT, "Could not resolve EUID into username."));
2297           goto error;
2298        }
2299!       if (sge_gid2group(gid, groupname, sizeof(groupname) - 1, 3) != 0) {
2300!          SGE_ADD_MSG_ID(sprintf(SGE_EVENT, "Could not resolve EGID into groupname."));
2301           goto error;
2302        }
2303!    }
2304 
2305  #if defined(INTERIX)
2306     /*
2307***************
2308*** 288,294 ****
2309     if (sge_set_auth_info(request, uid, username, gid, groupname) == -1) {
2310        goto error;
2311     }   
2312- #endif
2313 
2314     /*
2315     ** append the new gdi request to the request list
2316--- 265,270 ----
2317***************
2318*** 1453,1459 ****
2319 
2320     DENTER(GDI_LAYER, "gdi2_tsm");
2321 
2322!    alp = thiz->gdi(thiz, SGE_SC_LIST, SGE_GDI_TRIGGER, NULL, NULL, NULL);
2323 
2324     DRETURN(alp);
2325  }
2326--- 1429,1435 ----
2327 
2328     DENTER(GDI_LAYER, "gdi2_tsm");
2329 
2330!    alp = thiz->gdi(thiz, SGE_SC_LIST, SGE_GDI_TRIGGER, NULL, NULL, NULL, false);
2331 
2332     DRETURN(alp);
2333  }
2334***************
2335*** 1487,1493 ****
2336     alp = lCreateList("answer", AN_Type);
2337 
2338     if (action_flag & MASTER_KILL) {
2339!       tmpalp = thiz->gdi(thiz, SGE_MASTER_EVENT, SGE_GDI_TRIGGER, NULL, NULL, NULL);
2340        lAddList(alp, &tmpalp);
2341     }
2342 
2343--- 1463,1469 ----
2344     alp = lCreateList("answer", AN_Type);
2345 
2346     if (action_flag & MASTER_KILL) {
2347!       tmpalp = thiz->gdi(thiz, SGE_MASTER_EVENT, SGE_GDI_TRIGGER, NULL, NULL, NULL, false);
2348        lAddList(alp, &tmpalp);
2349     }
2350 
2351***************
2352*** 1498,1504 ****
2353        id_list = lCreateList("kill scheduler", ID_Type);
2354        id_list_created = true;
2355        lAddElemStr(&id_list, ID_str, buffer, ID_Type);
2356!       tmpalp = thiz->gdi(thiz, SGE_EVENT_LIST, SGE_GDI_TRIGGER, &id_list, NULL, NULL);
2357        lAddList(alp, &tmpalp); 
2358     }
2359 
2360--- 1474,1480 ----
2361        id_list = lCreateList("kill scheduler", ID_Type);
2362        id_list_created = true;
2363        lAddElemStr(&id_list, ID_str, buffer, ID_Type);
2364!       tmpalp = thiz->gdi(thiz, SGE_EVENT_LIST, SGE_GDI_TRIGGER, &id_list, NULL, NULL, false);
2365        lAddList(alp, &tmpalp); 
2366     }
2367 
2368***************
2369*** 1510,1516 ****
2370           id_list_created = true;
2371           lAddElemStr(&id_list, ID_str, buffer, ID_Type);
2372        }
2373!       tmpalp = thiz->gdi(thiz, SGE_EVENT_LIST, SGE_GDI_TRIGGER, &id_list, NULL, NULL);
2374        lAddList(alp, &tmpalp); 
2375     }
2376 
2377--- 1486,1492 ----
2378           id_list_created = true;
2379           lAddElemStr(&id_list, ID_str, buffer, ID_Type);
2380        }
2381!       tmpalp = thiz->gdi(thiz, SGE_EVENT_LIST, SGE_GDI_TRIGGER, &id_list, NULL, NULL, false);
2382        lAddList(alp, &tmpalp); 
2383     }
2384 
2385***************
2386*** 1533,1539 ****
2387           lSetUlong(hlep, ID_force, (action_flag & JOB_KILL)?1:0);
2388           lAppendElem(hlp, hlep);
2389        }
2390!       tmpalp = thiz->gdi(thiz, SGE_EXECHOST_LIST, SGE_GDI_TRIGGER, &hlp, NULL, NULL);
2391        lAddList(alp, &tmpalp);
2392        lFreeList(&hlp);
2393     }
2394--- 1509,1515 ----
2395           lSetUlong(hlep, ID_force, (action_flag & JOB_KILL)?1:0);
2396           lAppendElem(hlp, hlep);
2397        }
2398!       tmpalp = thiz->gdi(thiz, SGE_EXECHOST_LIST, SGE_GDI_TRIGGER, &hlp, NULL, NULL, false);
2399        lAddList(alp, &tmpalp);
2400        lFreeList(&hlp);
2401     }
2402***************
2403*** 1593,1599 ****
2404     lAppendElem(permList,ep);
2405     lSetHost(ep, PERM_req_host, requestedHost);
2406 
2407!    alp = ctx->gdi(ctx, SGE_DUMMY_LIST, SGE_GDI_PERMCHECK ,  &permList , NULL,NULL );
2408 
2409     
2410     if (permList != NULL) {
2411--- 1569,1575 ----
2412     lAppendElem(permList,ep);
2413     lSetHost(ep, PERM_req_host, requestedHost);
2414 
2415!    alp = ctx->gdi(ctx, SGE_DUMMY_LIST, SGE_GDI_PERMCHECK, &permList, NULL, NULL, false);
2416 
2417     
2418     if (permList != NULL) {
2419***************
2420*** 1660,1666 ****
2421    DENTER(GDI_LAYER, "sge_gdi2_check_permission");
2422 
2423    permList = NULL;
2424!   alp = ctx->gdi(ctx, SGE_DUMMY_LIST, SGE_GDI_PERMCHECK ,  &permList , NULL,NULL );
2425 
2426    if (permList == NULL) {
2427       DPRINTF(("Permlist is NULL\n"));
2428--- 1636,1642 ----
2429    DENTER(GDI_LAYER, "sge_gdi2_check_permission");
2430 
2431    permList = NULL;
2432!   alp = ctx->gdi(ctx, SGE_DUMMY_LIST, SGE_GDI_PERMCHECK, &permList, NULL, NULL, false);
2433 
2434    if (permList == NULL) {
2435       DPRINTF(("Permlist is NULL\n"));
2436***************
2437*** 2080,2086 ****
2438        DPRINTF(("requesting global and %s\n", lGetHost(hep, EH_name)));
2439     }
2440     what = lWhat("%T(ALL)", CONF_Type);
2441!    alp = ctx->gdi(ctx, SGE_CONFIG_LIST, SGE_GDI_GET, &lp, where, what);
2442 
2443     lFreeWhat(&what);
2444     lFreeWhere(&where);
2445--- 2056,2062 ----
2446        DPRINTF(("requesting global and %s\n", lGetHost(hep, EH_name)));
2447     }
2448     what = lWhat("%T(ALL)", CONF_Type);
2449!    alp = ctx->gdi(ctx, SGE_CONFIG_LIST, SGE_GDI_GET, &lp, where, what, false);
2450 
2451     lFreeWhat(&what);
2452     lFreeWhere(&where);
2453Index: libs/gdi/sge_gdi2.h
2454===================================================================
2455RCS file: /cvs/gridengine/source/libs/gdi/sge_gdi2.h,v
2456retrieving revision 1.5
2457diff -b -c -r1.5 sge_gdi2.h
2458*** libs/gdi/sge_gdi2.h 19 Jan 2007 08:07:07 -0000      1.5
2459--- libs/gdi/sge_gdi2.h 28 Feb 2008 23:12:51 -0000
2460***************
2461*** 68,83 ****
2462 
2463 
2464  lList
2465! *sge_gdi2(sge_gdi_ctx_class_t *ctx, u_long32 target, u_long32 cmd, lList **lpp, lCondition *cp, lEnumeration *enp);
2466 
2467  int
2468  sge_gdi2_multi(sge_gdi_ctx_class_t *ctx, lList **alpp, int mode, u_long32 target, u_long32 cmd, lList **lp,
2469!               lCondition *cp, lEnumeration *enp, lList **malpp,
2470                state_gdi_multi *state, bool do_copy);
2471 
2472  int
2473  sge_gdi2_multi_sync(sge_gdi_ctx_class_t *ctx, lList **alpp, int mode, u_long32 target, u_long32 cmd, lList **lp,
2474!               lCondition *cp, lEnumeration *enp, lList **malpp,
2475                state_gdi_multi *state, bool do_copy, bool do_sync);
2476 
2477  int sge_gdi2_get_any_request(sge_gdi_ctx_class_t *ctx, char *rhost, char *commproc, u_short *id, sge_pack_buffer *pb,
2478--- 68,83 ----
2479 
2480 
2481  lList
2482! *sge_gdi2(sge_gdi_ctx_class_t *ctx, u_long32 target, u_long32 cmd, lList **lpp, lCondition *cp, lEnumeration *enp, bool use_euid_egid);
2483 
2484  int
2485  sge_gdi2_multi(sge_gdi_ctx_class_t *ctx, lList **alpp, int mode, u_long32 target, u_long32 cmd, lList **lp,
2486!               lCondition *cp, lEnumeration *enp, bool use_euid_egid, lList **malpp,
2487                state_gdi_multi *state, bool do_copy);
2488 
2489  int
2490  sge_gdi2_multi_sync(sge_gdi_ctx_class_t *ctx, lList **alpp, int mode, u_long32 target, u_long32 cmd, lList **lp,
2491!               lCondition *cp, lEnumeration *enp, bool use_euid_egid, lList **malpp,
2492                state_gdi_multi *state, bool do_copy, bool do_sync);
2493 
2494  int sge_gdi2_get_any_request(sge_gdi_ctx_class_t *ctx, char *rhost, char *commproc, u_short *id, sge_pack_buffer *pb,
2495Index: libs/gdi/sge_gdi_ctx.c
2496===================================================================
2497RCS file: /cvs/gridengine/source/libs/gdi/sge_gdi_ctx.c,v
2498retrieving revision 1.14.2.4
2499diff -b -c -r1.14.2.4 sge_gdi_ctx.c
2500*** libs/gdi/sge_gdi_ctx.c      10 Sep 2007 18:57:19 -0000      1.14.2.4
2501--- libs/gdi/sge_gdi_ctx.c      28 Feb 2008 23:12:52 -0000
2502***************
2503*** 489,495 ****
2504  static int sge_gdi_ctx_class_connect(sge_gdi_ctx_class_t *thiz);
2505  static int sge_gdi_ctx_class_is_alive(sge_gdi_ctx_class_t *thiz);
2506  static lList* sge_gdi_ctx_class_gdi(sge_gdi_ctx_class_t *thiz, int target, int cmd, lList **lpp,
2507!                                  lCondition *where, lEnumeration *what);
2508  static int sge_gdi_ctx_class_gdi_multi(sge_gdi_ctx_class_t* ctx, lList **alpp, int mode, u_long32 target, u_long32 cmd,
2509                    lList **lp, lCondition *cp, lEnumeration *enp, lList **malpp,
2510                    state_gdi_multi *state, bool do_copy);
2511--- 489,495 ----
2512  static int sge_gdi_ctx_class_connect(sge_gdi_ctx_class_t *thiz);
2513  static int sge_gdi_ctx_class_is_alive(sge_gdi_ctx_class_t *thiz);
2514  static lList* sge_gdi_ctx_class_gdi(sge_gdi_ctx_class_t *thiz, int target, int cmd, lList **lpp,
2515!                                  lCondition *where, lEnumeration *what, bool use_euid_egid);
2516  static int sge_gdi_ctx_class_gdi_multi(sge_gdi_ctx_class_t* ctx, lList **alpp, int mode, u_long32 target, u_long32 cmd,
2517                    lList **lp, lCondition *cp, lEnumeration *enp, lList **malpp,
2518                    state_gdi_multi *state, bool do_copy);
2519***************
2520*** 1424,1430 ****
2521  }
2522 
2523  static lList* sge_gdi_ctx_class_gdi(sge_gdi_ctx_class_t *thiz, int target, int cmd, lList **lpp,
2524!                                  lCondition *where, lEnumeration *what)
2525  {
2526     lList *alp = NULL;
2527     
2528--- 1424,1430 ----
2529  }
2530 
2531  static lList* sge_gdi_ctx_class_gdi(sge_gdi_ctx_class_t *thiz, int target, int cmd, lList **lpp,
2532!                                  lCondition *where, lEnumeration *what, bool use_euid_egid)
2533  {
2534     lList *alp = NULL;
2535     
2536***************
2537*** 1433,1439 ****
2538 
2539     /* thiz->dprintf(thiz); */
2540     
2541!    alp = sge_gdi2(thiz, target, cmd, lpp, where, what);
2542 
2543     DRETURN(alp);
2544 
2545--- 1433,1439 ----
2546 
2547     /* thiz->dprintf(thiz); */
2548     
2549!    alp = sge_gdi2(thiz, target, cmd, lpp, where, what, use_euid_egid);
2550 
2551     DRETURN(alp);
2552 
2553***************
2554*** 1449,1455 ****
2555 
2556     /* thiz->dprintf(thiz); */
2557     
2558!    id = sge_gdi2_multi(thiz, alpp, mode, target, cmd, lpp, cp, enp, malpp, state, do_copy);
2559 
2560     DRETURN(id);
2561 
2562--- 1449,1455 ----
2563 
2564     /* thiz->dprintf(thiz); */
2565     
2566!    id = sge_gdi2_multi(thiz, alpp, mode, target, cmd, lpp, cp, enp, false, malpp, state, do_copy);
2567 
2568     DRETURN(id);
2569 
2570***************
2571*** 1474,1480 ****
2572 
2573     /* thiz->dprintf(thiz); */
2574     
2575!    id = sge_gdi2_multi_sync(thiz, alpp, mode, target, cmd, lpp, cp, enp, malpp, state, do_copy, do_sync);
2576 
2577     DRETURN(id);
2578 
2579--- 1474,1480 ----
2580 
2581     /* thiz->dprintf(thiz); */
2582     
2583!    id = sge_gdi2_multi_sync(thiz, alpp, mode, target, cmd, lpp, cp, enp, false, malpp, state, do_copy, do_sync);
2584 
2585     DRETURN(id);
2586 
2587Index: libs/gdi/sge_gdi_ctx.h
2588===================================================================
2589RCS file: /cvs/gridengine/source/libs/gdi/sge_gdi_ctx.h,v
2590retrieving revision 1.5.2.1
2591diff -b -c -r1.5.2.1 sge_gdi_ctx.h
2592*** libs/gdi/sge_gdi_ctx.h      15 Jun 2007 08:34:18 -0000      1.5.2.1
2593--- libs/gdi/sge_gdi_ctx.h      28 Feb 2008 23:12:52 -0000
2594***************
2595*** 67,73 ****
2596     int (*prepare_enroll)(sge_gdi_ctx_class_t *thiz);
2597     int (*connect)(sge_gdi_ctx_class_t *thiz);
2598     int (*is_alive)(sge_gdi_ctx_class_t *thiz);
2599!    lList* (*gdi)(sge_gdi_ctx_class_t *thiz, int target, int cmd, lList **lp, lCondition *where, lEnumeration *what);
2600     lList* (*tsm)(sge_gdi_ctx_class_t *thiz, const char *schedd_name, const char *cell);
2601     lList* (*kill)(sge_gdi_ctx_class_t *thiz, lList *id_list, const char *cell, u_long32 option_flags, u_long32 action_flag);
2602     bool (*gdi_check_permission)(sge_gdi_ctx_class_t *thiz, lList **alpp, int option);
2603--- 67,73 ----
2604     int (*prepare_enroll)(sge_gdi_ctx_class_t *thiz);
2605     int (*connect)(sge_gdi_ctx_class_t *thiz);
2606     int (*is_alive)(sge_gdi_ctx_class_t *thiz);
2607!    lList* (*gdi)(sge_gdi_ctx_class_t *thiz, int target, int cmd, lList **lp, lCondition *where, lEnumeration *what, bool use_euid_egid);
2608     lList* (*tsm)(sge_gdi_ctx_class_t *thiz, const char *schedd_name, const char *cell);
2609     lList* (*kill)(sge_gdi_ctx_class_t *thiz, lList *id_list, const char *cell, u_long32 option_flags, u_long32 action_flag);
2610     bool (*gdi_check_permission)(sge_gdi_ctx_class_t *thiz, lList **alpp, int option);
2611Index: libs/japi/drmaa.c
2612===================================================================
2613RCS file: /cvs/gridengine/source/libs/japi/drmaa.c,v
2614retrieving revision 1.69.2.5
2615diff -b -c -r1.69.2.5 drmaa.c
2616*** libs/japi/drmaa.c   20 Feb 2008 15:17:22 -0000      1.69.2.5
2617--- libs/japi/drmaa.c   28 Feb 2008 23:12:52 -0000
2618***************
2619*** 130,136 ****
2620  static drmaa_attr_names_t *drmaa_fill_string_vector(const char *name[]);
2621 
2622  static int drmaa_job2sge_job(lListElem **jtp, const drmaa_job_template_t *drmaa_jt,
2623!                              int is_bulk, int start, int end, int step, dstring *diag);
2624  static int drmaa_path2path_opt(const lList *attrs, lList **args,
2625                                 int is_bulk, const char *attribute_key,
2626                                 const char *sw, int opt, dstring *diag,
2627--- 130,136 ----
2628  static drmaa_attr_names_t *drmaa_fill_string_vector(const char *name[]);
2629 
2630  static int drmaa_job2sge_job(lListElem **jtp, const drmaa_job_template_t *drmaa_jt,
2631!                              int is_bulk, int start, int end, int step, bool *use_euid_egid, dstring *diag);
2632  static int drmaa_path2path_opt(const lList *attrs, lList **args,
2633                                 int is_bulk, const char *attribute_key,
2634                                 const char *sw, int opt, dstring *diag,
2635***************
2636*** 192,197 ****
2637--- 192,198 ----
2638     DRMAA_DURATION_HLIMIT,       /* optional */
2639     DRMAA_DURATION_SLIMIT,       /* optional */
2640  #endif
2641+    DRMAA_SUBMIT_AS_EUID,        /* SGE only */
2642     NULL
2643  };
2644 
2645***************
2646*** 1114,1119 ****
2647--- 1115,1121 ----
2648     dstring jobid;
2649     int drmaa_errno = DRMAA_ERRNO_SUCCESS;
2650     lListElem *sge_job_template;
2651+    bool use_euid_egid;
2652 
2653     DENTER(TOP_LAYER, "drmaa_run_job");
2654 
2655***************
2656*** 1138,1149 ****
2657 
2658     /* convert DRMAA job template into Grid Engine job template */
2659     if ((drmaa_errno=drmaa_job2sge_job(&sge_job_template, jt,
2660!             0, 1, 1, 1, diagp))!=DRMAA_ERRNO_SUCCESS) {
2661        /* diag written by drmaa_job2sge_job() */
2662        DRETURN(drmaa_errno);
2663     }
2664 
2665!    drmaa_errno = japi_run_job(&jobid, sge_job_template, diagp);
2666     lFreeElem(&sge_job_template);
2667 
2668     DRETURN(drmaa_errno);
2669--- 1140,1151 ----
2670 
2671     /* convert DRMAA job template into Grid Engine job template */
2672     if ((drmaa_errno=drmaa_job2sge_job(&sge_job_template, jt,
2673!             0, 1, 1, 1, &use_euid_egid, diagp))!=DRMAA_ERRNO_SUCCESS) {
2674        /* diag written by drmaa_job2sge_job() */
2675        DRETURN(drmaa_errno);
2676     }
2677 
2678!    drmaa_errno = japi_run_job(&jobid, sge_job_template, use_euid_egid, diagp);
2679     lFreeElem(&sge_job_template);
2680 
2681     DRETURN(drmaa_errno);
2682***************
2683*** 1195,1200 ****
2684--- 1197,1203 ----
2685     dstring diag, *diagp = NULL;
2686     int drmaa_errno = DRMAA_ERRNO_SUCCESS;
2687     lListElem *sge_job_template = NULL;
2688+    bool use_euid_egid;
2689 
2690     DENTER(TOP_LAYER, "drmaa_run_bulk_jobs");
2691 
2692***************
2693*** 1218,1231 ****
2694 
2695     /* convert DRMAA job template into Grid Engine job template */
2696     drmaa_errno = drmaa_job2sge_job(&sge_job_template, jt, 1, start, end, incr,
2697!                                    diagp);
2698     if (drmaa_errno != DRMAA_ERRNO_SUCCESS) {
2699        /* diag written by drmaa_job2sge_job() */
2700        DRETURN(drmaa_errno);
2701     }
2702 
2703     drmaa_errno = japi_run_bulk_jobs((drmaa_attr_values_t **)jobids, sge_job_template,
2704!          start, end, incr, diagp);
2705     lFreeElem(&sge_job_template);
2706 
2707     DRETURN(drmaa_errno);
2708--- 1221,1234 ----
2709 
2710     /* convert DRMAA job template into Grid Engine job template */
2711     drmaa_errno = drmaa_job2sge_job(&sge_job_template, jt, 1, start, end, incr,
2712!               &use_euid_egid, diagp);
2713     if (drmaa_errno != DRMAA_ERRNO_SUCCESS) {
2714        /* diag written by drmaa_job2sge_job() */
2715        DRETURN(drmaa_errno);
2716     }
2717 
2718     drmaa_errno = japi_run_bulk_jobs((drmaa_attr_values_t **)jobids, sge_job_template,
2719!          start, end, incr, use_euid_egid, diagp);
2720     lFreeElem(&sge_job_template);
2721 
2722     DRETURN(drmaa_errno);
2723***************
2724*** 2574,2580 ****
2725  *
2726  *******************************************************************************/
2727  static int drmaa_job2sge_job(lListElem **jtp, const drmaa_job_template_t *drmaa_jt,
2728!                              int is_bulk, int start, int end, int step,
2729                               dstring *diag)
2730  {
2731     lListElem *jt, *ep;
2732--- 2577,2583 ----
2733  *
2734  *******************************************************************************/
2735  static int drmaa_job2sge_job(lListElem **jtp, const drmaa_job_template_t *drmaa_jt,
2736!                              int is_bulk, int start, int end, int step, bool *use_euid_egid,
2737                               dstring *diag)
2738  {
2739     lListElem *jt, *ep;
2740***************
2741*** 2591,2599 ****
2742     u_long32 jb_now = 0;
2743 
2744     u_long32 prog_number = ctx->get_who(ctx);
2745!    u_long32 myuid = ctx->get_uid(ctx);
2746     const char *cell_root = ctx->get_cell_root(ctx);
2747-    const char *username = ctx->get_username(ctx);
2748     const char *unqualified_hostname = ctx->get_unqualified_hostname(ctx);
2749     const char *qualified_hostname = ctx->get_qualified_hostname(ctx);
2750 
2751--- 2594,2602 ----
2752     u_long32 jb_now = 0;
2753 
2754     u_long32 prog_number = ctx->get_who(ctx);
2755!    u_long32 myuid;
2756!    char username[128];
2757     const char *cell_root = ctx->get_cell_root(ctx);
2758     const char *unqualified_hostname = ctx->get_unqualified_hostname(ctx);
2759     const char *qualified_hostname = ctx->get_qualified_hostname(ctx);
2760 
2761***************
2762*** 2631,2636 ****
2763--- 2634,2666 ----
2764 
2765     lSetUlong(jt, JB_type, jb_now);
2766   
2767+    /* Modify UID and username for a seteuid() application - Jim Vanns */
2768+    if ((ep = lGetElemStr(drmaa_jt->strings, VA_variable, DRMAA_SUBMIT_AS_EUID))
2769+          && !strncasecmp(lGetString(ep, VA_value), "y", 1)) {
2770+       myuid = geteuid();
2771
2772+       if (sge_uid2user(myuid, username, sizeof(username) - 1, 3) != 0) {
2773+          sge_dstring_sprintf(diag, "Could not resolve EUID into username.");
2774+          lFreeElem(&jt);
2775+          DRETURN(DRMAA_ERRNO_DENIED_BY_DRM);
2776+       }
2777+       if (use_euid_egid)
2778+          *use_euid_egid = true;
2779+    } else {
2780+       myuid = ctx->get_uid(ctx);
2781+       const char *u = ctx->get_username(ctx);
2782+       
2783+       if (!u) {
2784+          sge_dstring_sprintf(diag, "Context username is NULL!");
2785+          lFreeElem(&jt);
2786+          DRETURN(DRMAA_ERRNO_DENIED_BY_DRM);
2787+       }
2788+       
2789+       strncpy(username, u, sizeof(username) - 1);
2790+       if (use_euid_egid)
2791+          *use_euid_egid = false;
2792+    }
2793+
2794     /*
2795      * read switches from the various defaults files
2796      */
2797Index: libs/japi/drmaa.h
2798===================================================================
2799RCS file: /cvs/gridengine/source/libs/japi/drmaa.h,v
2800retrieving revision 1.19
2801diff -b -c -r1.19 drmaa.h
2802*** libs/japi/drmaa.h   20 Jan 2007 07:18:31 -0000      1.19
2803--- libs/japi/drmaa.h   28 Feb 2008 23:12:52 -0000
2804***************
2805*** 147,152 ****
2806--- 147,154 ----
2807  #define DRMAA_WCT_SLIMIT             "drmaa_wct_slimit"
2808  #define DRMAA_DURATION_HLIMIT        "drmaa_duration_hlimit"
2809  #define DRMAA_DURATION_SLIMIT        "drmaa_duration_slimit"
2810+ #define DRMAA_SUBMIT_AS_EUID         "drmaa_submit_as_euid"
2811+
2812 
2813  /* names of job template vector attributes */
2814  #define DRMAA_V_ARGV                 "drmaa_v_argv"
2815Index: libs/japi/japi.c
2816===================================================================
2817RCS file: /cvs/gridengine/source/libs/japi/japi.c,v
2818retrieving revision 1.120.2.1
2819diff -b -c -r1.120.2.1 japi.c
2820*** libs/japi/japi.c    29 Aug 2007 14:03:08 -0000      1.120.2.1
2821--- libs/japi/japi.c    28 Feb 2008 23:12:52 -0000
2822***************
2823*** 315,321 ****
2824  static void *japi_implementation_thread(void *);
2825  static int japi_parse_jobid(const char *jobid_str, u_long32 *jobid, u_long32 *taskid,
2826     bool *is_array, dstring *diag);
2827! static int japi_send_job(lListElem *job, u_long32 *jobid, dstring *diag);
2828  static int japi_add_job(u_long32 jobid, u_long32 start, u_long32 end, u_long32 incr,
2829        bool is_array, dstring *diag);
2830  static int japi_synchronize_jobids_retry(const char *jobids[], bool dispose);
2831--- 315,321 ----
2832  static void *japi_implementation_thread(void *);
2833  static int japi_parse_jobid(const char *jobid_str, u_long32 *jobid, u_long32 *taskid,
2834     bool *is_array, dstring *diag);
2835! static int japi_send_job(lListElem *job, bool use_euid_egid, u_long32 *jobid, dstring *diag);
2836  static int japi_add_job(u_long32 jobid, u_long32 start, u_long32 end, u_long32 incr,
2837        bool is_array, dstring *diag);
2838  static int japi_synchronize_jobids_retry(const char *jobids[], bool dispose);
2839***************
2840*** 1250,1256 ****
2841  *  NOTES
2842  *     MT-NOTE: japi_send_job() is MT safe
2843  *******************************************************************************/
2844! static int japi_send_job(lListElem *sge_job_template, u_long32 *jobid, dstring *diag)
2845  {
2846     lList *job_lp, *alp;
2847     lListElem *aep, *job;
2848--- 1250,1256 ----
2849  *  NOTES
2850  *     MT-NOTE: japi_send_job() is MT safe
2851  *******************************************************************************/
2852! static int japi_send_job(lListElem *sge_job_template, bool use_euid_egid, u_long32 *jobid, dstring *diag)
2853  {
2854     lList *job_lp, *alp;
2855     lListElem *aep, *job;
2856***************
2857*** 1262,1268 ****
2858     lAppendElem(job_lp, lCopyElem(sge_job_template));
2859 
2860     /* use GDI to submit job for this session */
2861!    alp = ctx->gdi(ctx, SGE_JOB_LIST, SGE_GDI_ADD|SGE_GDI_RETURN_NEW_VERSION, &job_lp, NULL, NULL);
2862 
2863     /* reinitialize 'job' with pointer to new version from qmaster */
2864     if ((job = lFirst(job_lp))) {
2865--- 1262,1268 ----
2866     lAppendElem(job_lp, lCopyElem(sge_job_template));
2867 
2868     /* use GDI to submit job for this session */
2869!    alp = ctx->gdi(ctx, SGE_JOB_LIST, SGE_GDI_ADD|SGE_GDI_RETURN_NEW_VERSION, &job_lp, NULL, NULL, use_euid_egid);
2870 
2871     /* reinitialize 'job' with pointer to new version from qmaster */
2872     if ((job = lFirst(job_lp))) {
2873***************
2874*** 1400,1406 ****
2875  *      MT-NOTE: japi_run_job() is MT safe
2876  *      Would be better to return job_id as u_long32.
2877  *******************************************************************************/
2878! int japi_run_job(dstring *job_id, lListElem *sge_job_template, dstring *diag)
2879  {
2880     u_long32 jobid = 0;
2881     int drmaa_errno;
2882--- 1400,1406 ----
2883  *      MT-NOTE: japi_run_job() is MT safe
2884  *      Would be better to return job_id as u_long32.
2885  *******************************************************************************/
2886! int japi_run_job(dstring *job_id, lListElem *sge_job_template, bool use_euid_egid, dstring *diag)
2887  {
2888     u_long32 jobid = 0;
2889     int drmaa_errno;
2890***************
2891*** 1434,1440 ****
2892     JAPI_LOCK_JOB_LIST();   
2893 
2894     /* send job to qmaster using GDI */
2895!    drmaa_errno = japi_send_job(sge_job_template, &jobid, diag);
2896     if (drmaa_errno != DRMAA_ERRNO_SUCCESS) {
2897        JAPI_UNLOCK_JOB_LIST();   
2898        japi_dec_threads(SGE_FUNC);
2899--- 1434,1440 ----
2900     JAPI_LOCK_JOB_LIST();   
2901 
2902     /* send job to qmaster using GDI */
2903!    drmaa_errno = japi_send_job(sge_job_template, use_euid_egid, &jobid, diag);
2904     if (drmaa_errno != DRMAA_ERRNO_SUCCESS) {
2905        JAPI_UNLOCK_JOB_LIST();   
2906        japi_dec_threads(SGE_FUNC);
2907***************
2908*** 1498,1504 ****
2909  *      Would be better to return job_id instead of drmaa_attr_values_t.
2910  *******************************************************************************/
2911  int japi_run_bulk_jobs(drmaa_attr_values_t **jobidsp, lListElem *sge_job_template,
2912!       int start, int end, int incr, dstring *diag)
2913  {
2914     drmaa_attr_values_t *jobids;
2915     u_long32 jobid = 0;
2916--- 1498,1504 ----
2917  *      Would be better to return job_id instead of drmaa_attr_values_t.
2918  *******************************************************************************/
2919  int japi_run_bulk_jobs(drmaa_attr_values_t **jobidsp, lListElem *sge_job_template,
2920!       int start, int end, int incr, bool use_euid_egid, dstring *diag)
2921  {
2922     drmaa_attr_values_t *jobids;
2923     u_long32 jobid = 0;
2924***************
2925*** 1539,1545 ****
2926     JAPI_LOCK_JOB_LIST();   
2927 
2928     /* send job to qmaster using GDI */
2929!    drmaa_errno = japi_send_job(sge_job_template, &jobid, diag);
2930     if (drmaa_errno != DRMAA_ERRNO_SUCCESS) {
2931        JAPI_UNLOCK_JOB_LIST();   
2932        japi_dec_threads(SGE_FUNC);
2933--- 1539,1545 ----
2934     JAPI_LOCK_JOB_LIST();   
2935 
2936     /* send job to qmaster using GDI */
2937!    drmaa_errno = japi_send_job(sge_job_template, use_euid_egid, &jobid, diag);
2938     if (drmaa_errno != DRMAA_ERRNO_SUCCESS) {
2939        JAPI_UNLOCK_JOB_LIST();   
2940        japi_dec_threads(SGE_FUNC);
2941***************
2942*** 1787,1793 ****
2943                                             QI_DO_UNSUSPEND, 0);
2944              }
2945              alp = ctx->gdi(ctx, SGE_CQUEUE_LIST, SGE_GDI_TRIGGER,
2946!                           &id_list, NULL, NULL);
2947              lFreeList(&id_list);
2948              lFreeList(&ref_list);
2949 
2950--- 1787,1793 ----
2951                                             QI_DO_UNSUSPEND, 0);
2952              }
2953              alp = ctx->gdi(ctx, SGE_CQUEUE_LIST, SGE_GDI_TRIGGER,
2954!                           &id_list, NULL, NULL, false);
2955              lFreeList(&id_list);
2956              lFreeList(&ref_list);
2957 
2958***************
2959*** 1890,1896 ****
2960           }
2961 
2962           if (request_list) {
2963!             alp = ctx->gdi(ctx, SGE_JOB_LIST, SGE_GDI_MOD, &request_list, NULL, NULL);
2964              lFreeList(&request_list);
2965 
2966              for_each (aep, alp) {
2967--- 1890,1896 ----
2968           }
2969 
2970           if (request_list) {
2971!             alp = ctx->gdi(ctx, SGE_JOB_LIST, SGE_GDI_MOD, &request_list, NULL, NULL, false);
2972              lFreeList(&request_list);
2973 
2974              for_each (aep, alp) {
2975***************
2976*** 4912,4918 ****
2977 
2978     DENTER (TOP_LAYER, "do_gdi_delete");
2979 
2980!    alp = ctx->gdi(ctx, SGE_JOB_LIST, SGE_GDI_DEL, id_list, NULL, NULL);
2981     lFreeList(id_list);
2982 
2983     for_each (aep, alp) {
2984--- 4912,4918 ----
2985 
2986     DENTER (TOP_LAYER, "do_gdi_delete");
2987 
2988!    alp = ctx->gdi(ctx, SGE_JOB_LIST, SGE_GDI_DEL, id_list, NULL, NULL, false);
2989     lFreeList(id_list);
2990 
2991     for_each (aep, alp) {
2992Index: libs/japi/japi.h
2993===================================================================
2994RCS file: /cvs/gridengine/source/libs/japi/japi.h,v
2995retrieving revision 1.16
2996diff -b -c -r1.16 japi.h
2997*** libs/japi/japi.h    15 Sep 2006 09:19:37 -0000      1.16
2998--- libs/japi/japi.h    28 Feb 2008 23:12:52 -0000
2999***************
3000*** 134,140 ****
3001   * The job identifier 'job_id' is a printable, NULL terminated string,
3002   * identical to that returned by the underlying DRM system.
3003   */
3004! int japi_run_job(dstring *jobid, lListElem *sge_job_template, dstring *diag);
3005 
3006  /*
3007   * Submit a set of parametric jobs, dependent on the implied loop index, each
3008--- 134,140 ----
3009   * The job identifier 'job_id' is a printable, NULL terminated string,
3010   * identical to that returned by the underlying DRM system.
3011   */
3012! int japi_run_job(dstring *jobid, lListElem *sge_job_template, bool use_euid_egid, dstring *diag);
3013 
3014  /*
3015   * Submit a set of parametric jobs, dependent on the implied loop index, each
3016***************
3017*** 150,156 ****
3018   * drmaa_set_attribute(pjt, "stderr", drmaa_incr_ph + ".err" ); (C++/java string syntax used)
3019   */
3020 
3021! int japi_run_bulk_jobs(drmaa_attr_values_t **values, lListElem *sge_job_template, int start, int end, int incr, dstring *diag);
3022 
3023  /* ------------------- job control routines ------------------- */
3024 
3025--- 150,156 ----
3026   * drmaa_set_attribute(pjt, "stderr", drmaa_incr_ph + ".err" ); (C++/java string syntax used)
3027   */
3028 
3029! int japi_run_bulk_jobs(drmaa_attr_values_t **values, lListElem *sge_job_template, int start, int end, int incr, bool use_euid_egid, dstring *diag);
3030 
3031  /* ------------------- job control routines ------------------- */
3032 
3033Index: libs/japi/test_drmaa.c
3034===================================================================
3035RCS file: /cvs/gridengine/source/libs/japi/test_drmaa.c,v
3036retrieving revision 1.54.2.4
3037diff -b -c -r1.54.2.4 test_drmaa.c
3038*** libs/japi/test_drmaa.c      11 Dec 2007 10:37:57 -0000      1.54.2.4
3039--- libs/japi/test_drmaa.c      28 Feb 2008 23:12:52 -0000
3040***************
3041*** 2860,2866 ****
3042              {
3043                 lCondition* where = lWhere("%T(%I==%u)", JB_Type, JB_job_number, (u_long32)atol(jobid));
3044                 lEnumeration *what = lWhat("%T (%I %I)", JB_Type, JB_job_number, JB_job_name);
3045!                alp = ctx->gdi(ctx, SGE_JOB_LIST, SGE_GDI_GET, &job_lp, where, what);
3046                 job_ep = lFirst(job_lp);
3047                 lFreeWhere(&where);
3048                 lFreeWhat(&what);
3049--- 2860,2866 ----
3050              {
3051                 lCondition* where = lWhere("%T(%I==%u)", JB_Type, JB_job_number, (u_long32)atol(jobid));
3052                 lEnumeration *what = lWhat("%T (%I %I)", JB_Type, JB_job_number, JB_job_name);
3053!                alp = ctx->gdi(ctx, SGE_JOB_LIST, SGE_GDI_GET, &job_lp, where, what, false);
3054                 job_ep = lFirst(job_lp);
3055                 lFreeWhere(&where);
3056                 lFreeWhat(&what);
3057***************
3058*** 3328,3334 ****
3059              {
3060                 lCondition *where = lWhere("%T(%I==%u)", JB_Type, JB_job_number, (u_long32)atol(jobid));
3061                 lEnumeration *what = lWhat("%T (%I %I)", JB_Type, JB_job_number, JB_job_name);
3062!                alp = ctx->gdi(ctx, SGE_JOB_LIST, SGE_GDI_GET, &job_lp, where, what);
3063                 job_ep = lFirst(job_lp);
3064                 lFreeWhere(&where);
3065                 lFreeWhat(&what);
3066--- 3328,3334 ----
3067              {
3068                 lCondition *where = lWhere("%T(%I==%u)", JB_Type, JB_job_number, (u_long32)atol(jobid));
3069                 lEnumeration *what = lWhat("%T (%I %I)", JB_Type, JB_job_number, JB_job_name);
3070!                alp = ctx->gdi(ctx, SGE_JOB_LIST, SGE_GDI_GET, &job_lp, where, what, false);
3071                 job_ep = lFirst(job_lp);
3072                 lFreeWhere(&where);
3073                 lFreeWhat(&what);
3074***************
3075*** 3433,3439 ****
3076              {
3077                 lCondition *where = lWhere("%T(%I==%u)", JB_Type, JB_job_number, (u_long32)atol(jobid));
3078                 lEnumeration *what = lWhat("%T (%I %I)", JB_Type, JB_job_number, JB_job_name);
3079!                alp = ctx->gdi(ctx, SGE_JOB_LIST, SGE_GDI_GET, &job_lp, where, what);
3080                 job_ep = lFirst(job_lp);
3081                 lFreeWhere(&where);
3082                 lFreeWhat(&what);
3083--- 3433,3439 ----
3084              {
3085                 lCondition *where = lWhere("%T(%I==%u)", JB_Type, JB_job_number, (u_long32)atol(jobid));
3086                 lEnumeration *what = lWhat("%T (%I %I)", JB_Type, JB_job_number, JB_job_name);
3087!                alp = ctx->gdi(ctx, SGE_JOB_LIST, SGE_GDI_GET, &job_lp, where, what, false);
3088                 job_ep = lFirst(job_lp);
3089                 lFreeWhere(&where);
3090                 lFreeWhat(&what);
3091***************
3092*** 3554,3560 ****
3093              {
3094                 lCondition* where = lWhere("%T(%I==%u)", JB_Type, JB_job_number, (u_long32)atol(jobid));
3095                 lEnumeration *what = lWhat("%T (%I %I)", JB_Type, JB_job_number, JB_job_name);
3096!                alp = ctx->gdi(ctx, SGE_JOB_LIST, SGE_GDI_GET, &job_lp, where, what);
3097                 job_ep = lFirst(job_lp);
3098                 lFreeWhere(&where);
3099                 lFreeWhat(&what);
3100--- 3554,3560 ----
3101              {
3102                 lCondition* where = lWhere("%T(%I==%u)", JB_Type, JB_job_number, (u_long32)atol(jobid));
3103                 lEnumeration *what = lWhat("%T (%I %I)", JB_Type, JB_job_number, JB_job_name);
3104!                alp = ctx->gdi(ctx, SGE_JOB_LIST, SGE_GDI_GET, &job_lp, where, what, false);
3105                 job_ep = lFirst(job_lp);
3106                 lFreeWhere(&where);
3107                 lFreeWhat(&what);
3108***************
3109*** 3659,3665 ****
3110              {
3111                 lCondition *where = lWhere ("%T(%I==%u)", JB_Type, JB_job_number, (u_long32)atol(jobid));
3112                 lEnumeration *what = lWhat("%T (%I %I)", JB_Type, JB_job_number, JB_job_name);
3113!                alp = ctx->gdi(ctx, SGE_JOB_LIST, SGE_GDI_GET, &job_lp, where, what);
3114                 job_ep = lFirst(job_lp);
3115                 lFreeWhere(&where);
3116                 lFreeWhat(&what);
3117--- 3659,3665 ----
3118              {
3119                 lCondition *where = lWhere ("%T(%I==%u)", JB_Type, JB_job_number, (u_long32)atol(jobid));
3120                 lEnumeration *what = lWhat("%T (%I %I)", JB_Type, JB_job_number, JB_job_name);
3121!                alp = ctx->gdi(ctx, SGE_JOB_LIST, SGE_GDI_GET, &job_lp, where, what, false);
3122                 job_ep = lFirst(job_lp);
3123                 lFreeWhere(&where);
3124                 lFreeWhat(&what);
3125Index: libs/sched/sge_ssi.c
3126===================================================================
3127RCS file: /cvs/gridengine/source/libs/sched/sge_ssi.c,v
3128retrieving revision 1.16.2.1
3129diff -b -c -r1.16.2.1 sge_ssi.c
3130*** libs/sched/sge_ssi.c        9 May 2007 10:36:54 -0000       1.16.2.1
3131--- libs/sched/sge_ssi.c        28 Feb 2008 23:12:52 -0000
3132***************
3133*** 131,137 ****
3134     lSetUlong(ref_ep, RN_step, 1);
3135 
3136     /* send delete request */
3137!    alp = ctx->gdi(ctx, SGE_JOB_LIST, SGE_GDI_DEL, &ref_list, NULL, NULL);
3138 
3139     answer_list_on_error_print_or_exit(&alp, stderr);
3140 
3141--- 131,137 ----
3142     lSetUlong(ref_ep, RN_step, 1);
3143 
3144     /* send delete request */
3145!    alp = ctx->gdi(ctx, SGE_JOB_LIST, SGE_GDI_DEL, &ref_list, NULL, NULL, false);
3146 
3147     answer_list_on_error_print_or_exit(&alp, stderr);
3148