8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-23 07:23:04 +01:00

Fixed CORE-3899 - row_number(), rank() and dense_rank() return BIGINT datatype in dialect 1.

This commit is contained in:
asfernandes 2012-07-31 12:23:16 +00:00
parent dfecba54a6
commit 3556fe5f0b

View File

@ -88,9 +88,12 @@ DenseRankWinNode::DenseRankWinNode(MemoryPool& pool)
jrdChildNodes.clear();
}
void DenseRankWinNode::make(DsqlCompilerScratch* /*dsqlScratch*/, dsc* desc)
void DenseRankWinNode::make(DsqlCompilerScratch* dsqlScratch, dsc* desc)
{
desc->makeInt64(0);
if (dsqlScratch->clientDialect == 1)
desc->makeDouble();
else
desc->makeInt64(0);
}
void DenseRankWinNode::getDesc(thread_db* /*tdbb*/, CompilerScratch* /*csb*/, dsc* desc)
@ -142,9 +145,12 @@ RankWinNode::RankWinNode(MemoryPool& pool)
jrdChildNodes.clear();
}
void RankWinNode::make(DsqlCompilerScratch* /*dsqlScratch*/, dsc* desc)
void RankWinNode::make(DsqlCompilerScratch* dsqlScratch, dsc* desc)
{
desc->makeInt64(0);
if (dsqlScratch->clientDialect == 1)
desc->makeDouble();
else
desc->makeInt64(0);
}
void RankWinNode::getDesc(thread_db* /*tdbb*/, CompilerScratch* /*csb*/, dsc* desc)
@ -214,9 +220,12 @@ RowNumberWinNode::RowNumberWinNode(MemoryPool& pool)
jrdChildNodes.clear();
}
void RowNumberWinNode::make(DsqlCompilerScratch* /*dsqlScratch*/, dsc* desc)
void RowNumberWinNode::make(DsqlCompilerScratch* dsqlScratch, dsc* desc)
{
desc->makeInt64(0);
if (dsqlScratch->clientDialect == 1)
desc->makeDouble();
else
desc->makeInt64(0);
}
void RowNumberWinNode::getDesc(thread_db* /*tdbb*/, CompilerScratch* /*csb*/, dsc* desc)