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

Function make_array_declaration

src/gpre/c_cxx.cpp:3548–3638  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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

Callers 1

gen_databaseFunction · 0.70

Calls 2

CPR_errorFunction · 0.85
snprintfFunction · 0.50

Tested by

no test coverage detected