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

Function gen_function

src/gpre/languages/ada.cpp:2002–2094  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2000//
2001
2002static void gen_function( const act* function, int column)
2003{
2004 const act* action = (const act*) function->act_object;
2005
2006 if (action->act_type != ACT_any)
2007 {
2008 CPR_error("can't generate function");
2009 return;
2010 }
2011
2012 gpre_req* request = action->act_request;
2013
2014 fprintf(gpreGlob.out_file, "static %s_r (request, transaction", request->req_handle);
2015
2016 TEXT s[MAX_REF_SIZE];
2017 const gpre_port* port = request->req_vport;
2018 if (port)
2019 {
2020 for (ref* reference = port->por_references; reference; reference = reference->ref_next)
2021 {
2022 fprintf(gpreGlob.out_file, ", %s", gen_name(s, reference->ref_source, true));
2023 }
2024 }
2025 fprintf(gpreGlob.out_file, ")\n isc_req_handle\trequest;\n isc_tr_handle\ttransaction;\n");
2026
2027 if (port)
2028 {
2029 for (ref* reference = port->por_references; reference; reference = reference->ref_next)
2030 {
2031 const gpre_fld* field = reference->ref_field;
2032 const TEXT* dtype;
2033
2034 switch (field->fld_dtype)
2035 {
2036 case dtype_short:
2037 dtype = "short";
2038 break;
2039
2040 case dtype_long:
2041 dtype = "long";
2042 break;
2043
2044 case dtype_cstring:
2045 case dtype_text:
2046 dtype = "char*";
2047 break;
2048
2049 case dtype_quad:
2050 dtype = "long";
2051 break;
2052
2053 case dtype_date:
2054 case dtype_blob:
2055 dtype = "ISC_QUAD";
2056 break;
2057
2058 case dtype_real:
2059 dtype = "float";

Callers 1

ADA_actionFunction · 0.70

Calls 6

CPR_errorFunction · 0.85
gen_nameFunction · 0.70
make_portFunction · 0.70
gen_s_startFunction · 0.70
gen_receiveFunction · 0.70
gen_get_or_put_sliceFunction · 0.70

Tested by

no test coverage detected