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

Function make_array_declaration

src/gpre/obj_cxx.cpp:3550–3640  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3548//
3549
3550static void make_array_declaration(ref* reference)
3551{
3552
3553 gpre_fld* field = reference->ref_field;
3554 const TEXT* name = field->fld_symbol->sym_string;
3555
3556 // Don't generate multiple declarations for the array. V3 Bug 569.
3557
3558 if (field->fld_array_info->ary_declared)
3559 return;
3560
3561 field->fld_array_info->ary_declared = true;
3562 const TEXT* dtype;
3563
3564 switch (field->fld_array_info->ary_dtype)
3565 {
3566 case dtype_short:
3567 dtype = "short";
3568 break;
3569
3570 case dtype_long:
3571 dtype = DCL_LONG;
3572 break;
3573
3574 case dtype_cstring:
3575 case dtype_text:
3576 case dtype_varying:
3577 dtype = "char ";
3578 break;
3579
3580 case dtype_quad:
3581 dtype = DCL_QUAD;
3582 break;
3583
3584 // Begin date/time/timestamp
3585 case dtype_sql_date:
3586 dtype = "ISC_DATE";
3587 break;
3588
3589 case dtype_sql_time:
3590 dtype = "ISC_TIME";
3591 break;
3592
3593 case dtype_timestamp:
3594 dtype = "ISC_TIMESTAMP";
3595 break;
3596 // End date/time/timestamp
3597
3598 case dtype_int64:
3599 dtype = "ISC_INT64";
3600 break;
3601
3602 case dtype_real:
3603 dtype = "float ";
3604 break;
3605
3606 case dtype_double:
3607 dtype = "double";

Callers 1

gen_databaseFunction · 0.70

Calls 2

CPR_errorFunction · 0.85
snprintfFunction · 0.50

Tested by

no test coverage detected