You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2026-01-06 08:21:10 +03:00
MCOL-894 Upmerged post review changes.
Raised the default for orderby threads from 4 to 16.
Removed if LIMIT check block in makeVtableModeSteps().
Removed a duplicate of TimeCompare class and methods.
MCOL-3536 Upmerged the change.
MCOL-894 Post review changes.
Uncomment if LIMIT check block in makeVtableModeSteps().
TupleAnnexStep dtor now uses vector::size() as a boundary.
Removed useless try-catch blocks.
executeParallelOrderBy() now calculates rowSize only once.
Removed forward declaration in the unexisting namespace.
Trim UTs a bit.
This commit is contained in:
@@ -468,37 +468,6 @@ int TimeCompare::operator()(IdbCompare* l, Row::Pointer r1, Row::Pointer r2)
|
||||
}
|
||||
else
|
||||
{
|
||||
if (v1 > v2)
|
||||
ret = fSpec.fAsc;
|
||||
else if (v1 < v2)
|
||||
ret = -fSpec.fAsc;
|
||||
}
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
int TimeCompare::operator()(IdbCompare* l, Row::Pointer r1, Row::Pointer r2)
|
||||
{
|
||||
l->row1().setData(r1);
|
||||
l->row2().setData(r2);
|
||||
|
||||
bool b1 = l->row1().isNullValue(fSpec.fIndex);
|
||||
bool b2 = l->row2().isNullValue(fSpec.fIndex);
|
||||
|
||||
int ret = 0;
|
||||
|
||||
if (b1 == true || b2 == true)
|
||||
{
|
||||
if (b1 == false && b2 == true)
|
||||
ret = fSpec.fNf;
|
||||
else if (b1 == true && b2 == false)
|
||||
ret = -fSpec.fNf;
|
||||
}
|
||||
else
|
||||
{
|
||||
int64_t v1 = l->row1().getIntField(fSpec.fIndex);
|
||||
int64_t v2 = l->row2().getIntField(fSpec.fIndex);
|
||||
|
||||
// ((int64_t) -00:00:26) > ((int64_t) -00:00:25)
|
||||
// i.e. For 2 negative TIME values, we invert the order of
|
||||
// comparison operations to force "-00:00:26" to appear before
|
||||
@@ -684,13 +653,6 @@ void CompareRule::compileRules(const std::vector<IdbSortSpec>& spec, const rowgr
|
||||
break;
|
||||
}
|
||||
|
||||
case CalpontSystemCatalog::TIME:
|
||||
{
|
||||
Compare* c = new TimeCompare(*i);
|
||||
fCompares.push_back(c);
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
{
|
||||
break;
|
||||
|
||||
@@ -51,8 +51,8 @@ class ResourceManager;
|
||||
namespace ordering
|
||||
{
|
||||
|
||||
template<typename _Tp, typename _Sequence = vector<_Tp>,
|
||||
typename _Compare = less<typename _Sequence::value_type> >
|
||||
template<typename _Tp, typename _Sequence = std::vector<_Tp>,
|
||||
typename _Compare = std::less<typename _Sequence::value_type> >
|
||||
class reservablePQ: private std::priority_queue<_Tp, _Sequence, _Compare>
|
||||
{
|
||||
public:
|
||||
@@ -132,6 +132,7 @@ public:
|
||||
void revertSortSpec()
|
||||
{
|
||||
fSpec.fAsc = -fSpec.fAsc;
|
||||
fSpec.fNf = -fSpec.fNf;
|
||||
}
|
||||
|
||||
protected:
|
||||
@@ -289,15 +290,6 @@ public:
|
||||
|
||||
// End of comparators for variable sized types
|
||||
|
||||
class TimeCompare : public Compare
|
||||
{
|
||||
public:
|
||||
TimeCompare(const IdbSortSpec& spec) : Compare(spec) {}
|
||||
|
||||
int operator()(IdbCompare*, rowgroup::Row::Pointer, rowgroup::Row::Pointer);
|
||||
};
|
||||
|
||||
|
||||
class CompareRule
|
||||
{
|
||||
public:
|
||||
|
||||
Reference in New Issue
Block a user