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

Function gen_emodify

src/gpre/languages/ftn.cpp:1983–2011  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1981//
1982
1983static void gen_emodify(const act* action)
1984{
1985 SCHAR s1[MAX_REF_SIZE], s2[MAX_REF_SIZE];
1986
1987 const upd* modify = (const upd*) action->act_object;
1988
1989 for (const ref* reference = modify->upd_port->por_references; reference;
1990 reference = reference->ref_next)
1991 {
1992 const ref* source = reference->ref_source;
1993 if (!source)
1994 continue;
1995 const gpre_fld* field = reference->ref_field;
1996 gen_name(s1, source, true);
1997 gen_name(s2, reference, true);
1998 if (field->fld_dtype == dtype_blob || field->fld_dtype == dtype_quad ||
1999 field->fld_dtype == dtype_date)
2000 {
2001 sprintf(output_buffer, "%sCALL isc_qtoq (%s, %s)\n", COLUMN, s1, s2);
2002 }
2003 else
2004 sprintf(output_buffer, "%s%s = %s\n", COLUMN, s2, s1);
2005 FTN_print_buffer(output_buffer);
2006 if (field->fld_array_info)
2007 gen_get_or_put_slice(action, reference, false);
2008 }
2009
2010 gen_send(action, modify->upd_port);
2011}
2012
2013
2014//____________________________________________________________

Callers 1

FTN_actionFunction · 0.70

Calls 4

FTN_print_bufferFunction · 0.85
gen_nameFunction · 0.70
gen_get_or_put_sliceFunction · 0.70
gen_sendFunction · 0.70

Tested by

no test coverage detected