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

Function gen_for

src/gpre/languages/pas.cpp:2003–2032  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2001//
2002
2003static void gen_for( const act* action, int column)
2004{
2005 gpre_port* port;
2006 const gpre_req* request;
2007 const ref* reference;
2008
2009 gen_s_start(action, column);
2010 request = action->act_request;
2011
2012 if (action->act_error || (action->act_flags & ACT_sql))
2013 printa(column, "if gds__status[2] = 0 then begin");
2014
2015 TEXT s[MAX_REF_SIZE];
2016 gen_receive(action, column, request->req_primary);
2017 if (action->act_error || (action->act_flags & ACT_sql))
2018 printa(column, "while (%s <> 0) and (gds__status[2] = 0) do",
2019 gen_name(s, request->req_eof, true));
2020 else
2021 printa(column, "while %s <> 0 do",
2022 gen_name(s, request->req_eof, true));
2023 column += INDENT;
2024 begin(column);
2025
2026 if (port = action->act_request->req_primary)
2027 for (reference = port->por_references; reference; reference = reference->ref_next)
2028 {
2029 if (reference->ref_field->fld_array_info)
2030 gen_get_or_put_slice(action, reference, true, column);
2031 }
2032}
2033
2034
2035//____________________________________________________________

Callers 1

PAS_actionFunction · 0.70

Calls 6

gen_s_startFunction · 0.70
printaFunction · 0.70
gen_receiveFunction · 0.70
gen_nameFunction · 0.70
beginFunction · 0.70
gen_get_or_put_sliceFunction · 0.70

Tested by

no test coverage detected