MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / make_ready

Function make_ready

src/gpre/languages/cob.cpp:3949–4084  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3947//
3948
3949static 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,

Callers 3

gen_readyFunction · 0.70
gen_t_startFunction · 0.70
t_start_autoFunction · 0.70

Calls 1

COB_print_bufferFunction · 0.85

Tested by

no test coverage detected