| 3947 | // |
| 3948 | |
| 3949 | static void make_ready(const gpre_dbb* db, const TEXT* filename, |
| 3950 | const TEXT* vector, const gpre_req* request, USHORT namelength) |
| 3951 | { |
| 3952 | TEXT s1[32], s1Tmp[32], s2[32], s2Tmp[32]; |
| 3953 | const gpre_dbb* dbisc = (gpre_dbb*) db->dbb_name->sym_object; |
| 3954 | |
| 3955 | if (request) |
| 3956 | { |
| 3957 | sprintf(s1, "%s%dL", names[isc_b_pos], request->req_ident); |
| 3958 | if (request->req_flags & REQ_extend_dpb) |
| 3959 | sprintf(s2, "%s%dp", names[isc_b_pos], request->req_ident); |
| 3960 | else |
| 3961 | sprintf(s2, "%s%d", names[isc_b_pos], request->req_ident); |
| 3962 | |
| 3963 | // if the dpb needs to be extended at runtime to include items |
| 3964 | // in host variables, do so here; this assumes that there is |
| 3965 | // always a request generated for runtime variables |
| 3966 | |
| 3967 | if (request->req_flags & REQ_extend_dpb) |
| 3968 | { |
| 3969 | if (request->req_length) |
| 3970 | { |
| 3971 | sprintf(output_buffer, "%sMOVE %s%d to %s\n", |
| 3972 | names[COLUMN], names[isc_b_pos], request->req_ident, s2); |
| 3973 | |
| 3974 | } |
| 3975 | if (db->dbb_r_user) |
| 3976 | { |
| 3977 | sprintf(output_buffer, "%sCALL \"%s\" USING %s%s, %s%s, BY VALUE 28, %s %s, %s%" SIZEFORMAT "%s\n", |
| 3978 | names[COLUMN], |
| 3979 | ISC_MODIFY_DPB, |
| 3980 | BY_REF, s2, |
| 3981 | BY_REF, s1, |
| 3982 | BY_DESC, db->dbb_r_user, |
| 3983 | BY_VALUE, strlen(db->dbb_r_user) - 2, END_VALUE); |
| 3984 | COB_print_buffer(output_buffer, true); |
| 3985 | } |
| 3986 | if (db->dbb_r_password) |
| 3987 | { |
| 3988 | sprintf(output_buffer, "%sCALL \"%s\" USING %s%s, %s%s, BY VALUE 29, %s %s, %s%" SIZEFORMAT "%s\n", |
| 3989 | names[COLUMN], |
| 3990 | ISC_MODIFY_DPB, |
| 3991 | BY_REF, s2, |
| 3992 | BY_REF, s1, |
| 3993 | BY_DESC, db->dbb_r_password, |
| 3994 | BY_VALUE, strlen(db->dbb_r_password) - 2, END_VALUE); |
| 3995 | COB_print_buffer(output_buffer, true); |
| 3996 | } |
| 3997 | |
| 3998 | // Process Role Name, isc_dpb_sql_role_name/60 |
| 3999 | if (db->dbb_r_sql_role) |
| 4000 | { |
| 4001 | sprintf(output_buffer, "%sCALL \"%s\" USING %s%s, %s%s, BY VALUE 60, %s %s, %s%" SIZEFORMAT "%s\n", |
| 4002 | names[COLUMN], |
| 4003 | ISC_MODIFY_DPB, |
| 4004 | BY_REF, s2, |
| 4005 | BY_REF, s1, |
| 4006 | BY_DESC, db->dbb_r_sql_role, |
no test coverage detected