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

Function dsqlFindRecordVersion

src/dsql/StmtNodes.cpp:9842–9863  ·  view source on GitHub ↗

Find record version for relation in statement's saved record version.

Source from the content-addressed store, hash-verified

9840
9841// Find record version for relation in statement's saved record version.
9842static dsql_par* dsqlFindRecordVersion(const DsqlDmlStatement* statement, const RelationSourceNode* relation_name)
9843{
9844 const dsql_msg* message = statement->getReceiveMsg();
9845 dsql_par* candidate = NULL;
9846 const MetaName& relName = relation_name->dsqlName;
9847
9848 for (FB_SIZE_T i = 0; i < message->msg_parameters.getCount(); ++i)
9849 {
9850 dsql_par* parameter = message->msg_parameters[i];
9851
9852 if (parameter->par_rec_version_relname.hasData() &&
9853 parameter->par_rec_version_relname == relName)
9854 {
9855 if (candidate)
9856 return NULL;
9857
9858 candidate = parameter;
9859 }
9860 }
9861
9862 return candidate;
9863}
9864
9865// Generate assignment to EOF parameter.
9866static void dsqlGenEofAssignment(DsqlCompilerScratch* dsqlScratch, SSHORT value)

Callers 1

dsqlPassCursorReferenceFunction · 0.85

Calls 3

getReceiveMsgMethod · 0.80
getCountMethod · 0.45
hasDataMethod · 0.45

Tested by

no test coverage detected