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

Method moveToStatement

src/jrd/PreparedStatement.cpp:220–264  ·  view source on GitHub ↗

Move data from user variables to the request input message.

Source from the content-addressed store, hash-verified

218
219// Move data from user variables to the request input message.
220void PreparedStatement::Builder::moveToStatement(thread_db* tdbb, PreparedStatement* stmt) const
221{
222 for (Array<InputSlot>::const_iterator i = inputSlots.begin(); i != inputSlots.end(); ++i)
223 {
224 if (i->specifiedAddress && !*i->specifiedAddress)
225 {
226 stmt->setNull(i->number);
227 continue;
228 }
229
230 switch (i->type)
231 {
232 case TYPE_SSHORT:
233 stmt->setSmallInt(tdbb, i->number, *(SSHORT*) i->address);
234 break;
235
236 case TYPE_SLONG:
237 stmt->setInt(tdbb, i->number, *(SLONG*) i->address);
238 break;
239
240 case TYPE_SINT64:
241 stmt->setBigInt(tdbb, i->number, *(SINT64*) i->address);
242 break;
243
244 case TYPE_DOUBLE:
245 stmt->setDouble(tdbb, i->number, *(double*) i->address);
246 break;
247
248 case TYPE_STRING:
249 stmt->setString(tdbb, i->number, *(AbstractString*) i->address);
250 break;
251
252 case TYPE_METANAME:
253 stmt->setMetaName(tdbb, i->number, *(MetaName*) i->address);
254 break;
255
256 case TYPE_METASTRING:
257 stmt->setMetaString(tdbb, i->number, *(MetaString*) i->address);
258 break;
259
260 default:
261 fb_assert(false);
262 }
263 }
264}
265
266
267PreparedStatement::PreparedStatement(thread_db* tdbb, MemoryPool& pool,

Callers 3

executeMethod · 0.80
openMethod · 0.80
executeQueryMethod · 0.80

Calls 10

setSmallIntMethod · 0.80
setIntMethod · 0.80
setBigIntMethod · 0.80
setDoubleMethod · 0.80
setStringMethod · 0.80
setMetaNameMethod · 0.80
setMetaStringMethod · 0.80
beginMethod · 0.45
endMethod · 0.45
setNullMethod · 0.45

Tested by

no test coverage detected