Skip to content

Commit 8f660b8

Browse files
committed
fixed after hvlad review
1 parent e2c86bd commit 8f660b8

File tree

3 files changed

+7
-11
lines changed

3 files changed

+7
-11
lines changed

src/jrd/RecordSourceNodes.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4444,7 +4444,7 @@ dsql_fld* GenSeriesFunctionSourceNode::makeField(DsqlCompilerScratch* dsqlScratc
44444444
{
44454445
ERRD_post(Arg::Gds(isc_sqlerr) << Arg::Num(-104) << Arg::Gds(isc_dsql_command_err)
44464446
<< Arg::Gds(isc_dsql_table_value_many_columns)
4447-
<< Arg::Str(GenSeriesFunctionSourceNode::FUNC_NAME)
4447+
<< Arg::Str(getName())
44484448
<< Arg::Num(1) << Arg::Num(dsqlNameColumns.getCount()));
44494449
}
44504450

src/jrd/RecordSourceNodes.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1093,7 +1093,7 @@ class GenSeriesFunctionSourceNode : public TableValueFunctionSourceNode
10931093

10941094
static constexpr char const* FUNC_NAME = "GENERATE_SERIES";
10951095

1096-
const char* getName() const override
1096+
const char* getName() const final
10971097
{
10981098
return FUNC_NAME;
10991099
}

src/jrd/recsrc/TableValueFunctionScan.cpp

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -492,24 +492,20 @@ bool GenSeriesFunctionScan::nextBuffer(thread_db* tdbb) const
492492
const auto request = tdbb->getRequest();
493493
const auto impure = request->getImpure<Impure>(m_impure);
494494

495-
auto setIntToRecord = [&](SINT64 i)
495+
impure->m_result += impure->m_step;
496+
497+
if (((impure->m_step > 0) && (impure->m_result <= impure->m_finish)) ||
498+
((impure->m_step < 0) && (impure->m_result >= impure->m_finish)))
496499
{
497500
Record* const record = request->req_rpb[m_stream].rpb_record;
498501

499502
auto toDesc = m_format->fmt_desc.begin();
500503

501504
dsc fromDesc;
502-
fromDesc.makeInt64(impure->m_scale, &i);
505+
fromDesc.makeInt64(impure->m_scale, &impure->m_result);
503506
assignParameter(tdbb, &fromDesc, toDesc, 0, record);
504507
impure->m_recordExists = true;
505-
};
506508

507-
impure->m_result += impure->m_step;
508-
509-
if (((impure->m_step > 0) && (impure->m_result <= impure->m_finish)) ||
510-
((impure->m_step < 0) && (impure->m_result >= impure->m_finish)))
511-
{
512-
setIntToRecord(impure->m_result);
513509
return true;
514510
}
515511

0 commit comments

Comments
 (0)