99: query_to_exec := query_to_exec || inst_set_preds_rec.predicate || ' AND (';
100: query_to_exec := query_to_exec || prim_key_str || ') IN (' || p_parent_obj_sql || '))';
101: END IF;
102:
103: cursor_select := DBMS_SQL.OPEN_CURSOR;
104: DBMS_SQL.PARSE(cursor_select, query_to_exec, DBMS_SQL.NATIVE);
105: IF INSTR(mod_pred, ':parameter1') <> 0 THEN
106: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter1', inst_set_preds_rec.parameter1);
107: END IF;
100: query_to_exec := query_to_exec || prim_key_str || ') IN (' || p_parent_obj_sql || '))';
101: END IF;
102:
103: cursor_select := DBMS_SQL.OPEN_CURSOR;
104: DBMS_SQL.PARSE(cursor_select, query_to_exec, DBMS_SQL.NATIVE);
105: IF INSTR(mod_pred, ':parameter1') <> 0 THEN
106: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter1', inst_set_preds_rec.parameter1);
107: END IF;
108: IF INSTR(mod_pred, ':parameter2') <> 0 THEN
102:
103: cursor_select := DBMS_SQL.OPEN_CURSOR;
104: DBMS_SQL.PARSE(cursor_select, query_to_exec, DBMS_SQL.NATIVE);
105: IF INSTR(mod_pred, ':parameter1') <> 0 THEN
106: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter1', inst_set_preds_rec.parameter1);
107: END IF;
108: IF INSTR(mod_pred, ':parameter2') <> 0 THEN
109: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter2', inst_set_preds_rec.parameter2);
110: END IF;
105: IF INSTR(mod_pred, ':parameter1') <> 0 THEN
106: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter1', inst_set_preds_rec.parameter1);
107: END IF;
108: IF INSTR(mod_pred, ':parameter2') <> 0 THEN
109: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter2', inst_set_preds_rec.parameter2);
110: END IF;
111: IF INSTR(mod_pred, ':parameter3') <> 0 THEN
112: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter3', inst_set_preds_rec.parameter3);
113: END IF;
108: IF INSTR(mod_pred, ':parameter2') <> 0 THEN
109: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter2', inst_set_preds_rec.parameter2);
110: END IF;
111: IF INSTR(mod_pred, ':parameter3') <> 0 THEN
112: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter3', inst_set_preds_rec.parameter3);
113: END IF;
114: IF INSTR(mod_pred, ':parameter4') <> 0 THEN
115: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter4', inst_set_preds_rec.parameter4);
116: END IF;
111: IF INSTR(mod_pred, ':parameter3') <> 0 THEN
112: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter3', inst_set_preds_rec.parameter3);
113: END IF;
114: IF INSTR(mod_pred, ':parameter4') <> 0 THEN
115: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter4', inst_set_preds_rec.parameter4);
116: END IF;
117: IF INSTR(mod_pred, ':parameter5') <> 0 THEN
118: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter5', inst_set_preds_rec.parameter5);
119: END IF;
114: IF INSTR(mod_pred, ':parameter4') <> 0 THEN
115: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter4', inst_set_preds_rec.parameter4);
116: END IF;
117: IF INSTR(mod_pred, ':parameter5') <> 0 THEN
118: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter5', inst_set_preds_rec.parameter5);
119: END IF;
120: IF INSTR(mod_pred, ':parameter6') <> 0 THEN
121: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter6', inst_set_preds_rec.parameter6);
122: END IF;
117: IF INSTR(mod_pred, ':parameter5') <> 0 THEN
118: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter5', inst_set_preds_rec.parameter5);
119: END IF;
120: IF INSTR(mod_pred, ':parameter6') <> 0 THEN
121: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter6', inst_set_preds_rec.parameter6);
122: END IF;
123: IF INSTR(mod_pred, ':parameter7') <> 0 THEN
124: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter7', inst_set_preds_rec.parameter7);
125: END IF;
120: IF INSTR(mod_pred, ':parameter6') <> 0 THEN
121: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter6', inst_set_preds_rec.parameter6);
122: END IF;
123: IF INSTR(mod_pred, ':parameter7') <> 0 THEN
124: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter7', inst_set_preds_rec.parameter7);
125: END IF;
126: IF INSTR(mod_pred, ':parameter8') <> 0 THEN
127: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter8', inst_set_preds_rec.parameter8);
128: END IF;
123: IF INSTR(mod_pred, ':parameter7') <> 0 THEN
124: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter7', inst_set_preds_rec.parameter7);
125: END IF;
126: IF INSTR(mod_pred, ':parameter8') <> 0 THEN
127: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter8', inst_set_preds_rec.parameter8);
128: END IF;
129: IF INSTR(mod_pred, ':parameter9') <> 0 THEN
130: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter9', inst_set_preds_rec.parameter9);
131: END IF;
126: IF INSTR(mod_pred, ':parameter8') <> 0 THEN
127: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter8', inst_set_preds_rec.parameter8);
128: END IF;
129: IF INSTR(mod_pred, ':parameter9') <> 0 THEN
130: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter9', inst_set_preds_rec.parameter9);
131: END IF;
132: IF INSTR(mod_pred, ':parameterX') <> 0 THEN
133: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameterX', inst_set_preds_rec.parameter10);
134: END IF;
129: IF INSTR(mod_pred, ':parameter9') <> 0 THEN
130: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter9', inst_set_preds_rec.parameter9);
131: END IF;
132: IF INSTR(mod_pred, ':parameterX') <> 0 THEN
133: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameterX', inst_set_preds_rec.parameter10);
134: END IF;
135:
136:
137: cursor_execute := DBMS_SQL.EXECUTE(cursor_select);
133: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameterX', inst_set_preds_rec.parameter10);
134: END IF;
135:
136:
137: cursor_execute := DBMS_SQL.EXECUTE(cursor_select);
138: IF DBMS_SQL.FETCH_ROWS(cursor_select) > 0 THEN
139: IF i = 1 THEN
140: guids := to_char(inst_set_preds_rec.grant_guid);
141: i := 2;
134: END IF;
135:
136:
137: cursor_execute := DBMS_SQL.EXECUTE(cursor_select);
138: IF DBMS_SQL.FETCH_ROWS(cursor_select) > 0 THEN
139: IF i = 1 THEN
140: guids := to_char(inst_set_preds_rec.grant_guid);
141: i := 2;
142: ELSE
142: ELSE
143: guids := guids || ',' || inst_set_preds_rec.grant_guid;
144: END IF;
145: END IF;
146: DBMS_SQL.CLOSE_CURSOR(cursor_select);
147: END LOOP;
148: IF guids IS NOT NULL THEN
149: x_guids := guids; /**** list of valid guids ****/
150: ELSE
436: IF p_obj_ids IS NOT NULL THEN
437: query_to_exec := 'SELECT 1 from dual WHERE (' || p_obj_ids || ') IN (' || obj_std_pkq;
438: query_to_exec := query_to_exec || ' WHERE ' || mod_pred || ' ))';
439: END IF;
440: cursor_select := DBMS_SQL.OPEN_CURSOR;
441: DBMS_SQL.PARSE(cursor_select, query_to_exec, DBMS_SQL.NATIVE);
442:
443: IF INSTR(mod_pred, ':parameter1') <> 0 THEN
444: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter1', param1);
437: query_to_exec := 'SELECT 1 from dual WHERE (' || p_obj_ids || ') IN (' || obj_std_pkq;
438: query_to_exec := query_to_exec || ' WHERE ' || mod_pred || ' ))';
439: END IF;
440: cursor_select := DBMS_SQL.OPEN_CURSOR;
441: DBMS_SQL.PARSE(cursor_select, query_to_exec, DBMS_SQL.NATIVE);
442:
443: IF INSTR(mod_pred, ':parameter1') <> 0 THEN
444: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter1', param1);
445: END IF;
440: cursor_select := DBMS_SQL.OPEN_CURSOR;
441: DBMS_SQL.PARSE(cursor_select, query_to_exec, DBMS_SQL.NATIVE);
442:
443: IF INSTR(mod_pred, ':parameter1') <> 0 THEN
444: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter1', param1);
445: END IF;
446: IF INSTR(mod_pred, ':parameter2') <> 0 THEN
447: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter2', param2);
448: END IF;
443: IF INSTR(mod_pred, ':parameter1') <> 0 THEN
444: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter1', param1);
445: END IF;
446: IF INSTR(mod_pred, ':parameter2') <> 0 THEN
447: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter2', param2);
448: END IF;
449: IF INSTR(mod_pred, ':parameter3') <> 0 THEN
450: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter3', param3);
451: END IF;
446: IF INSTR(mod_pred, ':parameter2') <> 0 THEN
447: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter2', param2);
448: END IF;
449: IF INSTR(mod_pred, ':parameter3') <> 0 THEN
450: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter3', param3);
451: END IF;
452: IF INSTR(mod_pred, ':parameter4') <> 0 THEN
453: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter4', param4);
454: END IF;
449: IF INSTR(mod_pred, ':parameter3') <> 0 THEN
450: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter3', param3);
451: END IF;
452: IF INSTR(mod_pred, ':parameter4') <> 0 THEN
453: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter4', param4);
454: END IF;
455: IF INSTR(mod_pred, ':parameter5') <> 0 THEN
456: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter5', param5);
457: END IF;
452: IF INSTR(mod_pred, ':parameter4') <> 0 THEN
453: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter4', param4);
454: END IF;
455: IF INSTR(mod_pred, ':parameter5') <> 0 THEN
456: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter5', param5);
457: END IF;
458: IF INSTR(mod_pred, ':parameter6') <> 0 THEN
459: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter6', param6);
460: END IF;
455: IF INSTR(mod_pred, ':parameter5') <> 0 THEN
456: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter5', param5);
457: END IF;
458: IF INSTR(mod_pred, ':parameter6') <> 0 THEN
459: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter6', param6);
460: END IF;
461: IF INSTR(mod_pred, ':parameter7') <> 0 THEN
462: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter7', param7);
463: END IF;
458: IF INSTR(mod_pred, ':parameter6') <> 0 THEN
459: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter6', param6);
460: END IF;
461: IF INSTR(mod_pred, ':parameter7') <> 0 THEN
462: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter7', param7);
463: END IF;
464: IF INSTR(mod_pred, ':parameter8') <> 0 THEN
465: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter8', param8);
466: END IF;
461: IF INSTR(mod_pred, ':parameter7') <> 0 THEN
462: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter7', param7);
463: END IF;
464: IF INSTR(mod_pred, ':parameter8') <> 0 THEN
465: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter8', param8);
466: END IF;
467: IF INSTR(mod_pred, ':parameter9') <> 0 THEN
468: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter9', param9);
469: END IF;
464: IF INSTR(mod_pred, ':parameter8') <> 0 THEN
465: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter8', param8);
466: END IF;
467: IF INSTR(mod_pred, ':parameter9') <> 0 THEN
468: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter9', param9);
469: END IF;
470: IF INSTR(mod_pred, ':parameterX') <> 0 THEN
471: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameterX', param10);
472: END IF;
467: IF INSTR(mod_pred, ':parameter9') <> 0 THEN
468: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameter9', param9);
469: END IF;
470: IF INSTR(mod_pred, ':parameterX') <> 0 THEN
471: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameterX', param10);
472: END IF;
473:
474: cursor_execute := DBMS_SQL.EXECUTE(cursor_select);
475: IF DBMS_SQL.FETCH_ROWS(cursor_select) > 0 THEN
470: IF INSTR(mod_pred, ':parameterX') <> 0 THEN
471: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameterX', param10);
472: END IF;
473:
474: cursor_execute := DBMS_SQL.EXECUTE(cursor_select);
475: IF DBMS_SQL.FETCH_ROWS(cursor_select) > 0 THEN
476: ret_value := 1;
477: else
478: ret_value := 2;
471: DBMS_SQL.BIND_VARIABLE(cursor_select, ':parameterX', param10);
472: END IF;
473:
474: cursor_execute := DBMS_SQL.EXECUTE(cursor_select);
475: IF DBMS_SQL.FETCH_ROWS(cursor_select) > 0 THEN
476: ret_value := 1;
477: else
478: ret_value := 2;
479: END IF;
476: ret_value := 1;
477: else
478: ret_value := 2;
479: END IF;
480: DBMS_SQL.CLOSE_CURSOR(cursor_select);
481:
482: return ret_value;
483:
484: exception