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

Function gen_request

src/gpre/languages/cob.cpp:3039–3173  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3037//
3038
3039static void gen_request( gpre_req* request)
3040{
3041 if (!(request->req_flags & (REQ_exp_hand | REQ_sql_blob_open | REQ_sql_blob_create)) &&
3042 request->req_type != REQ_slice && request->req_type != REQ_procedure)
3043 {
3044 printa(names[COLUMN_0], false, "01 %s PIC S9(9) USAGE COMP VALUE IS 0.", request->req_handle);
3045 }
3046
3047 if (request->req_type == REQ_ready)
3048 printa(names[COLUMN_0], false, "01 %s%dL PIC S9(4) USAGE %s VALUE IS %d.",
3049 names[isc_a_pos], request->req_ident, COMP_VALUE, request->req_length);
3050
3051 // check the case where we need to extend the dpb dynamically at runtime,
3052 // in which case we need dpb length and a pointer to be defined even if
3053 //there is no static dpb defined
3054
3055 if (request->req_flags & REQ_extend_dpb)
3056 {
3057 printa(names[COLUMN_0], false, "01 %s%dP PIC S9(9) USAGE COMP-5 VALUE IS 0.",
3058 names[isc_a_pos], request->req_ident);
3059 }
3060
3061 if (request->req_flags & (REQ_sql_blob_open | REQ_sql_blob_create))
3062 printa(names[COLUMN_0], false, "01 %s%dS PIC S9(9) USAGE COMP VALUE IS 0.",
3063 names[isc_a_pos],
3064 request->req_ident);
3065
3066 // generate the request as BLR long words
3067
3068 if (request->req_length)
3069 {
3070 if (request->req_flags & REQ_sql_cursor)
3071 printa(names[COLUMN_0], false, "01 %s%dS PIC S9(9) USAGE COMP VALUE IS 0.",
3072 names[isc_a_pos], request->req_ident);
3073 printa(names[COLUMN_0], false, "01 %s%d.", names[isc_a_pos], request->req_ident);
3074 gen_raw(request->req_blr, request->req_type, request->req_length, request->req_ident);
3075
3076 const char* string_type;
3077 if (!gpreGlob.sw_raw)
3078 {
3079 printa(names[COMMENT], false, " ");
3080 printa(names[COMMENT], false, "FORMATTED REQUEST BLR FOR %s%d = ",
3081 names[isc_a_pos], request->req_ident);
3082 switch (request->req_type)
3083 {
3084 case REQ_create_database:
3085 case REQ_ready:
3086 string_type = "DPB";
3087 if (PRETTY_print_cdb(request->req_blr, gen_blr, 0, 0))
3088 CPR_error("internal error during parameter generation");
3089 break;
3090
3091
3092 case REQ_ddl:
3093 string_type = "DYN";
3094 if (PRETTY_print_dyn(request->req_blr, gen_blr, 0, 0))
3095 CPR_error("internal error during dynamic DDL generation");
3096 break;

Callers 1

gen_databaseFunction · 0.70

Calls 6

PRETTY_print_cdbFunction · 0.85
CPR_errorFunction · 0.85
PRETTY_print_dynFunction · 0.85
PRETTY_print_sdlFunction · 0.85
printaFunction · 0.70
gen_rawFunction · 0.70

Tested by

no test coverage detected