1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-10-31 18:30:33 +03:00

Merge branch 'stable-23.10' into feat/MCOL-6072-parallel-scan-4-CES-4

This commit is contained in:
drrtuy
2025-09-08 15:16:52 +00:00
31 changed files with 1199 additions and 1100 deletions

View File

@@ -84,7 +84,7 @@ CalpontSelectExecutionPlan::CalpontSelectExecutionPlan(int location)
, fLimitNum(-1) , fLimitNum(-1)
, fHasOrderBy(false) , fHasOrderBy(false)
, fStringScanThreshold(ULONG_MAX) , fStringScanThreshold(ULONG_MAX)
, fQueryType(SELECT) , fQueryType(IDBQueryType::SELECT)
, fPriority(querystats::DEFAULT_USER_PRIORITY_LEVEL) , fPriority(querystats::DEFAULT_USER_PRIORITY_LEVEL)
, fStringTableThreshold(20) , fStringTableThreshold(20)
, fOrderByThreads(1) , fOrderByThreads(1)
@@ -491,27 +491,20 @@ string CalpontSelectExecutionPlan::toString(const size_t ident) const
return output.str(); return output.str();
} }
string CalpontSelectExecutionPlan::queryTypeToString(const uint32_t queryType) string CalpontSelectExecutionPlan::queryTypeToString(const IDBQueryType queryType)
{ {
switch (queryType) switch (queryType)
{ {
case SELECT: return "SELECT"; case IDBQueryType::SELECT: return "SELECT";
case IDBQueryType::UPDATE: return "UPDATE";
case UPDATE: return "UPDATE"; case IDBQueryType::DELETE: return "DELETE";
case IDBQueryType::INSERT_SELECT: return "INSERT_SELECT";
case DELETE: return "DELETE"; case IDBQueryType::CREATE_TABLE: return "CREATE_TABLE";
case IDBQueryType::DROP_TABLE: return "DROP_TABLE";
case INSERT_SELECT: return "INSERT_SELECT"; case IDBQueryType::ALTER_TABLE: return "ALTER_TABLE";
case IDBQueryType::INSERT: return "INSERT";
case CREATE_TABLE: return "CREATE_TABLE"; case IDBQueryType::LOAD_DATA_INFILE: return "LOAD_DATA_INFILE";
case IDBQueryType::UNION: return "UNION";
case DROP_TABLE: return "DROP_TABLE";
case ALTER_TABLE: return "ALTER_TABLE";
case INSERT: return "INSERT";
case LOAD_DATA_INFILE: return "LOAD_DATA_INFILE";
} }
return "UNKNOWN"; return "UNKNOWN";

View File

@@ -55,6 +55,22 @@ enum RM_PARMS
UMSMALLSIDEMEMORY, UMSMALLSIDEMEMORY,
}; };
// query type of select plan.
// TODO: move it somewhere?
enum class IDBQueryType : uint32_t
{
SELECT,
UPDATE,
DELETE,
INSERT_SELECT,
CREATE_TABLE,
DROP_TABLE,
ALTER_TABLE,
INSERT,
LOAD_DATA_INFILE,
UNION
};
struct RMParam struct RMParam
{ {
RMParam(uint32_t s, uint16_t i, uint64_t v) : sessionId(s), id(i), value(v) RMParam(uint32_t s, uint16_t i, uint64_t v) : sessionId(s), id(i), value(v)
@@ -97,21 +113,6 @@ class CalpontSelectExecutionPlan : public CalpontExecutionPlan
typedef std::vector<RMParam> RMParmVec; typedef std::vector<RMParam> RMParmVec;
// query type of this select plan.
#undef DELETE // Windows defines this...
enum IDB_QUERYTYPE
{
SELECT,
UPDATE,
DELETE,
INSERT_SELECT,
CREATE_TABLE,
DROP_TABLE,
ALTER_TABLE,
INSERT,
LOAD_DATA_INFILE
};
enum SE_LOCATION enum SE_LOCATION
{ {
MAIN, MAIN,
@@ -645,7 +646,7 @@ class CalpontSelectExecutionPlan : public CalpontExecutionPlan
} }
// query type. return string for easy stats insert // query type. return string for easy stats insert
void queryType(const uint32_t queryType) void queryType(const IDBQueryType queryType)
{ {
fQueryType = queryType; fQueryType = queryType;
} }
@@ -653,7 +654,7 @@ class CalpontSelectExecutionPlan : public CalpontExecutionPlan
{ {
return queryTypeToString(fQueryType); return queryTypeToString(fQueryType);
} }
static std::string queryTypeToString(const uint32_t queryType); static std::string queryTypeToString(const IDBQueryType queryType);
void priority(uint32_t p) void priority(uint32_t p)
{ {
@@ -713,7 +714,7 @@ class CalpontSelectExecutionPlan : public CalpontExecutionPlan
{ {
fDJSMaxPartitionTreeDepth = value; fDJSMaxPartitionTreeDepth = value;
} }
uint64_t djsMaxPartitionTreeDepth() uint64_t djsMaxPartitionTreeDepth() const
{ {
return fDJSMaxPartitionTreeDepth; return fDJSMaxPartitionTreeDepth;
} }
@@ -952,7 +953,7 @@ class CalpontSelectExecutionPlan : public CalpontExecutionPlan
uint64_t fStringScanThreshold = ULONG_MAX; uint64_t fStringScanThreshold = ULONG_MAX;
// query type // query type
uint32_t fQueryType = SELECT; IDBQueryType fQueryType{IDBQueryType::SELECT};
uint32_t fPriority; uint32_t fPriority;
uint32_t fStringTableThreshold = 20; uint32_t fStringTableThreshold = 20;

View File

@@ -499,67 +499,7 @@ void adjustLastStep(JobStepVector& querySteps, DeliveredTableMap& deliverySteps,
deliverySteps[CNX_VTABLE_ID] = ws; deliverySteps[CNX_VTABLE_ID] = ws;
} }
// TODO MCOL-894 we don't need to run sorting|distinct addAnnexStep(querySteps, deliverySteps, jobInfo);
// every time
// if ((jobInfo.limitCount != (uint64_t) - 1) ||
// (jobInfo.constantCol == CONST_COL_EXIST) ||
// (jobInfo.hasDistinct))
// {
if (jobInfo.annexStep.get() == NULL)
jobInfo.annexStep.reset(new TupleAnnexStep(jobInfo));
TupleAnnexStep* tas = dynamic_cast<TupleAnnexStep*>(jobInfo.annexStep.get());
tas->setLimit(jobInfo.limitStart, jobInfo.limitCount);
if (jobInfo.orderByColVec.size() > 0)
{
tas->addOrderBy(new LimitedOrderBy());
if (jobInfo.orderByThreads > 1)
tas->setParallelOp();
tas->setMaxThreads(jobInfo.orderByThreads);
}
if (jobInfo.constantCol == CONST_COL_EXIST)
tas->addConstant(new TupleConstantStep(jobInfo));
if (jobInfo.hasDistinct)
tas->setDistinct();
// }
if (jobInfo.annexStep)
{
TupleDeliveryStep* ds = dynamic_cast<TupleDeliveryStep*>(deliverySteps[CNX_VTABLE_ID].get());
RowGroup rg2 = ds->getDeliveredRowGroup();
if (jobInfo.trace)
cout << "Output RowGroup 2: " << rg2.toString() << endl;
AnyDataListSPtr spdlIn(new AnyDataList());
RowGroupDL* dlIn;
if (jobInfo.orderByColVec.size() > 0)
dlIn = new RowGroupDL(jobInfo.orderByThreads, jobInfo.fifoSize);
else
dlIn = new RowGroupDL(1, jobInfo.fifoSize);
dlIn->OID(CNX_VTABLE_ID);
spdlIn->rowGroupDL(dlIn);
JobStepAssociation jsaIn;
jsaIn.outAdd(spdlIn);
dynamic_cast<JobStep*>(ds)->outputAssociation(jsaIn);
jobInfo.annexStep->inputAssociation(jsaIn);
AnyDataListSPtr spdlOut(new AnyDataList());
RowGroupDL* dlOut = new RowGroupDL(1, jobInfo.fifoSize);
dlOut->OID(CNX_VTABLE_ID);
spdlOut->rowGroupDL(dlOut);
JobStepAssociation jsaOut;
jsaOut.outAdd(spdlOut);
jobInfo.annexStep->outputAssociation(jsaOut);
querySteps.push_back(jobInfo.annexStep);
dynamic_cast<TupleAnnexStep*>(jobInfo.annexStep.get())->initialize(rg2, jobInfo);
deliverySteps[CNX_VTABLE_ID] = jobInfo.annexStep;
}
// Check if constant false // Check if constant false
if (jobInfo.constantFalse) if (jobInfo.constantFalse)
@@ -4407,6 +4347,78 @@ void makeNoTableJobStep(JobStepVector& querySteps, JobStepVector& projectSteps,
namespace joblist namespace joblist
{ {
void addAnnexStep(JobStepVector& querySteps, DeliveredTableMap& deliverySteps, JobInfo& jobInfo,
IDBQueryType queryType)
{
// TODO MCOL-894 we don't need to run sorting|distinct
// every time
// if ((jobInfo.limitCount != (uint64_t) - 1) ||
// (jobInfo.constantCol == CONST_COL_EXIST) ||
// (jobInfo.hasDistinct))
// {
if (!jobInfo.annexStep)
{
jobInfo.annexStep.reset(new TupleAnnexStep(jobInfo));
}
auto* tas = dynamic_cast<TupleAnnexStep*>(jobInfo.annexStep.get());
tas->setLimit(jobInfo.limitStart, jobInfo.limitCount);
if (!jobInfo.orderByColVec.empty())
{
tas->addOrderBy(new LimitedOrderBy());
if (jobInfo.orderByThreads > 1)
tas->setParallelOp();
tas->setMaxThreads(jobInfo.orderByThreads);
}
if (queryType != IDBQueryType::UNION)
{
if (jobInfo.constantCol == CONST_COL_EXIST)
tas->addConstant(new TupleConstantStep(jobInfo));
if (jobInfo.hasDistinct)
tas->setDistinct();
}
// }
auto* tds = dynamic_cast<TupleDeliveryStep*>(deliverySteps[CNX_VTABLE_ID].get());
RowGroup rg = tds->getDeliveredRowGroup();
if (jobInfo.trace)
cout << "Output RowGroup 2: " << rg.toString() << endl;
AnyDataListSPtr spdlIn(new AnyDataList());
RowGroupDL* dlIn;
if (jobInfo.orderByColVec.empty())
{
dlIn = new RowGroupDL(1, jobInfo.fifoSize);
}
else
{
dlIn = new RowGroupDL(jobInfo.orderByThreads, jobInfo.fifoSize);
}
dlIn->OID(CNX_VTABLE_ID);
spdlIn->rowGroupDL(dlIn);
JobStepAssociation jsaIn;
jsaIn.outAdd(spdlIn);
dynamic_cast<JobStep*>(tds)->outputAssociation(jsaIn);
jobInfo.annexStep->inputAssociation(jsaIn);
AnyDataListSPtr spdlOut(new AnyDataList());
RowGroupDL* dlOut = new RowGroupDL(1, jobInfo.fifoSize);
dlOut->OID(CNX_VTABLE_ID);
spdlOut->rowGroupDL(dlOut);
JobStepAssociation jsaOut;
jsaOut.outAdd(spdlOut);
jobInfo.annexStep->outputAssociation(jsaOut);
querySteps.push_back(jobInfo.annexStep);
dynamic_cast<TupleAnnexStep*>(jobInfo.annexStep.get())->initialize(rg, jobInfo);
deliverySteps[CNX_VTABLE_ID] = jobInfo.annexStep;
}
void associateTupleJobSteps(JobStepVector& querySteps, JobStepVector& projectSteps, void associateTupleJobSteps(JobStepVector& querySteps, JobStepVector& projectSteps,
DeliveredTableMap& deliverySteps, JobInfo& jobInfo, DeliveredTableMap& deliverySteps, JobInfo& jobInfo,
const bool overrideLargeSideEstimate) const bool overrideLargeSideEstimate)
@@ -5049,7 +5061,7 @@ void associateTupleJobSteps(JobStepVector& querySteps, JobStepVector& projectSte
adjustLastStep(querySteps, deliverySteps, jobInfo); // to match the select clause adjustLastStep(querySteps, deliverySteps, jobInfo); // to match the select clause
} }
SJSTEP unionQueries(JobStepVector& queries, uint64_t distinctUnionNum, JobInfo& jobInfo) SJSTEP unionQueries(JobStepVector& queries, uint64_t distinctUnionNum, JobInfo& jobInfo, uint32_t keyCount)
{ {
vector<RowGroup> inputRGs; vector<RowGroup> inputRGs;
vector<bool> distinct; vector<bool> distinct;
@@ -5124,7 +5136,7 @@ SJSTEP unionQueries(JobStepVector& queries, uint64_t distinctUnionNum, JobInfo&
dl->OID(CNX_VTABLE_ID); dl->OID(CNX_VTABLE_ID);
JobStepAssociation jsa; JobStepAssociation jsa;
jsa.outAdd(spdl); jsa.outAdd(spdl);
TupleUnion* unionStep = new TupleUnion(CNX_VTABLE_ID, jobInfo); TupleUnion* unionStep = new TupleUnion(CNX_VTABLE_ID, jobInfo, keyCount);
unionStep->inputAssociation(jsaToUnion); unionStep->inputAssociation(jsaToUnion);
unionStep->outputAssociation(jsa); unionStep->outputAssociation(jsa);
@@ -5167,6 +5179,11 @@ SJSTEP unionQueries(JobStepVector& queries, uint64_t distinctUnionNum, JobInfo&
for (size_t i = 0; i < jobInfo.deliveredCols.size(); i++) for (size_t i = 0; i < jobInfo.deliveredCols.size(); i++)
{ {
auto* cc = dynamic_cast<ConstantColumn*>(jobInfo.deliveredCols[i].get());
if (cc)
{
jobInfo.deliveredCols[i].reset(new SimpleColumn(*jobInfo.deliveredCols[i]));
}
CalpontSystemCatalog::ColType ct = jobInfo.deliveredCols[i]->resultType(); CalpontSystemCatalog::ColType ct = jobInfo.deliveredCols[i]->resultType();
// XXX remove after connector change // XXX remove after connector change
ct.colDataType = types[i]; ct.colDataType = types[i];

View File

@@ -129,7 +129,10 @@ void associateTupleJobSteps(JobStepVector& querySteps, JobStepVector& projectSte
void orExpresssion(const execplan::Operator* op, JobInfo& jobInfo); void orExpresssion(const execplan::Operator* op, JobInfo& jobInfo);
// union the queries and return the tuple union step // union the queries and return the tuple union step
SJSTEP unionQueries(JobStepVector& queries, uint64_t distinctUnionNum, JobInfo& jobInfo); SJSTEP unionQueries(JobStepVector& queries, uint64_t distinctUnionNum, JobInfo& jobInfo, uint32_t keyCount);
void addAnnexStep(JobStepVector& querySteps, DeliveredTableMap& deliverySteps, JobInfo& jobInfo,
IDBQueryType queryType = execplan::IDBQueryType::SELECT);
// Used for join graph analysis. // Used for join graph analysis.
// WHITE - node is not processed. // WHITE - node is not processed.

View File

@@ -42,11 +42,7 @@ using namespace boost;
#include "mcsanalyzetableexecutionplan.h" #include "mcsanalyzetableexecutionplan.h"
#include "calpontsystemcatalog.h" #include "calpontsystemcatalog.h"
#include "dbrm.h" #include "dbrm.h"
#include "filter.h"
#include "simplefilter.h" #include "simplefilter.h"
#include "constantfilter.h"
#include "existsfilter.h"
#include "selectfilter.h"
#include "returnedcolumn.h" #include "returnedcolumn.h"
#include "aggregatecolumn.h" #include "aggregatecolumn.h"
#include "windowfunctioncolumn.h" #include "windowfunctioncolumn.h"
@@ -57,7 +53,6 @@ using namespace boost;
#include "pseudocolumn.h" #include "pseudocolumn.h"
#include "simplecolumn.h" #include "simplecolumn.h"
#include "rowcolumn.h" #include "rowcolumn.h"
#include "treenodeimpl.h"
#include "udafcolumn.h" #include "udafcolumn.h"
using namespace execplan; using namespace execplan;
@@ -73,11 +68,9 @@ using namespace logging;
#include "primitivestep.h" #include "primitivestep.h"
#include "jl_logger.h" #include "jl_logger.h"
#include "jlf_execplantojoblist.h" #include "jlf_execplantojoblist.h"
#include "rowaggregation.h"
#include "tuplehashjoin.h" #include "tuplehashjoin.h"
#include "tupleunion.h" #include "tupleunion.h"
#include "expressionstep.h" #include "expressionstep.h"
#include "tupleconstantstep.h"
#include "tuplehavingstep.h" #include "tuplehavingstep.h"
#include "windowfunctionstep.h" #include "windowfunctionstep.h"
#include "tupleannexstep.h" #include "tupleannexstep.h"
@@ -1944,6 +1937,43 @@ void makeAnalyzeTableJobSteps(MCSAnalyzeTableExecutionPlan* caep, JobInfo& jobIn
} }
} }
void fixUnionExpressionCol(ParseTree* tree, void* obj)
{
if (tree->left() || tree->right())
{
return;
}
auto* ac = dynamic_cast<ArithmeticColumn*>(tree->data());
if (ac && ac->expression())
{
ac->expression()->walk(fixUnionExpressionCol, obj);
ac->setSimpleColumnList();
return;
}
auto* fc = dynamic_cast<FunctionColumn*>(tree->data());
if (fc && !fc->functionParms().empty())
{
for (auto& parm : fc->functionParms())
{
parm->walk(fixUnionExpressionCol, obj);
}
fc->setSimpleColumnList();
return;
}
auto* csep = static_cast<CalpontSelectExecutionPlan*>(obj);
auto* rc = dynamic_cast<ReturnedColumn*>(tree->data());
if (rc)
{
if (dynamic_cast<ConstantColumn*>(rc) || rc->orderPos() == -1ull)
{
return;
}
auto* newrc = csep->returnedCols()[rc->orderPos()]->clone();
csep->returnedCols()[rc->orderPos()]->incRefCount();
tree->data(newrc);
}
}
} // namespace } // namespace
namespace joblist namespace joblist
@@ -1986,28 +2016,125 @@ void makeJobSteps(CalpontSelectExecutionPlan* csep, JobInfo& jobInfo, JobStepVec
} }
void makeUnionJobSteps(CalpontSelectExecutionPlan* csep, JobInfo& jobInfo, JobStepVector& querySteps, void makeUnionJobSteps(CalpontSelectExecutionPlan* csep, JobInfo& jobInfo, JobStepVector& querySteps,
JobStepVector&, DeliveredTableMap& deliverySteps) JobStepVector& /*projectSteps*/, DeliveredTableMap& deliverySteps)
{ {
CalpontSelectExecutionPlan::SelectList& selectVec = csep->unionVec(); CalpontSelectExecutionPlan::SelectList& unionVec = csep->unionVec();
uint8_t distinctUnionNum = csep->distinctUnionNum(); uint8_t distinctUnionNum = csep->distinctUnionNum();
RetColsVector unionRetCols = csep->returnedCols(); uint32_t unionRetColsCount = csep->returnedCols().size();
JobStepVector unionFeeders; JobStepVector unionFeeders;
for (CalpontSelectExecutionPlan::SelectList::iterator cit = selectVec.begin(); cit != selectVec.end(); std::remove_cv_t<std::remove_reference_t<decltype(csep->orderByCols())>> expOrderByCols;
cit++) for (auto& obc : csep->orderByCols())
{ {
// @bug4848, enhance and unify limit handling. if (obc->orderPos() != -1ull)
SJSTEP sub = doUnionSub(cit->get(), jobInfo); {
continue;
}
if (dynamic_cast<SimpleColumn*>(obc.get()) == nullptr &&
dynamic_cast<ConstantColumn*>(obc.get()) == nullptr)
{
// Arithmetic & function columns need special processing
expOrderByCols.push_back(obc);
}
}
for (auto& unionSub : unionVec)
{
auto* unionCSEP = dynamic_cast<CalpontSelectExecutionPlan*>(unionSub.get());
for (auto& obc : expOrderByCols)
{
// Replace any leaf of expressions in the ORDER BY list with the corresponding column for each table in
// the UNION, and add the expression to the returned columns.
auto* col = obc->clone();
auto* ac = dynamic_cast<ArithmeticColumn*>(col);
auto* fc = dynamic_cast<FunctionColumn*>(col);
if (ac)
{
ac->expression()->walk(fixUnionExpressionCol, unionCSEP);
ac->setSimpleColumnList();
}
else if (fc)
{
for (auto& parm : fc->functionParms())
{
parm->walk(fixUnionExpressionCol, unionCSEP);
}
fc->setSimpleColumnList();
}
unionCSEP->returnedCols().emplace_back(col);
}
SJSTEP sub = doUnionSub(unionSub.get(), jobInfo);
querySteps.push_back(sub); querySteps.push_back(sub);
unionFeeders.push_back(sub); unionFeeders.push_back(sub);
} }
jobInfo.deliveredCols = unionRetCols; for (auto& obc : expOrderByCols)
SJSTEP unionStep(unionQueries(unionFeeders, distinctUnionNum, jobInfo)); {
// Add a SimpleColumn to the outer query for the every ORDER BY expression
auto* sc = new SimpleColumn(*obc.get());
csep->returnedCols().emplace_back(sc);
sc->colPosition(csep->returnedCols().size() - 1);
sc->orderPos(csep->returnedCols().size() - 1);
obc->orderPos(csep->returnedCols().size() - 1);
}
jobInfo.deliveredCols = csep->returnedCols();
SJSTEP unionStep(unionQueries(unionFeeders, distinctUnionNum, jobInfo, unionRetColsCount));
querySteps.push_back(unionStep); querySteps.push_back(unionStep);
uint16_t stepNo = jobInfo.subId * 10000; uint16_t stepNo = jobInfo.subId * 10000;
numberSteps(querySteps, stepNo, jobInfo.traceFlags); numberSteps(querySteps, stepNo, jobInfo.traceFlags);
deliverySteps[execplan::CNX_VTABLE_ID] = unionStep; deliverySteps[execplan::CNX_VTABLE_ID] = unionStep;
if (!csep->orderByCols().empty() || csep->limitStart() != 0 || csep->limitNum() != -1ull)
{
jobInfo.limitStart = csep->limitStart();
jobInfo.limitCount = csep->limitNum();
jobInfo.orderByThreads = csep->orderByThreads();
for (auto& obc : csep->orderByCols())
{
auto* osc = dynamic_cast<SimpleColumn*>(obc.get());
if (osc)
{
auto* sc = dynamic_cast<SimpleColumn*>(jobInfo.deliveredCols[obc->orderPos()].get());
idbassert(sc);
sc->schemaName("");
sc->tableAlias(querySteps[0]->alias());
sc->colPosition(obc->orderPos());
sc->oid(tableOid(sc, jobInfo.csc) + 1 + obc->orderPos());
jobInfo.orderByColVec.emplace_back(getTupleKey(jobInfo, sc), obc->asc());
}
else
{
auto* tus = dynamic_cast<TupleUnion*>(unionStep.get());
auto& keys = tus->getOutputRowGroup().getKeys();
idbassert(obc->orderPos() < keys.size());
jobInfo.orderByColVec.emplace_back(keys[obc->orderPos()], obc->asc());
}
}
for (auto& rc : csep->returnedCols())
{
// Replace ConstantColumns with SimpleColumns and fix OIDs
auto* sc = dynamic_cast<SimpleColumn*>(rc.get());
if (sc)
{
sc->schemaName("");
sc->tableAlias(querySteps[0]->alias());
sc->oid(tableOid(sc, jobInfo.csc) + 1 + rc->colPosition());
}
else
{
sc = new SimpleColumn(*rc.get());
rc.reset(sc);
sc->schemaName("");
sc->tableAlias(querySteps[0]->alias());
sc->oid(tableOid(sc, jobInfo.csc) + 1 + rc->colPosition());
}
}
doProject(csep->returnedCols(), jobInfo);
checkReturnedColumns(csep, jobInfo);
addAnnexStep(querySteps, deliverySteps, jobInfo, IDBQueryType::UNION);
}
} }
} // namespace joblist } // namespace joblist

View File

@@ -35,6 +35,8 @@ using namespace querytele;
#include "resourcemanager.h" #include "resourcemanager.h"
#include "tupleunion.h" #include "tupleunion.h"
#include "m_string.h"
using namespace std; using namespace std;
using namespace std::tr1; using namespace std::tr1;
using namespace boost; using namespace boost;
@@ -80,6 +82,15 @@ namespace
return ival; return ival;
} }
NullString formatDouble(double val)
{
char buf[datatypes::INT128MAXPRECISION + 1];
my_bool error = 0;
auto len = my_gcvt(val, MY_GCVT_ARG_DOUBLE, sizeof(buf) - 1, buf, &error);
idbassert(error == 0 && len <= sizeof(buf));
return {buf, len};
}
void normalizeIntToIntNoScale(const Row& in, Row* out, uint32_t i) void normalizeIntToIntNoScale(const Row& in, Row* out, uint32_t i)
{ {
out->setIntField(in.getIntField(i), i); out->setIntField(in.getIntField(i), i);
@@ -124,20 +135,14 @@ namespace
void normalizeIntToStringWithScale(const Row& in, Row* out, uint32_t i) void normalizeIntToStringWithScale(const Row& in, Row* out, uint32_t i)
{ {
ostringstream os;
double d = in.getIntField(i); double d = in.getIntField(i);
d /= exp10(in.getScale(i)); d /= exp10(in.getScale(i));
os.precision(15); out->setStringField(formatDouble(d), i);
os << d;
utils::NullString ns(os.str());
out->setStringField(ns, i);
} }
void normalizeIntToStringNoScale(const Row& in, Row* out, uint32_t i) void normalizeIntToStringNoScale(const Row& in, Row* out, uint32_t i)
{ {
ostringstream os; utils::NullString ns(std::to_string(in.getIntField(i)));
os << in.getIntField(i);
utils::NullString ns(os.str());
out->setStringField(ns, i); out->setStringField(ns, i);
} }
@@ -203,20 +208,14 @@ namespace
void normalizeUintToStringWithScale(const Row& in, Row* out, uint32_t i) void normalizeUintToStringWithScale(const Row& in, Row* out, uint32_t i)
{ {
ostringstream os;
double d = in.getUintField(i); double d = in.getUintField(i);
d /= exp10(in.getScale(i)); d /= exp10(in.getScale(i));
os.precision(15); out->setStringField(formatDouble(d), i);
os << d;
utils::NullString ns(os.str());
out->setStringField(ns, i);
} }
void normalizeUintToStringNoScale(const Row& in, Row* out, uint32_t i) void normalizeUintToStringNoScale(const Row& in, Row* out, uint32_t i)
{ {
ostringstream os; utils::NullString ns(std::to_string(in.getUintField(i)));
os << in.getUintField(i);
utils::NullString ns(os.str());
out->setStringField(ns, i); out->setStringField(ns, i);
} }
@@ -514,21 +513,13 @@ namespace
void normalizeXFloatToString(const Row& in, Row* out, uint32_t i) void normalizeXFloatToString(const Row& in, Row* out, uint32_t i)
{ {
double val = in.getFloatField(i); double val = in.getFloatField(i);
ostringstream os; out->setStringField(formatDouble(val), i);
os.precision(15); // to match mysql's output
os << val;
utils::NullString ns(os.str());
out->setStringField(ns, i);
} }
void normalizeXDoubleToString(const Row& in, Row* out, uint32_t i) void normalizeXDoubleToString(const Row& in, Row* out, uint32_t i)
{ {
double val = in.getDoubleField(i); double val = in.getDoubleField(i);
ostringstream os; out->setStringField(formatDouble(val), i);
os.precision(15); // to match mysql's output
os << val;
utils::NullString ns(os.str());
out->setStringField(ns, i);
} }
void normalizeXFloatToWideXDecimal(const Row& in, Row* out, uint32_t i) void normalizeXFloatToWideXDecimal(const Row& in, Row* out, uint32_t i)
@@ -599,6 +590,7 @@ namespace
void normalizeLongDoubleToString(const Row& in, Row* out, uint32_t i) void normalizeLongDoubleToString(const Row& in, Row* out, uint32_t i)
{ {
// FIXME: ostream output looks like '1.234e+56' while MDB output is '1.234e56'
long double val = in.getLongDoubleField(i); long double val = in.getLongDoubleField(i);
ostringstream os; ostringstream os;
os.precision(15); // to match mysql's output os.precision(15); // to match mysql's output
@@ -1305,7 +1297,7 @@ inline uint64_t TupleUnion::Hasher::operator()(const RowPosition& p) const
else else
ts->rowMemory[p.group].getRow(p.row, &row); ts->rowMemory[p.group].getRow(p.row, &row);
return row.hash(); return row.hash(ts->fLastCol);
} }
inline bool TupleUnion::Eq::operator()(const RowPosition& d1, const RowPosition& d2) const inline bool TupleUnion::Eq::operator()(const RowPosition& d1, const RowPosition& d2) const
@@ -1322,10 +1314,10 @@ inline bool TupleUnion::Eq::operator()(const RowPosition& d1, const RowPosition&
else else
ts->rowMemory[d2.group].getRow(d2.row, &r2); ts->rowMemory[d2.group].getRow(d2.row, &r2);
return r1.equals(r2); return r1.equals(r2, ts->fLastCol);
} }
TupleUnion::TupleUnion(CalpontSystemCatalog::OID tableOID, const JobInfo& jobInfo) TupleUnion::TupleUnion(CalpontSystemCatalog::OID tableOID, const JobInfo& jobInfo, uint32_t keyCount)
: JobStep(jobInfo) : JobStep(jobInfo)
, fTableOID(tableOID) , fTableOID(tableOID)
, output(NULL) , output(NULL)
@@ -1340,6 +1332,7 @@ TupleUnion::TupleUnion(CalpontSystemCatalog::OID tableOID, const JobInfo& jobInf
, joinRan(false) , joinRan(false)
, sessionMemLimit(jobInfo.umMemLimit) , sessionMemLimit(jobInfo.umMemLimit)
, fTimeZone(jobInfo.timeZone) , fTimeZone(jobInfo.timeZone)
, fLastCol(keyCount - 1)
{ {
uniquer.reset(new Uniquer_t(10, Hasher(this), Eq(this), allocator)); uniquer.reset(new Uniquer_t(10, Hasher(this), Eq(this), allocator));
fExtendedInfo = "TUN: "; fExtendedInfo = "TUN: ";

View File

@@ -43,7 +43,7 @@ using normalizeFunctionsT =
class TupleUnion : public JobStep, public TupleDeliveryStep class TupleUnion : public JobStep, public TupleDeliveryStep
{ {
public: public:
TupleUnion(execplan::CalpontSystemCatalog::OID tableOID, const JobInfo& jobInfo); TupleUnion(execplan::CalpontSystemCatalog::OID tableOID, const JobInfo& jobInfo, uint32_t keyCount);
~TupleUnion() override; ~TupleUnion() override;
void run() override; void run() override;
@@ -200,6 +200,7 @@ class TupleUnion : public JobStep, public TupleDeliveryStep
boost::shared_ptr<int64_t> sessionMemLimit; boost::shared_ptr<int64_t> sessionMemLimit;
long fTimeZone; long fTimeZone;
uint32_t fLastCol;
}; };
} // namespace joblist } // namespace joblist

View File

@@ -60,7 +60,6 @@ using namespace logging;
#include "ha_subquery.h" #include "ha_subquery.h"
#include "ha_mcs_pushdown.h" #include "ha_mcs_pushdown.h"
#include "ha_tzinfo.h" #include "ha_tzinfo.h"
#include "ha_mcs_logging.h"
using namespace cal_impl_if; using namespace cal_impl_if;
#include "aggregatecolumn.h" #include "aggregatecolumn.h"
@@ -70,7 +69,6 @@ using namespace cal_impl_if;
#include "calpontsystemcatalog.h" #include "calpontsystemcatalog.h"
#include "constantcolumn.h" #include "constantcolumn.h"
#include "constantfilter.h" #include "constantfilter.h"
#include "existsfilter.h"
#include "functioncolumn.h" #include "functioncolumn.h"
#include "groupconcatcolumn.h" #include "groupconcatcolumn.h"
#include "intervalcolumn.h" #include "intervalcolumn.h"
@@ -80,10 +78,8 @@ using namespace cal_impl_if;
#include "rewrites.h" #include "rewrites.h"
#include "rowcolumn.h" #include "rowcolumn.h"
#include "rulebased_optimizer.h" #include "rulebased_optimizer.h"
#include "selectfilter.h"
#include "simplecolumn_decimal.h" #include "simplecolumn_decimal.h"
#include "simplecolumn_int.h" #include "simplecolumn_int.h"
#include "simplecolumn_uint.h"
#include "simplefilter.h" #include "simplefilter.h"
#include "udafcolumn.h" #include "udafcolumn.h"
using namespace execplan; using namespace execplan;
@@ -540,7 +536,6 @@ bool sortItemIsInGroupRec(Item* sort_item, Item* group_item)
Item* ifp_sort_arg = ifp_sort->arguments()[i]; Item* ifp_sort_arg = ifp_sort->arguments()[i];
if (ifp_sort_arg->type() == Item::FUNC_ITEM || ifp_sort_arg->type() == Item::FIELD_ITEM) if (ifp_sort_arg->type() == Item::FUNC_ITEM || ifp_sort_arg->type() == Item::FIELD_ITEM)
{ {
Item* ifp_sort_arg = ifp_sort->arguments()[i];
found = sortItemIsInGroupRec(ifp_sort_arg, group_item); found = sortItemIsInGroupRec(ifp_sort_arg, group_item);
} }
else if (ifp_sort_arg->type() == Item::REF_ITEM) else if (ifp_sort_arg->type() == Item::REF_ITEM)
@@ -2804,7 +2799,8 @@ ReturnedColumn* buildReturnedColumnNull(gp_walk_info& gwi)
return rc; return rc;
} }
ReturnedColumn* buildReturnedColumnBody(Item* item, gp_walk_info& gwi, bool& nonSupport, bool /*isRefItem*/) ReturnedColumn* buildReturnedColumnBody(Item* item, gp_walk_info& gwi, bool& nonSupport, bool /*isRefItem*/,
IDBQueryType queryType)
{ {
ReturnedColumn* rc = NULL; ReturnedColumn* rc = NULL;
@@ -2826,7 +2822,7 @@ ReturnedColumn* buildReturnedColumnBody(Item* item, gp_walk_info& gwi, bool& non
{ {
Item_field* ifp = (Item_field*)item; Item_field* ifp = (Item_field*)item;
return wrapIntoAggregate(buildSimpleColumn(ifp, gwi), gwi, ifp); return wrapIntoAggregate(buildSimpleColumn(ifp, gwi, queryType), gwi, ifp);
} }
case Item::NULL_ITEM: return buildReturnedColumnNull(gwi); case Item::NULL_ITEM: return buildReturnedColumnNull(gwi);
case Item::CONST_ITEM: case Item::CONST_ITEM:
@@ -2865,10 +2861,10 @@ ReturnedColumn* buildReturnedColumnBody(Item* item, gp_walk_info& gwi, bool& non
} }
if (func_name == "+" || func_name == "-" || func_name == "*" || func_name == "/") if (func_name == "+" || func_name == "-" || func_name == "*" || func_name == "/")
return buildArithmeticColumn(ifp, gwi, nonSupport); return buildArithmeticColumn(ifp, gwi, nonSupport, queryType);
else else
{ {
return buildFunctionColumn(ifp, gwi, nonSupport); return buildFunctionColumn(ifp, gwi, nonSupport, false, queryType);
} }
} }
@@ -2885,11 +2881,13 @@ ReturnedColumn* buildReturnedColumnBody(Item* item, gp_walk_info& gwi, bool& non
{ {
case Item::SUM_FUNC_ITEM: return buildAggregateColumn(*(ref->ref), gwi); case Item::SUM_FUNC_ITEM: return buildAggregateColumn(*(ref->ref), gwi);
case Item::FIELD_ITEM: return buildReturnedColumn(*(ref->ref), gwi, nonSupport); case Item::FIELD_ITEM: return buildReturnedColumn(*(ref->ref), gwi, nonSupport, false, queryType);
case Item::REF_ITEM: return buildReturnedColumn(*(((Item_ref*)(*(ref->ref)))->ref), gwi, nonSupport); case Item::REF_ITEM:
return buildReturnedColumn(*(((Item_ref*)(*(ref->ref)))->ref), gwi, nonSupport, false, queryType);
case Item::FUNC_ITEM: return buildFunctionColumn((Item_func*)(*(ref->ref)), gwi, nonSupport); case Item::FUNC_ITEM:
return buildFunctionColumn((Item_func*)(*(ref->ref)), gwi, nonSupport, false, queryType);
case Item::WINDOW_FUNC_ITEM: return buildWindowFunctionColumn(*(ref->ref), gwi, nonSupport); case Item::WINDOW_FUNC_ITEM: return buildWindowFunctionColumn(*(ref->ref), gwi, nonSupport);
@@ -2901,7 +2899,7 @@ ReturnedColumn* buildReturnedColumnBody(Item* item, gp_walk_info& gwi, bool& non
default: default:
if (ref->ref_type() == Item_ref::DIRECT_REF) if (ref->ref_type() == Item_ref::DIRECT_REF)
{ {
return buildReturnedColumn(ref->real_item(), gwi, nonSupport); return buildReturnedColumn(ref->real_item(), gwi, nonSupport, false, queryType);
} }
gwi.fatalParseError = true; gwi.fatalParseError = true;
gwi.parseErrorText = "Unknown REF item"; gwi.parseErrorText = "Unknown REF item";
@@ -2990,11 +2988,12 @@ ReturnedColumn* buildReturnedColumnBody(Item* item, gp_walk_info& gwi, bool& non
return rc; return rc;
} }
ReturnedColumn* buildReturnedColumn(Item* item, gp_walk_info& gwi, bool& nonSupport, bool isRefItem) ReturnedColumn* buildReturnedColumn(Item* item, gp_walk_info& gwi, bool& nonSupport, bool isRefItem,
IDBQueryType queryType)
{ {
bool disableWrapping = gwi.disableWrapping; bool disableWrapping = gwi.disableWrapping;
gwi.disableWrapping = gwi.disableWrapping || itemDisablesWrapping(item, gwi); gwi.disableWrapping = gwi.disableWrapping || itemDisablesWrapping(item, gwi);
ReturnedColumn* rc = buildReturnedColumnBody(item, gwi, nonSupport, isRefItem); ReturnedColumn* rc = buildReturnedColumnBody(item, gwi, nonSupport, isRefItem, queryType);
gwi.disableWrapping = disableWrapping; gwi.disableWrapping = disableWrapping;
return rc; return rc;
} }
@@ -3028,7 +3027,8 @@ ReturnedColumn* buildBooleanConstantColumn(Item* item, gp_walk_info& gwi, bool&
return cc; return cc;
} }
ReturnedColumn* buildArithmeticColumnBody(Item_func* item, gp_walk_info& gwi, bool& nonSupport) ReturnedColumn* buildArithmeticColumnBody(Item_func* item, gp_walk_info& gwi, bool& nonSupport,
IDBQueryType queryType)
{ {
if (get_fe_conn_info_ptr() == NULL) if (get_fe_conn_info_ptr() == NULL)
{ {
@@ -3057,7 +3057,7 @@ ReturnedColumn* buildArithmeticColumnBody(Item_func* item, gp_walk_info& gwi, bo
if (gwi.clauseType == SELECT || /*gwi.clauseType == HAVING || */ gwi.clauseType == GROUP_BY || if (gwi.clauseType == SELECT || /*gwi.clauseType == HAVING || */ gwi.clauseType == GROUP_BY ||
gwi.clauseType == FROM) // select list gwi.clauseType == FROM) // select list
{ {
lhs = new ParseTree(buildReturnedColumn(sfitempp[0], gwi, nonSupport)); lhs = new ParseTree(buildReturnedColumn(sfitempp[0], gwi, nonSupport, false, queryType));
if (!lhs->data() && (sfitempp[0]->type() == Item::FUNC_ITEM)) if (!lhs->data() && (sfitempp[0]->type() == Item::FUNC_ITEM))
{ {
@@ -3072,12 +3072,12 @@ ReturnedColumn* buildArithmeticColumnBody(Item_func* item, gp_walk_info& gwi, bo
gwi.fatalParseError = false; gwi.fatalParseError = false;
// ReturnedColumn* rc = buildAggFrmTempField(sfitempp[0], gwi); // ReturnedColumn* rc = buildAggFrmTempField(sfitempp[0], gwi);
ReturnedColumn* rc = buildReturnedColumn(sfitempp[0], gwi, nonSupport); ReturnedColumn* rc = buildReturnedColumn(sfitempp[0], gwi, nonSupport, false, queryType);
if (rc) if (rc)
lhs = new ParseTree(rc); lhs = new ParseTree(rc);
} }
rhs = new ParseTree(buildReturnedColumn(sfitempp[1], gwi, nonSupport)); rhs = new ParseTree(buildReturnedColumn(sfitempp[1], gwi, nonSupport, false, queryType));
if (!rhs->data() && (sfitempp[1]->type() == Item::FUNC_ITEM)) if (!rhs->data() && (sfitempp[1]->type() == Item::FUNC_ITEM))
{ {
@@ -3092,7 +3092,7 @@ ReturnedColumn* buildArithmeticColumnBody(Item_func* item, gp_walk_info& gwi, bo
gwi.fatalParseError = false; gwi.fatalParseError = false;
// ReturnedColumn* rc = buildAggFrmTempField(sfitempp[1], gwi); // ReturnedColumn* rc = buildAggFrmTempField(sfitempp[1], gwi);
ReturnedColumn* rc = buildReturnedColumn(sfitempp[1], gwi, nonSupport); ReturnedColumn* rc = buildReturnedColumn(sfitempp[1], gwi, nonSupport, false, queryType);
if (rc) if (rc)
rhs = new ParseTree(rc); rhs = new ParseTree(rc);
} }
@@ -3103,7 +3103,7 @@ ReturnedColumn* buildArithmeticColumnBody(Item_func* item, gp_walk_info& gwi, bo
{ {
if (gwi.ptWorkStack.empty()) if (gwi.ptWorkStack.empty())
{ {
rhs = new ParseTree(buildReturnedColumn(sfitempp[1], gwi, nonSupport)); rhs = new ParseTree(buildReturnedColumn(sfitempp[1], gwi, nonSupport, false, queryType));
} }
else else
{ {
@@ -3115,7 +3115,7 @@ ReturnedColumn* buildArithmeticColumnBody(Item_func* item, gp_walk_info& gwi, bo
{ {
if (gwi.rcWorkStack.empty()) if (gwi.rcWorkStack.empty())
{ {
rhs = new ParseTree(buildReturnedColumn(sfitempp[1], gwi, nonSupport)); rhs = new ParseTree(buildReturnedColumn(sfitempp[1], gwi, nonSupport, false, queryType));
} }
else else
{ {
@@ -3128,7 +3128,7 @@ ReturnedColumn* buildArithmeticColumnBody(Item_func* item, gp_walk_info& gwi, bo
{ {
if (gwi.ptWorkStack.empty()) if (gwi.ptWorkStack.empty())
{ {
lhs = new ParseTree(buildReturnedColumn(sfitempp[0], gwi, nonSupport)); lhs = new ParseTree(buildReturnedColumn(sfitempp[0], gwi, nonSupport, false, queryType));
} }
else else
{ {
@@ -3140,7 +3140,7 @@ ReturnedColumn* buildArithmeticColumnBody(Item_func* item, gp_walk_info& gwi, bo
{ {
if (gwi.rcWorkStack.empty()) if (gwi.rcWorkStack.empty())
{ {
lhs = new ParseTree(buildReturnedColumn(sfitempp[0], gwi, nonSupport)); lhs = new ParseTree(buildReturnedColumn(sfitempp[0], gwi, nonSupport, false, queryType));
} }
else else
{ {
@@ -3173,13 +3173,13 @@ ReturnedColumn* buildArithmeticColumnBody(Item_func* item, gp_walk_info& gwi, bo
if (gwi.clauseType == SELECT || gwi.clauseType == HAVING || gwi.clauseType == GROUP_BY) // select clause if (gwi.clauseType == SELECT || gwi.clauseType == HAVING || gwi.clauseType == GROUP_BY) // select clause
{ {
rhs = new ParseTree(buildReturnedColumn(sfitempp[0], gwi, nonSupport)); rhs = new ParseTree(buildReturnedColumn(sfitempp[0], gwi, nonSupport, false, queryType));
} }
else else
{ {
if (gwi.rcWorkStack.empty()) if (gwi.rcWorkStack.empty())
{ {
rhs = new ParseTree(buildReturnedColumn(sfitempp[0], gwi, nonSupport)); rhs = new ParseTree(buildReturnedColumn(sfitempp[0], gwi, nonSupport, false, queryType));
} }
else else
{ {
@@ -3301,17 +3301,18 @@ ReturnedColumn* buildArithmeticColumnBody(Item_func* item, gp_walk_info& gwi, bo
} }
return ac; return ac;
} }
ReturnedColumn* buildArithmeticColumn(Item_func* item, gp_walk_info& gwi, bool& nonSupport) ReturnedColumn* buildArithmeticColumn(Item_func* item, gp_walk_info& gwi, bool& nonSupport,
IDBQueryType queryType)
{ {
bool disableWrapping = gwi.disableWrapping; bool disableWrapping = gwi.disableWrapping;
gwi.disableWrapping = gwi.disableWrapping || itemDisablesWrapping(item, gwi); gwi.disableWrapping = gwi.disableWrapping || itemDisablesWrapping(item, gwi);
ReturnedColumn* rc = buildArithmeticColumnBody(item, gwi, nonSupport); ReturnedColumn* rc = buildArithmeticColumnBody(item, gwi, nonSupport, queryType);
gwi.disableWrapping = disableWrapping; gwi.disableWrapping = disableWrapping;
return rc; return rc;
} }
ReturnedColumn* buildFunctionColumnBody(Item_func* ifp, gp_walk_info& gwi, bool& nonSupport, ReturnedColumn* buildFunctionColumnBody(Item_func* ifp, gp_walk_info& gwi, bool& nonSupport,
bool selectBetweenIn) bool selectBetweenIn, IDBQueryType queryType)
{ {
if (get_fe_conn_info_ptr() == NULL) if (get_fe_conn_info_ptr() == NULL)
{ {
@@ -3374,12 +3375,12 @@ ReturnedColumn* buildFunctionColumnBody(Item_func* ifp, gp_walk_info& gwi, bool&
// Arithmetic exp // Arithmetic exp
if (funcName == "+" || funcName == "-" || funcName == "*" || funcName == "/") if (funcName == "+" || funcName == "-" || funcName == "*" || funcName == "/")
{ {
return buildArithmeticColumn(ifp, gwi, nonSupport); return buildArithmeticColumn(ifp, gwi, nonSupport, queryType);
} }
else if (funcName == "case") else if (funcName == "case")
{ {
fc = buildCaseFunction(ifp, gwi, nonSupport); fc = buildCaseFunction(ifp, gwi, nonSupport, queryType);
} }
else if ((funcName == "charset" || funcName == "collation") && ifp->argument_count() == 1 && else if ((funcName == "charset" || funcName == "collation") && ifp->argument_count() == 1 &&
@@ -3554,7 +3555,7 @@ ReturnedColumn* buildFunctionColumnBody(Item_func* ifp, gp_walk_info& gwi, bool&
rc = buildBooleanConstantColumn(ifp->arguments()[i], gwi, nonSupport); rc = buildBooleanConstantColumn(ifp->arguments()[i], gwi, nonSupport);
else else
{ {
rc = buildReturnedColumn(ifp->arguments()[i], gwi, nonSupport); rc = buildReturnedColumn(ifp->arguments()[i], gwi, nonSupport, false, queryType);
} }
// MCOL-1510 It must be a temp table field, so find the corresponding column. // MCOL-1510 It must be a temp table field, so find the corresponding column.
@@ -3921,16 +3922,18 @@ ReturnedColumn* buildFunctionColumnBody(Item_func* ifp, gp_walk_info& gwi, bool&
return fc; return fc;
} }
ReturnedColumn* buildFunctionColumn(Item_func* ifp, gp_walk_info& gwi, bool& nonSupport, bool selectBetweenIn) ReturnedColumn* buildFunctionColumn(Item_func* ifp, gp_walk_info& gwi, bool& nonSupport, bool selectBetweenIn,
IDBQueryType queryType)
{ {
bool disableWrapping = gwi.disableWrapping; bool disableWrapping = gwi.disableWrapping;
gwi.disableWrapping = gwi.disableWrapping || itemDisablesWrapping(ifp, gwi); gwi.disableWrapping = gwi.disableWrapping || itemDisablesWrapping(ifp, gwi);
ReturnedColumn* rc = buildFunctionColumnBody(ifp, gwi, nonSupport, selectBetweenIn); ReturnedColumn* rc = buildFunctionColumnBody(ifp, gwi, nonSupport, selectBetweenIn, queryType);
gwi.disableWrapping = disableWrapping; gwi.disableWrapping = disableWrapping;
return rc; return rc;
} }
FunctionColumn* buildCaseFunction(Item_func* item, gp_walk_info& gwi, bool& nonSupport) FunctionColumn* buildCaseFunction(Item_func* item, gp_walk_info& gwi, bool& nonSupport,
IDBQueryType queryType)
{ {
if (get_fe_conn_info_ptr() == NULL) if (get_fe_conn_info_ptr() == NULL)
{ {
@@ -4013,7 +4016,7 @@ FunctionColumn* buildCaseFunction(Item_func* item, gp_walk_info& gwi, bool& nonS
// rwWorkStack or ptWorkStack. // rwWorkStack or ptWorkStack.
// For example, simple predicates, such as 1=1 or 1=0, land in the // For example, simple predicates, such as 1=1 or 1=0, land in the
// ptWorkStack but other stuff might land in the rwWorkStack // ptWorkStack but other stuff might land in the rwWorkStack
ReturnedColumn* parm = buildReturnedColumn(item->arguments()[i], gwi, nonSupport); ReturnedColumn* parm = buildReturnedColumn(item->arguments()[i], gwi, nonSupport, false, queryType);
if (parm) if (parm)
{ {
@@ -4153,7 +4156,7 @@ ConstantColumn* buildDecimalColumn(const Item* idp, const std::string& valStr, g
return cc; return cc;
} }
SimpleColumn* buildSimpleColumn(Item_field* ifp, gp_walk_info& gwi) SimpleColumn* buildSimpleColumn(Item_field* ifp, gp_walk_info& gwi, IDBQueryType queryType)
{ {
if (!gwi.csc) if (!gwi.csc)
{ {
@@ -4168,6 +4171,14 @@ SimpleColumn* buildSimpleColumn(Item_field* ifp, gp_walk_info& gwi)
strcmp(ifp->cached_table->db.str, "information_schema") == 0) strcmp(ifp->cached_table->db.str, "information_schema") == 0)
isInformationSchema = true; isInformationSchema = true;
if (queryType == IDBQueryType::UNION && !isInformationSchema)
{
auto* rc = gwi.returnedCols[ifp->field->field_index]->clone();
rc->orderPos(ifp->field->field_index);
gwi.returnedCols[ifp->field->field_index]->incRefCount();
return dynamic_cast<SimpleColumn*>(rc);
}
// support FRPM subquery. columns from the derived table has no definition // support FRPM subquery. columns from the derived table has no definition
if ((!ifp->field || !ifp->db_name.str || strlen(ifp->db_name.str) == 0) && !isInformationSchema) if ((!ifp->field || !ifp->db_name.str || strlen(ifp->db_name.str) == 0) && !isInformationSchema)
return buildSimpleColFromDerivedTable(gwi, ifp); return buildSimpleColFromDerivedTable(gwi, ifp);
@@ -6384,23 +6395,25 @@ int processLimitAndOffset(SELECT_LEX& select_lex, gp_walk_info& gwi, SCSEP& csep
We therefore do not allow limit set to 1 here for such queries. We therefore do not allow limit set to 1 here for such queries.
*/ */
if (gwi.subSelectType != CalpontSelectExecutionPlan::IN_SUBS && if (gwi.subSelectType != CalpontSelectExecutionPlan::IN_SUBS &&
gwi.subSelectType != CalpontSelectExecutionPlan::EXISTS_SUBS && gwi.subSelectType != CalpontSelectExecutionPlan::EXISTS_SUBS)
select_lex.master_unit()->global_parameters()->limit_params.explicit_limit)
{ {
if (select_lex.master_unit()->global_parameters()->limit_params.offset_limit) if (select_lex.master_unit()->global_parameters()->limit_params.explicit_limit)
{ {
Item_int* offset = if (select_lex.master_unit()->global_parameters()->limit_params.offset_limit)
(Item_int*)select_lex.master_unit()->global_parameters()->limit_params.offset_limit; {
csep->limitStart(offset->val_int()); Item_int* offset =
} (Item_int*)select_lex.master_unit()->global_parameters()->limit_params.offset_limit;
csep->limitStart(offset->val_int());
}
if (select_lex.master_unit()->global_parameters()->limit_params.select_limit) if (select_lex.master_unit()->global_parameters()->limit_params.select_limit)
{ {
Item_int* select = Item_int* select =
(Item_int*)select_lex.master_unit()->global_parameters()->limit_params.select_limit; (Item_int*)select_lex.master_unit()->global_parameters()->limit_params.select_limit;
csep->limitNum(select->val_int()); csep->limitNum(select->val_int());
// MCOL-894 Activate parallel ORDER BY // MCOL-894 Activate parallel ORDER BY
csep->orderByThreads(get_orderby_threads(gwi.thd)); csep->orderByThreads(get_orderby_threads(gwi.thd));
}
} }
} }
} }
@@ -6479,6 +6492,40 @@ int processLimitAndOffset(SELECT_LEX& select_lex, gp_walk_info& gwi, SCSEP& csep
return 0; return 0;
} }
// Loop over available indexes to find and extract corresponding EI column statistics
// for the first column of the index if any.
// Statistics is stored in GWI context.
// Mock for ES 10.6
#if MYSQL_VERSION_ID >= 110408
void extractColumnStatistics(Item_field* ifp, gp_walk_info& gwi)
{
for (uint j = 0; j < ifp->field->table->s->keys; j++)
{
for (uint i = 0; i < ifp->field->table->s->key_info[j].usable_key_parts; i++)
{
if (ifp->field->table->s->key_info[j].key_part[i].fieldnr == ifp->field->field_index + 1)
{
if (i == 0 && ifp->field->read_stats)
{
assert(ifp->field->table->s);
auto* histogram = dynamic_cast<Histogram_json_hb*>(ifp->field->read_stats->histogram);
if (histogram)
{
SchemaAndTableName tableName = {ifp->field->table->s->db.str,
ifp->field->table->s->table_name.str};
gwi.tableStatisticsMap[tableName][ifp->field->field_name.str] = *histogram;
}
}
}
}
}
}
#else
void extractColumnStatistics(Item_field* /*ifp*/, gp_walk_info& /*gwi*/)
{
}
#endif
/*@brief Process SELECT part of a query or sub-query */ /*@brief Process SELECT part of a query or sub-query */
/*********************************************************** /***********************************************************
* DESCRIPTION: * DESCRIPTION:
@@ -6980,6 +7027,85 @@ int processSelect(SELECT_LEX& select_lex, gp_walk_info& gwi, SCSEP& csep, vector
return 0; return 0;
} }
int processOrderByCol(const ORDER* ordercol, gp_walk_info& gwi, IDBQueryType queryType = IDBQueryType::SELECT)
{
ReturnedColumn* rc = nullptr;
if (ordercol->in_field_list && (ordercol->counter_used || ((*ordercol->item)->type() == Item::FIELD_ITEM &&
queryType == IDBQueryType::UNION)))
{
auto* ifp = dynamic_cast<Item_field*>(*ordercol->item);
auto pos = ordercol->counter_used ? ordercol->counter - 1 : ifp->field->field_index;
rc = gwi.returnedCols[pos]->clone();
rc->orderPos(pos);
// can not be optimized off if used in order by with counter.
// set with self derived table alias if it's derived table
gwi.returnedCols[pos]->incRefCount();
}
else
{
Item* ord_item = *ordercol->item;
// ignore not_used column on order by.
if ((ord_item->type() == Item::CONST_ITEM && ord_item->cmp_type() == INT_RESULT) &&
ord_item->full_name() && !strcmp(ord_item->full_name(), "Not_used"))
{
return 0;
}
else if (ord_item->type() == Item::CONST_ITEM && ord_item->cmp_type() == INT_RESULT)
{
// DRRTUY This section looks useless b/c there is no
// way to put constant INT into an ORDER BY list
rc = gwi.returnedCols[((Item_int*)ord_item)->val_int() - 1]->clone();
}
else if (ord_item->type() == Item::SUBSELECT_ITEM)
{
gwi.fatalParseError = true;
}
else if ((ord_item->type() == Item::FUNC_ITEM) &&
(((Item_func*)ord_item)->functype() == Item_func::COLLATE_FUNC))
{
push_warning(gwi.thd, Sql_condition::WARN_LEVEL_NOTE, WARN_OPTION_IGNORED,
"COLLATE is ignored in ColumnStore");
return 0;
}
else
{
rc = buildReturnedColumn(ord_item, gwi, gwi.fatalParseError, false, queryType);
rc = wrapIntoAggregate(rc, gwi, ord_item);
}
// @bug5501 try item_ptr if item can not be fixed. For some
// weird dml statement state, item can not be fixed but the
// infomation is available in item_ptr.
if (!rc || gwi.fatalParseError)
{
Item* item_ptr = ordercol->item_ptr;
while (item_ptr->type() == Item::REF_ITEM)
item_ptr = *((Item_ref*)item_ptr)->ref;
rc = buildReturnedColumn(item_ptr, gwi, gwi.fatalParseError, false, queryType);
}
if (!rc)
{
string emsg = IDBErrorInfo::instance()->errorMsg(ERR_NON_SUPPORT_ORDER_BY);
gwi.parseErrorText = emsg;
setError(gwi.thd, ER_CHECK_NOT_IMPLEMENTED, emsg, gwi);
return ER_CHECK_NOT_IMPLEMENTED;
}
}
if (ordercol->direction == ORDER::ORDER_ASC)
rc->asc(true);
else
rc->asc(false);
gwi.orderByCols.emplace_back(rc);
return 0;
}
/*@brief Process ORDER BY part of a query or sub-query */ /*@brief Process ORDER BY part of a query or sub-query */
/*********************************************************** /***********************************************************
* DESCRIPTION: * DESCRIPTION:
@@ -7019,82 +7145,19 @@ int processOrderBy(SELECT_LEX& select_lex, gp_walk_info& gwi, SCSEP& csep,
} }
} }
// re-visit the first of ordercol list if (!unionSel)
ordercol = static_cast<ORDER*>(order_list.first);
for (; ordercol; ordercol = ordercol->next)
{ {
ReturnedColumn* rc = NULL; // re-visit the first of ordercol list
ordercol = static_cast<ORDER*>(order_list.first);
if (ordercol->in_field_list && ordercol->counter_used) for (; ordercol; ordercol = ordercol->next)
{ {
rc = gwi.returnedCols[ordercol->counter - 1]->clone(); if (auto ret = processOrderByCol(ordercol, gwi); ret != 0)
rc->orderPos(ordercol->counter - 1);
// can not be optimized off if used in order by with counter.
// set with self derived table alias if it's derived table
gwi.returnedCols[ordercol->counter - 1]->incRefCount();
}
else
{
Item* ord_item = *(ordercol->item);
// ignore not_used column on order by.
if ((ord_item->type() == Item::CONST_ITEM && ord_item->cmp_type() == INT_RESULT) &&
ord_item->full_name() && !strcmp(ord_item->full_name(), "Not_used"))
{ {
continue; // Errors have already been reported.
} return ret;
else if (ord_item->type() == Item::CONST_ITEM && ord_item->cmp_type() == INT_RESULT)
{
// DRRTUY This section looks useless b/c there is no
// way to put constant INT into an ORDER BY list
rc = gwi.returnedCols[((Item_int*)ord_item)->val_int() - 1]->clone();
}
else if (ord_item->type() == Item::SUBSELECT_ITEM)
{
gwi.fatalParseError = true;
}
else if ((ord_item->type() == Item::FUNC_ITEM) &&
(((Item_func*)ord_item)->functype() == Item_func::COLLATE_FUNC))
{
push_warning(gwi.thd, Sql_condition::WARN_LEVEL_NOTE, WARN_OPTION_IGNORED,
"COLLATE is ignored in ColumnStore");
continue;
}
else
{
rc = buildReturnedColumn(ord_item, gwi, gwi.fatalParseError);
rc = wrapIntoAggregate(rc, gwi, ord_item);
}
// @bug5501 try item_ptr if item can not be fixed. For some
// weird dml statement state, item can not be fixed but the
// infomation is available in item_ptr.
if (!rc || gwi.fatalParseError)
{
Item* item_ptr = ordercol->item_ptr;
while (item_ptr->type() == Item::REF_ITEM)
item_ptr = *(((Item_ref*)item_ptr)->ref);
rc = buildReturnedColumn(item_ptr, gwi, gwi.fatalParseError);
}
if (!rc)
{
string emsg = IDBErrorInfo::instance()->errorMsg(ERR_NON_SUPPORT_ORDER_BY);
gwi.parseErrorText = emsg;
setError(gwi.thd, ER_CHECK_NOT_IMPLEMENTED, emsg, gwi);
return ER_CHECK_NOT_IMPLEMENTED;
} }
} }
if (ordercol->direction == ORDER::ORDER_ASC)
rc->asc(true);
else
rc->asc(false);
gwi.orderByCols.push_back(SRCP(rc));
} }
// make sure columnmap, returnedcols and count(*) arg_list are not empty // make sure columnmap, returnedcols and count(*) arg_list are not empty
@@ -7169,31 +7232,20 @@ int processOrderBy(SELECT_LEX& select_lex, gp_walk_info& gwi, SCSEP& csep,
gwi.returnedCols.push_back(minSc); gwi.returnedCols.push_back(minSc);
} }
// ORDER BY translation part // process UNION ORDER BY part
if (!isUnion && !gwi.hasWindowFunc && gwi.subSelectType == CalpontSelectExecutionPlan::MAIN_SELECT) if (!isUnion && !gwi.hasWindowFunc && gwi.subSelectType == CalpontSelectExecutionPlan::MAIN_SELECT)
{ {
if (unionSel)
{ {
if (unionSel) order_list = select_lex.master_unit()->global_parameters()->order_list;
order_list = select_lex.master_unit()->global_parameters()->order_list;
ordercol = static_cast<ORDER*>(order_list.first); ordercol = static_cast<ORDER*>(order_list.first);
for (; ordercol; ordercol = ordercol->next) for (; ordercol; ordercol = ordercol->next)
{ {
Item* ord_item = *(ordercol->item); if (auto ret = processOrderByCol(ordercol, gwi, IDBQueryType::UNION); ret != 0)
if (ord_item->name.length)
{ {
// for union order by 1 case. For unknown reason, it doesn't show in_field_list // Errors have already been reported.
if (ord_item->type() == Item::CONST_ITEM && ord_item->cmp_type() == INT_RESULT) return ret;
{
}
else if (ord_item->type() == Item::SUBSELECT_ITEM)
{
}
else
{
}
} }
} }
} }
@@ -7348,12 +7400,12 @@ int getSelectPlan(gp_walk_info& gwi, SELECT_LEX& select_lex, SCSEP& csep, bool i
SRCP minSc; // min width projected column. for count(*) use SRCP minSc; // min width projected column. for count(*) use
bool unionSel = (!isUnion && select_lex.master_unit()->is_unit_op()) ? true : false; bool unionSel = !isUnion && select_lex.master_unit()->is_unit_op();
gwi.clauseType = GROUP_BY;
// Group by list. not valid for union main query // Group by list. not valid for union main query
if (!unionSel) if (!unionSel)
{ {
gwi.clauseType = GROUP_BY;
if ((rc = processGroupBy(select_lex, gwi, withRollup))) if ((rc = processGroupBy(select_lex, gwi, withRollup)))
{ {
return rc; return rc;
@@ -7388,6 +7440,7 @@ int getSelectPlan(gp_walk_info& gwi, SELECT_LEX& select_lex, SCSEP& csep, bool i
minSc = gwi.returnedCols[0]; minSc = gwi.returnedCols[0];
else if (!gwi.additionalRetCols.empty()) else if (!gwi.additionalRetCols.empty())
minSc = gwi.additionalRetCols[0]; minSc = gwi.additionalRetCols[0];
minSc->orderPos(0);
} }
// @bug3523, count(*) on subquery always pick column[0]. // @bug3523, count(*) on subquery always pick column[0].
@@ -7404,6 +7457,7 @@ int getSelectPlan(gp_walk_info& gwi, SELECT_LEX& select_lex, SCSEP& csep, bool i
sc1->viewName(sc->viewName()); sc1->viewName(sc->viewName());
sc1->partitions(sc->partitions()); sc1->partitions(sc->partitions());
sc1->colPosition(0); sc1->colPosition(0);
sc1->orderPos(0);
sc1->timeZone(gwi.timeZone); sc1->timeZone(gwi.timeZone);
minSc.reset(sc1); minSc.reset(sc1);
} }

View File

@@ -30,8 +30,7 @@
#include <sstream> #include <sstream>
#include <cerrno> #include <cerrno>
#include <cstring> #include <cstring>
#include <time.h> #include <ctime>
#include <cassert>
#include <vector> #include <vector>
#include <map> #include <map>
#include <limits> #include <limits>
@@ -41,7 +40,6 @@
#include <boost/algorithm/string/case_conv.hpp> #include <boost/algorithm/string/case_conv.hpp>
#include <boost/thread.hpp> #include <boost/thread.hpp>
#include "mcs_basic_types.h"
#include "idb_mysql.h" #include "idb_mysql.h"
#define NEED_CALPONT_INTERFACE #define NEED_CALPONT_INTERFACE
@@ -68,7 +66,6 @@ using namespace messageqcpp;
#include "dmlpackage.h" #include "dmlpackage.h"
#include "calpontdmlpackage.h" #include "calpontdmlpackage.h"
#include "insertdmlpackage.h"
#include "vendordmlstatement.h" #include "vendordmlstatement.h"
#include "calpontdmlfactory.h" #include "calpontdmlfactory.h"
using namespace dmlpackage; using namespace dmlpackage;
@@ -88,28 +85,19 @@ using namespace BRM;
#include "querystats.h" #include "querystats.h"
using namespace querystats; using namespace querystats;
#include "calpontselectexecutionplan.h"
#include "mcsanalyzetableexecutionplan.h" #include "mcsanalyzetableexecutionplan.h"
#include "calpontsystemcatalog.h" #include "calpontsystemcatalog.h"
#include "simplecolumn_int.h" #include "simplecolumn_int.h"
#include "simplecolumn_decimal.h" #include "simplecolumn_decimal.h"
#include "aggregatecolumn.h"
#include "constantcolumn.h" #include "constantcolumn.h"
#include "simplefilter.h" #include "simplefilter.h"
#include "constantfilter.h"
#include "functioncolumn.h"
#include "arithmeticcolumn.h"
#include "arithmeticoperator.h" #include "arithmeticoperator.h"
#include "logicoperator.h"
#include "predicateoperator.h" #include "predicateoperator.h"
#include "rowcolumn.h" #include "rowcolumn.h"
#include "selectfilter.h"
using namespace execplan; using namespace execplan;
#include "joblisttypes.h"
using namespace joblist; using namespace joblist;
#include "cacheutils.h"
#include "errorcodes.h" #include "errorcodes.h"
#include "idberrorinfo.h" #include "idberrorinfo.h"
@@ -118,13 +106,10 @@ using namespace logging;
#include "resourcemanager.h" #include "resourcemanager.h"
#include "funcexp.h"
#include "functor.h" #include "functor.h"
using namespace funcexp; using namespace funcexp;
#include "installdir.h" #include "installdir.h"
#include "columnstoreversion.h"
#include "ha_mcs_sysvars.h"
#include "ha_mcs_datatype.h" #include "ha_mcs_datatype.h"
#include "statistics.h" #include "statistics.h"
@@ -156,6 +141,18 @@ void gp_walk_info::mergeTableStatistics(const TableStatisticsMap& aTableStatisti
} }
} }
std::optional<ColumnStatisticsMap> gp_walk_info::findStatisticsForATable(
SchemaAndTableName& schemaAndTableName)
{
auto tableStatisticsMapIt = tableStatisticsMap.find(schemaAndTableName);
if (tableStatisticsMapIt == tableStatisticsMap.end())
{
return std::nullopt;
}
return {tableStatisticsMapIt->second};
}
} // namespace cal_impl_if } // namespace cal_impl_if
namespace namespace
@@ -916,7 +913,7 @@ uint32_t doUpdateDelete(THD* thd, gp_walk_info& gwi, const std::vector<COND*>& c
Item_field* item; Item_field* item;
List_iterator_fast<Item> field_it(thd->lex->first_select_lex()->item_list); List_iterator_fast<Item> field_it(thd->lex->first_select_lex()->item_list);
List_iterator_fast<Item> value_it(thd->lex->value_list); List_iterator_fast<Item> value_it(thd->lex->value_list);
updateCP->queryType(CalpontSelectExecutionPlan::UPDATE); updateCP->queryType(IDBQueryType::UPDATE);
ci->stats.fQueryType = updateCP->queryType(); ci->stats.fQueryType = updateCP->queryType();
tr1::unordered_set<string> timeStampColumnNames; tr1::unordered_set<string> timeStampColumnNames;
@@ -1200,7 +1197,7 @@ uint32_t doUpdateDelete(THD* thd, gp_walk_info& gwi, const std::vector<COND*>& c
#endif #endif
else else
{ {
updateCP->queryType(CalpontSelectExecutionPlan::DELETE); updateCP->queryType(IDBQueryType::DELETE);
ci->stats.fQueryType = updateCP->queryType(); ci->stats.fQueryType = updateCP->queryType();
} }
@@ -3372,11 +3369,13 @@ void ha_mcs_impl_start_bulk_insert(ha_rows rows, TABLE* table, bool is_cache_ins
} }
if ((thd->lex)->sql_command == SQLCOM_INSERT) if ((thd->lex)->sql_command == SQLCOM_INSERT)
ci->stats.fQueryType = {
CalpontSelectExecutionPlan::queryTypeToString(CalpontSelectExecutionPlan::INSERT); ci->stats.fQueryType = CalpontSelectExecutionPlan::queryTypeToString(IDBQueryType::INSERT);
}
else if ((thd->lex)->sql_command == SQLCOM_LOAD) else if ((thd->lex)->sql_command == SQLCOM_LOAD)
ci->stats.fQueryType = {
CalpontSelectExecutionPlan::queryTypeToString(CalpontSelectExecutionPlan::LOAD_DATA_INFILE); ci->stats.fQueryType = CalpontSelectExecutionPlan::queryTypeToString(IDBQueryType::LOAD_DATA_INFILE);
}
//@Bug 4387. Check BRM status before start statement. //@Bug 4387. Check BRM status before start statement.
boost::scoped_ptr<DBRM> dbrmp(new DBRM()); boost::scoped_ptr<DBRM> dbrmp(new DBRM());

View File

@@ -123,6 +123,7 @@ using ColumnName = std::string;
using ColumnStatisticsMap = using ColumnStatisticsMap =
std::unordered_map<ColumnName, std::pair<execplan::SimpleColumn, std::vector<Histogram_json_hb*>>>; std::unordered_map<ColumnName, std::pair<execplan::SimpleColumn, std::vector<Histogram_json_hb*>>>;
using TableStatisticsMap = using TableStatisticsMap =
std::unordered_map<SchemaAndTableName, ColumnStatisticsMap, SchemaAndTableNameHash>; std::unordered_map<SchemaAndTableName, ColumnStatisticsMap, SchemaAndTableNameHash>;
// This structure is used to store MDB AST -> CSEP translation context. // This structure is used to store MDB AST -> CSEP translation context.
@@ -457,14 +458,21 @@ void parse_item(Item* item, std::vector<Item_field*>& field_vec, bool& hasNonSup
const std::string bestTableName(const Item_field* ifp); const std::string bestTableName(const Item_field* ifp);
// execution plan util functions prototypes // execution plan util functions prototypes
execplan::ReturnedColumn* buildReturnedColumn(Item* item, gp_walk_info& gwi, bool& nonSupport, execplan::ReturnedColumn* buildReturnedColumn(
bool isRefItem = false); Item* item, gp_walk_info& gwi, bool& nonSupport, bool isRefItem = false,
execplan::ReturnedColumn* buildFunctionColumn(Item_func* item, gp_walk_info& gwi, bool& nonSupport, execplan::IDBQueryType queryType = execplan::IDBQueryType::SELECT);
bool selectBetweenIn = false); execplan::ReturnedColumn* buildFunctionColumn(
execplan::ReturnedColumn* buildArithmeticColumn(Item_func* item, gp_walk_info& gwi, bool& nonSupport); Item_func* item, gp_walk_info& gwi, bool& nonSupport, bool selectBetweenIn = false,
execplan::IDBQueryType queryType = execplan::IDBQueryType::SELECT);
execplan::ReturnedColumn* buildArithmeticColumn(
Item_func* item, gp_walk_info& gwi, bool& nonSupport,
execplan::IDBQueryType queryType = execplan::IDBQueryType::SELECT);
execplan::ConstantColumn* buildDecimalColumn(const Item* item, const std::string& str, gp_walk_info& gwi); execplan::ConstantColumn* buildDecimalColumn(const Item* item, const std::string& str, gp_walk_info& gwi);
execplan::SimpleColumn* buildSimpleColumn(Item_field* item, gp_walk_info& gwi); execplan::SimpleColumn* buildSimpleColumn(Item_field* item, gp_walk_info& gwi,
execplan::FunctionColumn* buildCaseFunction(Item_func* item, gp_walk_info& gwi, bool& nonSupport); execplan::IDBQueryType queryType = execplan::IDBQueryType::SELECT);
execplan::FunctionColumn* buildCaseFunction(
Item_func* item, gp_walk_info& gwi, bool& nonSupport,
execplan::IDBQueryType queryType = execplan::IDBQueryType::SELECT);
execplan::ParseTree* buildParseTree(Item* item, gp_walk_info& gwi, bool& nonSupport); execplan::ParseTree* buildParseTree(Item* item, gp_walk_info& gwi, bool& nonSupport);
execplan::ReturnedColumn* buildAggregateColumn(Item* item, gp_walk_info& gwi); execplan::ReturnedColumn* buildAggregateColumn(Item* item, gp_walk_info& gwi);
execplan::ReturnedColumn* buildWindowFunctionColumn(Item* item, gp_walk_info& gwi, bool& nonSupport); execplan::ReturnedColumn* buildWindowFunctionColumn(Item* item, gp_walk_info& gwi, bool& nonSupport);

View File

@@ -633,15 +633,6 @@ select_handler* create_columnstore_select_handler_(THD* thd, SELECT_LEX* sel_lex
return nullptr; return nullptr;
} }
// MCOL-5432 Disable partial pushdown of the UNION operation if the query
// involves an order by or a limit clause.
if (sel_lex && sel_unit &&
(sel_unit->global_parameters()->limit_params.explicit_limit == true ||
sel_unit->global_parameters()->order_list.elements != 0))
{
return nullptr;
}
std::vector<SELECT_LEX*> select_lex_vec; std::vector<SELECT_LEX*> select_lex_vec;
if (sel_unit && !sel_lex) if (sel_unit && !sel_lex)
@@ -912,14 +903,6 @@ select_handler* create_columnstore_unit_handler(THD* thd, SELECT_LEX_UNIT* sel_u
return nullptr; return nullptr;
} }
// MCOL-5432 Disable UNION pushdown if the query involves an order by
// or a limit clause.
if (sel_unit->global_parameters()->limit_params.explicit_limit == true ||
sel_unit->global_parameters()->order_list.elements != 0)
{
return nullptr;
}
return create_columnstore_select_handler_(thd, 0, sel_unit); return create_columnstore_select_handler_(thd, 0, sel_unit);
} }

View File

@@ -8,7 +8,6 @@
#include "errorids.h" #include "errorids.h"
#include "idberrorinfo.h" #include "idberrorinfo.h"
#include "exceptclasses.h"
using namespace logging; using namespace logging;
#include "pseudocolumn.h" #include "pseudocolumn.h"

View File

@@ -102,18 +102,18 @@ JSON_ARRAYAGG(b LIMIT 2)
["Hello","World","Hello","World"] ["Hello","World","Hello","World"]
["This","Will","Work","!","This","Will","Work","!"] ["This","Will","Work","!","This","Will","Work","!"]
[null,null] [null,null]
SELECT JSON_ARRAYAGG(DISTINCT a) FROM t1; SELECT JSON_ARRAYAGG(DISTINCT a ORDER BY a ASC) FROM t1;
JSON_ARRAYAGG(DISTINCT a) JSON_ARRAYAGG(DISTINCT a ORDER BY a ASC)
[3,2,1] [1,2,3]
SELECT JSON_ARRAYAGG(DISTINCT b) FROM t1; SELECT JSON_ARRAYAGG(DISTINCT b ORDER BY b ASC) FROM t1;
JSON_ARRAYAGG(DISTINCT b) JSON_ARRAYAGG(DISTINCT b ORDER BY b ASC)
["Will","World","Work",null,"!","This","Hello"] [null,"!","Hello","This","Will","Work","World"]
SELECT JSON_ARRAYAGG(DISTINCT a LIMIT 2) FROM t1; SELECT JSON_ARRAYAGG(DISTINCT a ORDER BY a ASC LIMIT 2) FROM t1;
JSON_ARRAYAGG(DISTINCT a LIMIT 2) JSON_ARRAYAGG(DISTINCT a ORDER BY a ASC LIMIT 2)
[3,2,1] [1,2,3]
SELECT JSON_ARRAYAGG(DISTINCT b LIMIT 2) FROM t1; SELECT JSON_ARRAYAGG(DISTINCT b ORDER BY b ASC LIMIT 2) FROM t1;
JSON_ARRAYAGG(DISTINCT b LIMIT 2) JSON_ARRAYAGG(DISTINCT b ORDER BY b ASC LIMIT 2)
["Will","World","Work",null,"!","This","Hello"] [null,"!","Hello","This","Will","Work","World"]
# #
# JSON aggregation # JSON aggregation
# #
@@ -189,16 +189,16 @@ INSERT INTO t1 VALUES (1,1), (2,2), (3,3);
SELECT JSON_ARRAYAGG(a) FROM t1; SELECT JSON_ARRAYAGG(a) FROM t1;
JSON_ARRAYAGG(a) JSON_ARRAYAGG(a)
[1,2,3,1,2,3] [1,2,3,1,2,3]
SELECT JSON_ARRAYAGG(DISTINCT a) FROM t1; SELECT JSON_ARRAYAGG(DISTINCT a ORDER BY a ASC) FROM t1;
JSON_ARRAYAGG(DISTINCT a) JSON_ARRAYAGG(DISTINCT a ORDER BY a ASC)
[3,2,1] [1,2,3]
INSERT INTO t1 VALUES (NULL,NULL), (NULL,NULL); INSERT INTO t1 VALUES (NULL,NULL), (NULL,NULL);
SELECT JSON_ARRAYAGG(a) FROM t1; SELECT JSON_ARRAYAGG(a) FROM t1;
JSON_ARRAYAGG(a) JSON_ARRAYAGG(a)
[1,2,3,1,2,3,null,null] [1,2,3,1,2,3,null,null]
SELECT JSON_ARRAYAGG(DISTINCT a) FROM t1; SELECT JSON_ARRAYAGG(DISTINCT a ORDER BY a ASC) FROM t1;
JSON_ARRAYAGG(DISTINCT a) JSON_ARRAYAGG(DISTINCT a ORDER BY a ASC)
[null,2,3,1] [null,1,2,3]
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE t1(a VARCHAR(10), b INT)ENGINE=COLUMNSTORE; CREATE TABLE t1(a VARCHAR(10), b INT)ENGINE=COLUMNSTORE;
INSERT INTO t1 VALUES (1,1), (2,2), (3,3); INSERT INTO t1 VALUES (1,1), (2,2), (3,3);
@@ -206,16 +206,16 @@ INSERT INTO t1 VALUES (1,1), (2,2), (3,3);
SELECT JSON_ARRAYAGG(a) FROM t1; SELECT JSON_ARRAYAGG(a) FROM t1;
JSON_ARRAYAGG(a) JSON_ARRAYAGG(a)
[1,2,3,1,2,3] [1,2,3,1,2,3]
SELECT JSON_ARRAYAGG(DISTINCT a) FROM t1; SELECT JSON_ARRAYAGG(DISTINCT a ORDER BY a ASC) FROM t1;
JSON_ARRAYAGG(DISTINCT a) JSON_ARRAYAGG(DISTINCT a ORDER BY a ASC)
[3,2,1] [1,2,3]
INSERT INTO t1 VALUES (NULL,NULL), (NULL,NULL); INSERT INTO t1 VALUES (NULL,NULL), (NULL,NULL);
SELECT JSON_ARRAYAGG(a) FROM t1; SELECT JSON_ARRAYAGG(a) FROM t1;
JSON_ARRAYAGG(a) JSON_ARRAYAGG(a)
[1,2,3,1,2,3,null,null] [1,2,3,1,2,3,null,null]
SELECT JSON_ARRAYAGG(DISTINCT a) FROM t1; SELECT JSON_ARRAYAGG(DISTINCT a ORDER BY a ASC) FROM t1;
JSON_ARRAYAGG(DISTINCT a) JSON_ARRAYAGG(DISTINCT a ORDER BY a ASC)
[null,2,3,1] [null,1,2,3]
DROP TABLE t1; DROP TABLE t1;
# #
# #

View File

@@ -12,7 +12,7 @@ CREATE TABLE cs3 (d1 DECIMAL(19), d2 DECIMAL(19,10), d3 DECIMAL(19,19), d4 DECIM
CREATE TABLE cs4 (d1 DECIMAL(19) UNSIGNED, d2 DECIMAL(19,10) UNSIGNED, d3 DECIMAL(19,19) UNSIGNED, d4 DECIMAL(19) UNSIGNED,d5 DECIMAL(19),i1 INT) ENGINE=columnstore; CREATE TABLE cs4 (d1 DECIMAL(19) UNSIGNED, d2 DECIMAL(19,10) UNSIGNED, d3 DECIMAL(19,19) UNSIGNED, d4 DECIMAL(19) UNSIGNED,d5 DECIMAL(19),i1 INT) ENGINE=columnstore;
CREATE TABLE cs5(d DECIMAL(25,19)) ENGINE=columnstore; CREATE TABLE cs5(d DECIMAL(25,19)) ENGINE=columnstore;
INSERT INTO cs1 VALUES INSERT INTO cs1 VALUES
(1234,5678,-0.12345678901234567890123456789018,2,1,1), (1234,5678,-0.12345678901234567890123456789018,2,1,1),
(1234,-5678,0.1234567890123456789012345,2,1,1), (1234,-5678,0.1234567890123456789012345,2,1,1),
(12345678901234567890123,1234567890123456789012.9012345678,0.123456789012345678901234567890,2,1,1), (12345678901234567890123,1234567890123456789012.9012345678,0.123456789012345678901234567890,2,1,1),
(NULL,NULL,NULL,2,1,1), (NULL,NULL,NULL,2,1,1),
@@ -26,7 +26,7 @@ INSERT INTO cs1 VALUES
(1234,5678,-0.12345678901234567890123456789018,11111111111111111111111111111111,1,1), (1234,5678,-0.12345678901234567890123456789018,11111111111111111111111111111111,1,1),
(1234,5678,-0.12345678901234567890123456789018,11111111111111111111111111111112,1,1); (1234,5678,-0.12345678901234567890123456789018,11111111111111111111111111111112,1,1);
INSERT INTO cs2 VALUES INSERT INTO cs2 VALUES
(1234,5678,0.12345678901234567890123456789018,2,1,1), (1234,5678,0.12345678901234567890123456789018,2,1,1),
(1234,5678,0.1234567890123456789012345,2,1,1), (1234,5678,0.1234567890123456789012345,2,1,1),
(12345678901234567890123,1234567890123456789012.9012345678,0.123456789012345678901234567890,2,1,1), (12345678901234567890123,1234567890123456789012.9012345678,0.123456789012345678901234567890,2,1,1),
(NULL,NULL,NULL,2,1,1), (NULL,NULL,NULL,2,1,1),
@@ -40,7 +40,7 @@ INSERT INTO cs2 VALUES
(1234,5678,0.12345678901234567890123456789018,11111111111111111111111111111111,1,1), (1234,5678,0.12345678901234567890123456789018,11111111111111111111111111111111,1,1),
(1234,5678,0.12345678901234567890123456789018,11111111111111111111111111111112,1,1); (1234,5678,0.12345678901234567890123456789018,11111111111111111111111111111112,1,1);
INSERT INTO cs3 VALUES INSERT INTO cs3 VALUES
(1234,5678,-0.12345678901234,2,1,1), (1234,5678,-0.12345678901234,2,1,1),
(1234,-5678,0.12345678901234,2,1,1), (1234,-5678,0.12345678901234,2,1,1),
(12345678901,12345678.90128,0.1234567890123,2,1,1), (12345678901,12345678.90128,0.1234567890123,2,1,1),
(NULL,NULL,NULL,2,1,1), (NULL,NULL,NULL,2,1,1),
@@ -51,7 +51,7 @@ INSERT INTO cs3 VALUES
(NULL,NULL,NULL,3,2,2), (NULL,NULL,NULL,3,2,2),
(0,0,0,3,2,2); (0,0,0,3,2,2);
INSERT INTO cs4 VALUES INSERT INTO cs4 VALUES
(1234,5678,0.12345678901234,2,1,1), (1234,5678,0.12345678901234,2,1,1),
(1234,5678,0.12345678901234,2,1,1), (1234,5678,0.12345678901234,2,1,1),
(12345678901,12345678.90128,0.1234567890123,2,1,1), (12345678901,12345678.90128,0.1234567890123,2,1,1),
(NULL,NULL,NULL,2,1,1), (NULL,NULL,NULL,2,1,1),
@@ -188,9 +188,9 @@ min(38)_test2 0 0.0000000000 0.00000000000000000000000000000000000000
SELECT "max(38)_test2", max(d1),max(d2),max(d3) FROM cs2; SELECT "max(38)_test2", max(d1),max(d2),max(d3) FROM cs2;
max(38)_test2 max(d1) max(d2) max(d3) max(38)_test2 max(d1) max(d2) max(d3)
max(38)_test2 12345678901234567890901 1234567890123478901234.9012345678 0.12345678901234567890123456789080000000 max(38)_test2 12345678901234567890901 1234567890123478901234.9012345678 0.12345678901234567890123456789080000000
SELECT "group_concat(38)_test2", group_concat(d1),group_concat(d2),group_concat(d3) FROM cs2; SELECT "group_concat(38)_test2", group_concat(d1 ORDER BY d1),group_concat(d2 ORDER BY d2),group_concat(d3 ORDER BY d3) FROM cs2;
group_concat(38)_test2 group_concat(d1) group_concat(d2) group_concat(d3) group_concat(38)_test2 group_concat(d1 ORDER BY d1) group_concat(d2 ORDER BY d2) group_concat(d3 ORDER BY d3)
group_concat(38)_test2 1234,1234,12345678901234567890123,0,1234,123456789123456789123,12345678901234567890901,0,1234,1234,1234 5678.0000000000,5678.0000000000,1234567890123456789012.9012345678,0.0000000000,5678.0000000000,5678.0000000000,1234567890123478901234.9012345678,0.0000000000,5678.0000000000,5678.0000000000,5678.0000000000 0.12345678901234567890123456789018000000,0.12345678901234567890123450000000000000,0.12345678901234567890123456789000000000,0.00000000000000000000000000000000000000,0.12345678901234567834567890123456780000,0.12345678901234567345678901234567800000,0.12345678901234567890123456789080000000,0.00000000000000000000000000000000000000,0.12345678901234567890123456789018000000,0.12345678901234567890123456789018000000,0.12345678901234567890123456789018000000 group_concat(38)_test2 0,0,1234,1234,1234,1234,1234,1234,123456789123456789123,12345678901234567890123,12345678901234567890901 0.0000000000,0.0000000000,5678.0000000000,5678.0000000000,5678.0000000000,5678.0000000000,5678.0000000000,5678.0000000000,5678.0000000000,1234567890123456789012.9012345678,1234567890123478901234.9012345678 0.00000000000000000000000000000000000000,0.00000000000000000000000000000000000000,0.12345678901234567345678901234567800000,0.12345678901234567834567890123456780000,0.12345678901234567890123450000000000000,0.12345678901234567890123456789000000000,0.12345678901234567890123456789018000000,0.12345678901234567890123456789018000000,0.12345678901234567890123456789018000000,0.12345678901234567890123456789018000000,0.12345678901234567890123456789080000000
SELECT "count(distinct 38)_test2", count(distinct d1),count(distinct d2),count(distinct d3) FROM cs2; SELECT "count(distinct 38)_test2", count(distinct d1),count(distinct d2),count(distinct d3) FROM cs2;
count(distinct 38)_test2 count(distinct d1) count(distinct d2) count(distinct d3) count(distinct 38)_test2 count(distinct d1) count(distinct d2) count(distinct d3)
count(distinct 38)_test2 5 4 7 count(distinct 38)_test2 5 4 7
@@ -209,9 +209,9 @@ min(38)_test2 0 0.0000000000 0.00000000000000000000000000000000000000
SELECT "max(38)_test2", max(d1),max(d2),max(d3) FROM (SELECT d1,d2,d3 FROM cs2)a1; SELECT "max(38)_test2", max(d1),max(d2),max(d3) FROM (SELECT d1,d2,d3 FROM cs2)a1;
max(38)_test2 max(d1) max(d2) max(d3) max(38)_test2 max(d1) max(d2) max(d3)
max(38)_test2 12345678901234567890901 1234567890123478901234.9012345678 0.12345678901234567890123456789080000000 max(38)_test2 12345678901234567890901 1234567890123478901234.9012345678 0.12345678901234567890123456789080000000
SELECT "group_concat(38)_test2", group_concat(d1),group_concat(d2),group_concat(d3) FROM (SELECT d1,d2,d3 FROM cs2)a1; SELECT "group_concat(38)_test2", group_concat(d1 ORDER BY d1),group_concat(d2 ORDER BY d2),group_concat(d3 ORDER BY d3) FROM (SELECT d1,d2,d3 FROM cs2)a1;
group_concat(38)_test2 group_concat(d1) group_concat(d2) group_concat(d3) group_concat(38)_test2 group_concat(d1 ORDER BY d1) group_concat(d2 ORDER BY d2) group_concat(d3 ORDER BY d3)
group_concat(38)_test2 1234,1234,12345678901234567890123,0,1234,123456789123456789123,12345678901234567890901,0,1234,1234,1234 5678.0000000000,5678.0000000000,1234567890123456789012.9012345678,0.0000000000,5678.0000000000,5678.0000000000,1234567890123478901234.9012345678,0.0000000000,5678.0000000000,5678.0000000000,5678.0000000000 0.12345678901234567890123456789018000000,0.12345678901234567890123450000000000000,0.12345678901234567890123456789000000000,0.00000000000000000000000000000000000000,0.12345678901234567834567890123456780000,0.12345678901234567345678901234567800000,0.12345678901234567890123456789080000000,0.00000000000000000000000000000000000000,0.12345678901234567890123456789018000000,0.12345678901234567890123456789018000000,0.12345678901234567890123456789018000000 group_concat(38)_test2 0,0,1234,1234,1234,1234,1234,1234,123456789123456789123,12345678901234567890123,12345678901234567890901 0.0000000000,0.0000000000,5678.0000000000,5678.0000000000,5678.0000000000,5678.0000000000,5678.0000000000,5678.0000000000,5678.0000000000,1234567890123456789012.9012345678,1234567890123478901234.9012345678 0.00000000000000000000000000000000000000,0.00000000000000000000000000000000000000,0.12345678901234567345678901234567800000,0.12345678901234567834567890123456780000,0.12345678901234567890123450000000000000,0.12345678901234567890123456789000000000,0.12345678901234567890123456789018000000,0.12345678901234567890123456789018000000,0.12345678901234567890123456789018000000,0.12345678901234567890123456789018000000,0.12345678901234567890123456789080000000
SELECT "count(distinct 38)_test2", count(distinct d1),count(distinct d2),count(distinct d3) FROM (SELECT d1,d2,d3 FROM cs2)a1; SELECT "count(distinct 38)_test2", count(distinct d1),count(distinct d2),count(distinct d3) FROM (SELECT d1,d2,d3 FROM cs2)a1;
count(distinct 38)_test2 count(distinct d1) count(distinct d2) count(distinct d3) count(distinct 38)_test2 count(distinct d1) count(distinct d2) count(distinct d3)
count(distinct 38)_test2 5 4 7 count(distinct 38)_test2 5 4 7
@@ -277,10 +277,10 @@ SELECT "max(38)_GB(8)_test2" ,i1,max(d1),max(d2),max(d3) FROM cs2 GROUP BY i1 OR
max(38)_GB(8)_test2 i1 max(d1) max(d2) max(d3) max(38)_GB(8)_test2 i1 max(d1) max(d2) max(d3)
max(38)_GB(8)_test2 1 12345678901234567890123 1234567890123456789012.9012345678 0.12345678901234567890123456789018000000 max(38)_GB(8)_test2 1 12345678901234567890123 1234567890123456789012.9012345678 0.12345678901234567890123456789018000000
max(38)_GB(8)_test2 2 12345678901234567890901 1234567890123478901234.9012345678 0.12345678901234567890123456789080000000 max(38)_GB(8)_test2 2 12345678901234567890901 1234567890123478901234.9012345678 0.12345678901234567890123456789080000000
SELECT "group_concat(38)_GB(8)_test2", group_concat(d1 ORDER BY d1),group_concat(d2 ORDER BY d1),group_concat(d3 ORDER BY d1) FROM cs2 GROUP BY i1 ORDER BY 2,3; SELECT "group_concat(38)_GB(8)_test2", group_concat(d1 ORDER BY d1),group_concat(d2 ORDER BY d2),group_concat(d3 ORDER BY d3) FROM cs2 GROUP BY i1 ORDER BY 2,3;
group_concat(38)_GB(8)_test2 group_concat(d1 ORDER BY d1) group_concat(d2 ORDER BY d1) group_concat(d3 ORDER BY d1) group_concat(38)_GB(8)_test2 group_concat(d1 ORDER BY d1) group_concat(d2 ORDER BY d2) group_concat(d3 ORDER BY d3)
group_concat(38)_GB(8)_test2 0,1234,1234,1234,1234,1234,12345678901234567890123 0.0000000000,5678.0000000000,5678.0000000000,5678.0000000000,5678.0000000000,5678.0000000000,1234567890123456789012.9012345678 0.00000000000000000000000000000000000000,0.12345678901234567890123450000000000000,0.12345678901234567890123456789018000000,0.12345678901234567890123456789018000000,0.12345678901234567890123456789018000000,0.12345678901234567890123456789018000000,0.12345678901234567890123456789000000000 group_concat(38)_GB(8)_test2 0,1234,1234,1234,1234,1234,12345678901234567890123 0.0000000000,5678.0000000000,5678.0000000000,5678.0000000000,5678.0000000000,5678.0000000000,1234567890123456789012.9012345678 0.00000000000000000000000000000000000000,0.12345678901234567890123450000000000000,0.12345678901234567890123456789000000000,0.12345678901234567890123456789018000000,0.12345678901234567890123456789018000000,0.12345678901234567890123456789018000000,0.12345678901234567890123456789018000000
group_concat(38)_GB(8)_test2 0,1234,123456789123456789123,12345678901234567890901 0.0000000000,5678.0000000000,5678.0000000000,1234567890123478901234.9012345678 0.00000000000000000000000000000000000000,0.12345678901234567834567890123456780000,0.12345678901234567345678901234567800000,0.12345678901234567890123456789080000000 group_concat(38)_GB(8)_test2 0,1234,123456789123456789123,12345678901234567890901 0.0000000000,5678.0000000000,5678.0000000000,1234567890123478901234.9012345678 0.00000000000000000000000000000000000000,0.12345678901234567345678901234567800000,0.12345678901234567834567890123456780000,0.12345678901234567890123456789080000000
SELECT "count(distinct 38)_GB(8)_test2", count(distinct d1),count(distinct d2),count(distinct d3) FROM cs2 GROUP BY i1 ORDER BY 2,3; SELECT "count(distinct 38)_GB(8)_test2", count(distinct d1),count(distinct d2),count(distinct d3) FROM cs2 GROUP BY i1 ORDER BY 2,3;
count(distinct 38)_GB(8)_test2 count(distinct d1) count(distinct d2) count(distinct d3) count(distinct 38)_GB(8)_test2 count(distinct d1) count(distinct d2) count(distinct d3)
count(distinct 38)_GB(8)_test2 3 3 4 count(distinct 38)_GB(8)_test2 3 3 4
@@ -300,9 +300,9 @@ min(19)_test3 -1234567899 -5678.0000000000 -0.1234567890123400000
SELECT "max(19)_test3", max(d1),max(d2),max(d3) FROM cs3; SELECT "max(19)_test3", max(d1),max(d2),max(d3) FROM cs3;
max(19)_test3 max(d1) max(d2) max(d3) max(19)_test3 max(d1) max(d2) max(d3)
max(19)_test3 12345678901 12345678.9012800000 0.1234567890123400000 max(19)_test3 12345678901 12345678.9012800000 0.1234567890123400000
SELECT "group_concat(38)_test3", group_concat(d1 ORDER BY d1),group_concat(d2 ORDER BY d1),group_concat(d3 ORDER BY d1) FROM cs3; SELECT "group_concat(38)_test3", group_concat(d1 ORDER BY d1),group_concat(d2 ORDER BY d2),group_concat(d3 ORDER BY d3) FROM cs3;
group_concat(38)_test3 group_concat(d1 ORDER BY d1) group_concat(d2 ORDER BY d1) group_concat(d3 ORDER BY d1) group_concat(38)_test3 group_concat(d1 ORDER BY d1) group_concat(d2 ORDER BY d2) group_concat(d3 ORDER BY d3)
group_concat(38)_test3 -1234567899,0,0,1234,1234,1234,12345678901,12345678901 -5678.0000000000,0.0000000000,0.0000000000,5678.0000000000,-5678.0000000000,5678.0000000000,12345678.9012000000,12345678.9012800000 0.1234567890123000000,0.0000000000000000000,0.0000000000000000000,0.1234567890123400000,0.1234567890123400000,-0.1234567890123400000,0.1234567890123000000,0.1234567890123000000 group_concat(38)_test3 -1234567899,0,0,1234,1234,1234,12345678901,12345678901 -5678.0000000000,-5678.0000000000,0.0000000000,0.0000000000,5678.0000000000,5678.0000000000,12345678.9012000000,12345678.9012800000 -0.1234567890123400000,0.0000000000000000000,0.0000000000000000000,0.1234567890123000000,0.1234567890123000000,0.1234567890123000000,0.1234567890123400000,0.1234567890123400000
SELECT "count(distinct 38)_test3", count(distinct d1),count(distinct d2),count(distinct d3) FROM cs3; SELECT "count(distinct 38)_test3", count(distinct d1),count(distinct d2),count(distinct d3) FROM cs3;
count(distinct 38)_test3 count(distinct d1) count(distinct d2) count(distinct d3) count(distinct 38)_test3 count(distinct d1) count(distinct d2) count(distinct d3)
count(distinct 38)_test3 4 5 4 count(distinct 38)_test3 4 5 4
@@ -318,7 +318,7 @@ count(19)_test3 8 8 8
SELECT "min(19)_test3", min(d1),min(d2),min(d3) FROM (SELECT d1,d2,d3 FROM cs3)a1; SELECT "min(19)_test3", min(d1),min(d2),min(d3) FROM (SELECT d1,d2,d3 FROM cs3)a1;
min(19)_test3 min(d1) min(d2) min(d3) min(19)_test3 min(d1) min(d2) min(d3)
min(19)_test3 -1234567899 -5678.0000000000 -0.1234567890123400000 min(19)_test3 -1234567899 -5678.0000000000 -0.1234567890123400000
SELECT "max(19)_test3", max(d1),max(d2),max(d3) FROM (SELECT d1,d2,d3 FROM cs3)a1; SELECT "max(19)_test3", max(d1),max(d2),max(d3) FROM cs3;
max(19)_test3 max(d1) max(d2) max(d3) max(19)_test3 max(d1) max(d2) max(d3)
max(19)_test3 12345678901 12345678.9012800000 0.1234567890123400000 max(19)_test3 12345678901 12345678.9012800000 0.1234567890123400000
SELECT "group_concat(38)_test3", group_concat(d1 ORDER BY d1),group_concat(d2 ORDER BY d2),group_concat(d3 ORDER BY d3) FROM (SELECT d1,d2,d3 FROM cs3)a1; SELECT "group_concat(38)_test3", group_concat(d1 ORDER BY d1),group_concat(d2 ORDER BY d2),group_concat(d3 ORDER BY d3) FROM (SELECT d1,d2,d3 FROM cs3)a1;

View File

@@ -112,7 +112,7 @@ a
1 1
2 2
3 3
select * from cs1 join cs2 on cs1.a=cs2.b and cs1.a in (select b from cs2); select * from cs1 join cs2 on cs1.a=cs2.b and cs1.a in (select b from cs2) order by cs1.a, cs2.b, cs2.c;
a b c a b c
1 1 100 1 1 100
1 1 101 1 1 101
@@ -120,11 +120,11 @@ a b c
3 3 300 3 3 300
3 3 301 3 3 301
3 3 302 3 3 302
select * from cs1 join cs2 on cs1.a=cs2.b and cs1.a in (select b from cs2) and cs1.a=1; select * from cs1 join cs2 on cs1.a=cs2.b and cs1.a in (select b from cs2) and cs1.a=1 order by cs1.a, cs2.b, cs2.c;
a b c a b c
1 1 100 1 1 100
1 1 101 1 1 101
select * from cs1 join cs2 on cs1.a=cs2.b and cs1.a in (select t1.b from cs2 t1 join cs2 t2 on t1.b=t2.b and t1.b=1); select * from cs1 join cs2 on cs1.a=cs2.b and cs1.a in (select t1.b from cs2 t1 join cs2 t2 on t1.b=t2.b and t1.b=1) order by cs1.a, cs2.b, cs2.c;
a b c a b c
1 1 100 1 1 100
1 1 101 1 1 101
@@ -348,21 +348,21 @@ select * from cs1 where (a,d) in (select t1.b,t1.c from cs2 t1 join cs2 t2 on t1
a d a d
1 100 1 100
3 302 3 302
select * from cs1 join cs2 on cs1.a=cs2.b and (cs1.a,cs1.d) in (select b,c from cs2); select * from cs1 join cs2 on cs1.a=cs2.b and (cs1.a,cs1.d) in (select b,c from cs2) order by cs1.a, cs1.d, cs2.b, cs2.c;
a d b c a d b c
1 100 1 100 1 100 1 100
1 100 1 101 1 100 1 101
3 302 3 300 3 302 3 300
3 302 3 301 3 302 3 301
3 302 3 302 3 302 3 302
select * from cs1 join cs2 on cs1.a=cs2.b and (cs1.a,cs1.d) in (select b,c from cs2) and cs1.a=1; select * from cs1 join cs2 on cs1.a=cs2.b and (cs1.a,cs1.d) in (select b,c from cs2) and cs1.a=1 order by cs1.a, cs1.d, cs2.b, cs2.c;
a d b c a d b c
1 100 1 100 1 100 1 100
1 100 1 101 1 100 1 101
select * from cs1 join cs2 on cs1.a=cs2.b and (cs1.a,cs1.d) in (select t1.b,t1.c from cs2 t1 join cs2 t2 on t1.b=t2.b and t1.b=1); select * from cs1 join cs2 on cs1.a=cs2.b and (cs1.a,cs1.d) in (select t1.b,t1.c from cs2 t1 join cs2 t2 on t1.b=t2.b and t1.b=1) order by cs1.a, cs1.d, cs2.b, cs2.c;
a d b c a d b c
1 100 1 101
1 100 1 100 1 100 1 100
1 100 1 101
drop table cs1; drop table cs1;
create table cs1 (a int); create table cs1 (a int);
insert into cs1 values (1), (2), (3), (4), (null); insert into cs1 values (1), (2), (3), (4), (null);

View File

@@ -17,13 +17,13 @@ UPDATE t1 SET a = NULL, b =1;
ERROR HY000: Internal error: CAL0002: Update Failed: MCS-4015: Column 'a' cannot be null. ERROR HY000: Internal error: CAL0002: Update Failed: MCS-4015: Column 'a' cannot be null.
UPDATE t1 SET a = ; UPDATE t1 SET a = ;
ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1 ERROR 42000: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1
SELECT * FROm t1 ORDER BY a; SELECT * FROm t1 ORDER BY a, b;
a b a b
1 3
1 1 1 1
1 2 1 2
1 3
3 1 3 1
3 2 3 2
SELECT * FROm t2 ORDER BY a; SELECT * FROm t2 ORDER BY a, b;
a b a b
DROP DATABASE IF EXISTS mcs31_db1; DROP DATABASE IF EXISTS mcs31_db1;

View File

@@ -3,6 +3,7 @@ CREATE DATABASE mcs34_db1;
USE mcs34_db1; USE mcs34_db1;
CREATE TABLE t1 CREATE TABLE t1
( (
id INT,
t1_tinyint TINYINT DEFAULT 0, t1_tinyint TINYINT DEFAULT 0,
t1_int INT DEFAULT NULL, t1_int INT DEFAULT NULL,
t1_bigint BIGINT, t1_bigint BIGINT,
@@ -14,539 +15,494 @@ t1_char CHAR(1),
t1_varchar VARCHAR(255) DEFAULT 'hello world!', t1_varchar VARCHAR(255) DEFAULT 'hello world!',
t1_datetime DATETIME t1_datetime DATETIME
)ENGINE=Columnstore; )ENGINE=Columnstore;
INSERT INTO t1 (t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime) INSERT INTO t1 (id, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime)
VALUES(203685477580676, -3.797693231E+108, -7.402866E+18, repeat('b',100), repeat('b',100), 'b', '2387-11-08 11:22:30.123'); VALUES(1, 203685477580676, -3.797693231E+108, -7.402866E+18, repeat('b',100), repeat('b',100), 'b', '2387-11-08 11:22:30');
INSERT INTO t1 (t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime) INSERT INTO t1 (id, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime)
VALUES(303685477580676, -4.797693231, -8.402866, repeat('b',101), repeat('b',101), 'b', '3387-11-08 11:22:30.123'); VALUES(2, 303685477580676, -4.797693231, -8.402866, repeat('b',101), repeat('b',101), 'b', '3387-11-08 11:22:30');
INSERT INTO t1 (t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime) INSERT INTO t1 (id, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime)
VALUES(403685477580676, +54.797693231, +8.402866, repeat('c',101), repeat('c',101), 'c', '3387-11-08 11:22:30.123'); VALUES(3, 403685477580676, +54.797693231, +8.402866, repeat('c',101), repeat('c',101), 'c', '3387-11-08 11:22:30');
INSERT INTO t1 (t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime) INSERT INTO t1 (id, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime)
VALUES(403685477580676, +54.797693231, +8.402866, repeat('c',101), repeat('c',101), 'c', '3387-11-08 11:22:30.123'); VALUES(4, 403685477580677, +54.797693232, +8.402867, repeat('c',101), repeat('c',101), 'c', '3387-11-08 11:22:31');
INSERT INTO t1 (t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime) INSERT INTO t1 (id, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime)
VALUES(403685477580676, +54.797693231, +8.402866, repeat('c',101), repeat('c',101), 'c', '3387-11-08 11:22:30.123'); VALUES(5, 403685477580678, +54.797693233, +8.402868, repeat('c',101), repeat('c',101), 'c', '3387-11-08 11:22:32');
INSERT INTO t1 (t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime) INSERT INTO t1 (id, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime)
VALUES(403685477580676, +54.797693231, +8.402866, repeat('c',101), repeat('c',101), 'c', '3387-11-08 11:22:30.123'); VALUES(6, 403685477580679, +54.797693234, +8.402869, repeat('c',101), repeat('c',101), 'c', '3387-11-08 11:22:33');
INSERT INTO t1 (t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime) INSERT INTO t1 (id, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime)
VALUES(403685477580676, +54.797693231, +8.402866, repeat('c',101), repeat('c',101), 'c', '3387-11-08 11:22:30.123'); VALUES(7, 403685477580680, +54.797693235, +8.402870, repeat('c',101), repeat('c',101), 'c', '3387-11-08 11:22:34');
INSERT INTO t1 (t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime) INSERT INTO t1 (id, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime)
VALUES(403685477580676, +54.797693231, +8.402866, repeat('c',101), repeat('c',101), 'c', '3387-11-08 11:22:30.123'); VALUES(8, 503685477580676, +64.797693231, +9.402866, repeat('2',102), repeat('d',102), 'd', '4387-11-08 11:22:30');
INSERT INTO t1 (t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime) INSERT INTO t1 VALUES(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
VALUES(403685477580676, +54.797693231, +8.402866, repeat('2',102), repeat('d',102), 'd', '4387-11-08 11:22:30.123'); SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 1,2,3,4,5,8,9,10, id;
INSERT INTO t1 VALUES(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
SELECT * FROM t1;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
SELECT * FROM t1 ORDER BY t1_tinyint;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
SELECT * FROM t1 ORDER BY t1_tinyint ASC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
SELECT * FROM t1 ORDER BY t1_tinyint DESC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
SELECT * FROM t1 ORDER BY t1_int;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
SELECT * FROM t1 ORDER BY t1_int ASC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
SELECT * FROM t1 ORDER BY t1_int DESC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
SELECT * FROM t1 ORDER BY t1_bigint;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30 0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30 0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30 0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 1, id;
SELECT * FROM t1 ORDER BY t1_bigint ASC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30 0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30 0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30 0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 1 ASC, id ASC;
SELECT * FROM t1 ORDER BY t1_bigint DESC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
SELECT * FROM t1 ORDER BY t1_double;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30 0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30 0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 1 DESC, id ASC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30 0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
SELECT * FROM t1 ORDER BY t1_double ASC; NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 2, id;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30 0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30 0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30 0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 2 ASC, id ASC;
SELECT * FROM t1 ORDER BY t1_double DESC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
SELECT * FROM t1 ORDER BY t1_float;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30 0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30 0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30 0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 2 DESC, id ASC;
SELECT * FROM t1 ORDER BY t1_float ASC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30 0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30 0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30 0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 3, id;
SELECT * FROM t1 ORDER BY t1_float DESC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
SELECT * FROM t1 ORDER BY t1_blob;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
SELECT * FROM t1 ORDER BY t1_blob ASC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
SELECT * FROM t1 ORDER BY t1_blob DESC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
SELECT * FROM t1 ORDER BY t1_text;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30 0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30 0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30 SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 3 ASC, id ASC;
SELECT * FROM t1 ORDER BY t1_text ASC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30 0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30 0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30 SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 3 DESC, id ASC;
SELECT * FROM t1 ORDER BY t1_text DESC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30 0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30 0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30 0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
SELECT * FROM t1 ORDER BY t1_char; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 4, id;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30 0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30 0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30 SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 4 ASC, id ASC;
SELECT * FROM t1 ORDER BY t1_char ASC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30 0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30 0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30 SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 4 DESC, id ASC;
SELECT * FROM t1 ORDER BY t1_char DESC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30 0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30 0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30 0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
SELECT * FROM t1 ORDER BY t1_varchar; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 5, id;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
SELECT * FROM t1 ORDER BY t1_varchar ASC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
SELECT * FROM t1 ORDER BY t1_varchar DESC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
SELECT * FROM t1 ORDER BY t1_datetime;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
SELECT * FROM t1 ORDER BY t1_datetime ASC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
SELECT * FROM t1 ORDER BY t1_datetime DESC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
SELECT * FROM t1 ORDER BY t1_tinyint, t1_int, t1_bigint;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30 0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30 0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30 0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 5 ASC, id ASC;
SELECT * FROM t1 ORDER BY t1_tinyint, t1_int, t1_bigint ASC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30 0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30 0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30 0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 5 DESC, id ASC;
SELECT * FROM t1 ORDER BY t1_tinyint, t1_int, t1_bigint DESC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL 0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30 0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30 0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
SELECT * FROM t1 ORDER BY t1_double, t1_float; NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 6, id;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30 0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30 0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30 0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 6 ASC, id ASC;
SELECT * FROM t1 ORDER BY t1_double, t1_float ASC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30 0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30 0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30 0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 6 DESC, id ASC;
SELECT * FROM t1 ORDER BY t1_double, t1_float DESC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30 0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30 0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30 0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 7, id;
SELECT * FROM t1 ORDER BY t1_blob, t1_text, t1_char;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30 0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30 0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30 SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 7 ASC, id ASC;
SELECT * FROM t1 ORDER BY t1_blob, t1_text, t1_char ASC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30 0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30 0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 7 DESC, id ASC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30 0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
SELECT * FROM t1 ORDER BY t1_blob, t1_text, t1_char DESC; 0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 8, id;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30 0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30 0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30 SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 8 ASC, id ASC;
SELECT * FROM t1 ORDER BY t1_varchar, t1_datetime;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30 0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30 0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 8 DESC, id ASC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30 0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
SELECT * FROM t1 ORDER BY t1_varchar, t1_datetime ASC; 0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 9, id;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30 0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30 0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30 0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
SELECT * FROM t1 ORDER BY t1_varchar, t1_datetime DESC; 0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 9 ASC, id ASC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 403685477580676 54.797693231 8.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30 0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30 0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 9 DESC, id ASC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 10, id;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 10 ASC, id ASC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 10 DESC, id ASC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 1, 2, 3, id;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 1, 2, 3 ASC, id ASC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 1, 2, 3 DESC, id ASC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 4, 5, id;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 4, 5 ASC, id ASC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 4, 5 DESC, id ASC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 6, 7, 8, id;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 6, 7, 8 ASC, id ASC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 6, 7, 8 DESC, id ASC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 9, 10, id;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 9, 10 ASC, id ASC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 9, 10 DESC, id ASC;
t1_tinyint t1_int t1_bigint t1_double t1_float t1_blob t1_text t1_char t1_varchar t1_datetime
NULL NULL NULL NULL NULL NULL NULL NULL NULL NULL
0 NULL 503685477580676 64.797693231 9.40287 222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222 dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd d hello world! 4387-11-08 11:22:30
0 NULL 403685477580680 54.797693235 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:34
0 NULL 403685477580679 54.797693234 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:33
0 NULL 403685477580678 54.797693233 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:32
0 NULL 403685477580677 54.797693232 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:31
0 NULL 303685477580676 -4.797693231 -8.40287 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 3387-11-08 11:22:30
0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30 0 NULL 403685477580676 54.797693231 8.40287 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc c hello world! 3387-11-08 11:22:30
0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30 0 NULL 203685477580676 -3.797693231e108 -7.40287e18 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb b hello world! 2387-11-08 11:22:30
DROP DATABASE IF EXISTS mcs34_db1; DROP DATABASE IF EXISTS mcs34_db1;

View File

@@ -8,55 +8,55 @@ CREATE TABLE t1 (t1_int INT, t1_char CHAR(5))ENGINE=Innodb;
CREATE TABLE t2 (t2_int INT, t2_char CHAR(5))ENGINE=Columnstore; CREATE TABLE t2 (t2_int INT, t2_char CHAR(5))ENGINE=Columnstore;
INSERT INTO t1 VALUES (NULL,NULL),(1,'ddd'),(2,'bbb'),(3,'fffff'),(4,'eee'),(5,'a'),(6,'ccc'),(7,'ggg'); INSERT INTO t1 VALUES (NULL,NULL),(1,'ddd'),(2,'bbb'),(3,'fffff'),(4,'eee'),(5,'a'),(6,'ccc'),(7,'ggg');
INSERT INTO t2 VALUES (NULL,NULL),(1,'ooo'),(3,'iii'),(5,'hhh'),(7,'nnnnn'),(9,'kkkk'),(11,'mm'),(13,'j'); INSERT INTO t2 VALUES (NULL,NULL),(1,'ooo'),(3,'iii'),(5,'hhh'),(7,'nnnnn'),(9,'kkkk'),(11,'mm'),(13,'j');
SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY 1; SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY t1.t1_int, t2.t2_int, t1.t1_char, t2.t2_char;
t1_int t1_char t2_int t2_char t1_int t1_char t2_int t2_char
1 ddd 1 ooo 1 ddd 1 ooo
3 fffff 3 iii 3 fffff 3 iii
5 a 5 hhh 5 a 5 hhh
7 ggg 7 nnnnn 7 ggg 7 nnnnn
SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY 1 ASC; SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY t1.t1_int ASC, t2.t2_int ASC, t1.t1_char ASC;
t1_int t1_char t2_int t2_char t1_int t1_char t2_int t2_char
1 ddd 1 ooo 1 ddd 1 ooo
3 fffff 3 iii 3 fffff 3 iii
5 a 5 hhh 5 a 5 hhh
7 ggg 7 nnnnn 7 ggg 7 nnnnn
SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY 1 DESC; SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY t1.t1_int DESC, t2.t2_int DESC, t1.t1_char DESC;
t1_int t1_char t2_int t2_char t1_int t1_char t2_int t2_char
7 ggg 7 nnnnn 7 ggg 7 nnnnn
5 a 5 hhh 5 a 5 hhh
3 fffff 3 iii 3 fffff 3 iii
1 ddd 1 ooo 1 ddd 1 ooo
SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY 2; SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY t1.t1_char, t1.t1_int, t2.t2_int;
t1_int t1_char t2_int t2_char t1_int t1_char t2_int t2_char
5 a 5 hhh 5 a 5 hhh
1 ddd 1 ooo 1 ddd 1 ooo
3 fffff 3 iii 3 fffff 3 iii
7 ggg 7 nnnnn 7 ggg 7 nnnnn
SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY 2 DESC; SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY t1.t1_char DESC, t1.t1_int DESC, t2.t2_int DESC;
t1_int t1_char t2_int t2_char t1_int t1_char t2_int t2_char
7 ggg 7 nnnnn 7 ggg 7 nnnnn
3 fffff 3 iii 3 fffff 3 iii
1 ddd 1 ooo 1 ddd 1 ooo
5 a 5 hhh 5 a 5 hhh
SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY 3; SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY t2.t2_int, t1.t1_int, t2.t2_char;
t1_int t1_char t2_int t2_char t1_int t1_char t2_int t2_char
1 ddd 1 ooo 1 ddd 1 ooo
3 fffff 3 iii 3 fffff 3 iii
5 a 5 hhh 5 a 5 hhh
7 ggg 7 nnnnn 7 ggg 7 nnnnn
SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY 3 DESC; SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY t2.t2_int DESC, t1.t1_int DESC, t2.t2_char DESC;
t1_int t1_char t2_int t2_char t1_int t1_char t2_int t2_char
7 ggg 7 nnnnn 7 ggg 7 nnnnn
5 a 5 hhh 5 a 5 hhh
3 fffff 3 iii 3 fffff 3 iii
1 ddd 1 ooo 1 ddd 1 ooo
SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY 4 ASC; SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY t2.t2_char ASC, t2.t2_int, t1.t1_int;
t1_int t1_char t2_int t2_char t1_int t1_char t2_int t2_char
5 a 5 hhh 5 a 5 hhh
3 fffff 3 iii 3 fffff 3 iii
7 ggg 7 nnnnn 7 ggg 7 nnnnn
1 ddd 1 ooo 1 ddd 1 ooo
SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY 4 DESC; SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY t2.t2_char DESC, t2.t2_int DESC, t1.t1_int DESC;
t1_int t1_char t2_int t2_char t1_int t1_char t2_int t2_char
1 ddd 1 ooo 1 ddd 1 ooo
7 ggg 7 nnnnn 7 ggg 7 nnnnn
@@ -68,7 +68,7 @@ SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY 0;
ERROR 42S22: Unknown column '0' in 'ORDER BY' ERROR 42S22: Unknown column '0' in 'ORDER BY'
SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY 5; SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY 5;
ERROR 42S22: Unknown column '5' in 'ORDER BY' ERROR 42S22: Unknown column '5' in 'ORDER BY'
SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_int DESC; SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_int DESC, t2.t2_int DESC, t1.t1_char DESC;
t1_int t1_char t2_int t2_char t1_int t1_char t2_int t2_char
7 ggg 7 nnnnn 7 ggg 7 nnnnn
6 ccc NULL NULL 6 ccc NULL NULL
@@ -78,7 +78,7 @@ t1_int t1_char t2_int t2_char
2 bbb NULL NULL 2 bbb NULL NULL
1 ddd 1 ooo 1 ddd 1 ooo
NULL NULL NULL NULL NULL NULL NULL NULL
SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_int ASC; SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_int ASC, t2.t2_int ASC, t1.t1_char ASC;
t1_int t1_char t2_int t2_char t1_int t1_char t2_int t2_char
NULL NULL NULL NULL NULL NULL NULL NULL
1 ddd 1 ooo 1 ddd 1 ooo
@@ -88,7 +88,7 @@ NULL NULL NULL NULL
5 a 5 hhh 5 a 5 hhh
6 ccc NULL NULL 6 ccc NULL NULL
7 ggg 7 nnnnn 7 ggg 7 nnnnn
SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_char DESC; SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_char DESC, t1.t1_int DESC, t2.t2_int DESC;
t1_int t1_char t2_int t2_char t1_int t1_char t2_int t2_char
7 ggg 7 nnnnn 7 ggg 7 nnnnn
3 fffff 3 iii 3 fffff 3 iii
@@ -98,7 +98,7 @@ t1_int t1_char t2_int t2_char
2 bbb NULL NULL 2 bbb NULL NULL
5 a 5 hhh 5 a 5 hhh
NULL NULL NULL NULL NULL NULL NULL NULL
SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_char ASC; SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_char ASC, t1.t1_int ASC, t2.t2_int ASC;
t1_int t1_char t2_int t2_char t1_int t1_char t2_int t2_char
NULL NULL NULL NULL NULL NULL NULL NULL
5 a 5 hhh 5 a 5 hhh
@@ -108,87 +108,87 @@ NULL NULL NULL NULL
4 eee NULL NULL 4 eee NULL NULL
3 fffff 3 iii 3 fffff 3 iii
7 ggg 7 nnnnn 7 ggg 7 nnnnn
SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_int DESC; SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_int DESC, t1.t1_int DESC, t2.t2_char DESC;
t1_int t1_char t2_int t2_char t1_int t1_char t2_int t2_char
7 ggg 7 nnnnn 7 ggg 7 nnnnn
5 a 5 hhh 5 a 5 hhh
3 fffff 3 iii 3 fffff 3 iii
1 ddd 1 ooo 1 ddd 1 ooo
2 bbb NULL NULL
4 eee NULL NULL
NULL NULL NULL NULL
6 ccc NULL NULL 6 ccc NULL NULL
SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_int ASC; 4 eee NULL NULL
2 bbb NULL NULL
NULL NULL NULL NULL
SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_int ASC, t1.t1_int ASC, t2.t2_char ASC;
t1_int t1_char t2_int t2_char t1_int t1_char t2_int t2_char
NULL NULL NULL NULL NULL NULL NULL NULL
4 eee NULL NULL
2 bbb NULL NULL 2 bbb NULL NULL
4 eee NULL NULL
6 ccc NULL NULL 6 ccc NULL NULL
1 ddd 1 ooo 1 ddd 1 ooo
3 fffff 3 iii 3 fffff 3 iii
5 a 5 hhh 5 a 5 hhh
7 ggg 7 nnnnn 7 ggg 7 nnnnn
SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_char DESC; SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_char DESC, t2.t2_int DESC, t1.t1_int DESC;
t1_int t1_char t2_int t2_char t1_int t1_char t2_int t2_char
1 ddd 1 ooo 1 ddd 1 ooo
7 ggg 7 nnnnn 7 ggg 7 nnnnn
3 fffff 3 iii 3 fffff 3 iii
5 a 5 hhh 5 a 5 hhh
2 bbb NULL NULL
4 eee NULL NULL
NULL NULL NULL NULL
6 ccc NULL NULL 6 ccc NULL NULL
SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_char ASC; 4 eee NULL NULL
2 bbb NULL NULL
NULL NULL NULL NULL
SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_char ASC, t2.t2_int ASC, t1.t1_int ASC;
t1_int t1_char t2_int t2_char t1_int t1_char t2_int t2_char
NULL NULL NULL NULL NULL NULL NULL NULL
4 eee NULL NULL
2 bbb NULL NULL 2 bbb NULL NULL
4 eee NULL NULL
6 ccc NULL NULL 6 ccc NULL NULL
5 a 5 hhh 5 a 5 hhh
3 fffff 3 iii 3 fffff 3 iii
7 ggg 7 nnnnn 7 ggg 7 nnnnn
1 ddd 1 ooo 1 ddd 1 ooo
SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_int DESC; SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_int DESC, t2.t2_int DESC, t1.t1_char DESC;
t1_int t1_char t2_int t2_char t1_int t1_char t2_int t2_char
7 ggg 7 nnnnn 7 ggg 7 nnnnn
5 a 5 hhh 5 a 5 hhh
3 fffff 3 iii 3 fffff 3 iii
1 ddd 1 ooo 1 ddd 1 ooo
NULL NULL 9 kkkk
NULL NULL 13 j NULL NULL 13 j
NULL NULL 11 mm NULL NULL 11 mm
NULL NULL 9 kkkk
NULL NULL NULL NULL NULL NULL NULL NULL
SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_int ASC; SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_int ASC, t2.t2_int ASC, t1.t1_char ASC;
t1_int t1_char t2_int t2_char t1_int t1_char t2_int t2_char
NULL NULL 11 mm
NULL NULL NULL NULL NULL NULL NULL NULL
NULL NULL 9 kkkk NULL NULL 9 kkkk
NULL NULL 11 mm
NULL NULL 13 j NULL NULL 13 j
1 ddd 1 ooo 1 ddd 1 ooo
3 fffff 3 iii 3 fffff 3 iii
5 a 5 hhh 5 a 5 hhh
7 ggg 7 nnnnn 7 ggg 7 nnnnn
SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_char DESC; SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_char DESC, t1.t1_int DESC, t2.t2_int DESC;
t1_int t1_char t2_int t2_char t1_int t1_char t2_int t2_char
7 ggg 7 nnnnn 7 ggg 7 nnnnn
3 fffff 3 iii 3 fffff 3 iii
1 ddd 1 ooo 1 ddd 1 ooo
5 a 5 hhh 5 a 5 hhh
NULL NULL NULL NULL
NULL NULL 13 j NULL NULL 13 j
NULL NULL 11 mm NULL NULL 11 mm
NULL NULL 9 kkkk NULL NULL 9 kkkk
SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_char ASC; NULL NULL NULL NULL
SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_char ASC, t1.t1_int ASC, t2.t2_int ASC;
t1_int t1_char t2_int t2_char t1_int t1_char t2_int t2_char
NULL NULL 11 mm
NULL NULL NULL NULL NULL NULL NULL NULL
NULL NULL 9 kkkk NULL NULL 9 kkkk
NULL NULL 11 mm
NULL NULL 13 j NULL NULL 13 j
5 a 5 hhh 5 a 5 hhh
1 ddd 1 ooo 1 ddd 1 ooo
3 fffff 3 iii 3 fffff 3 iii
7 ggg 7 nnnnn 7 ggg 7 nnnnn
SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_int DESC; SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_int DESC, t1.t1_int DESC, t2.t2_char DESC;
t1_int t1_char t2_int t2_char t1_int t1_char t2_int t2_char
NULL NULL 13 j NULL NULL 13 j
NULL NULL 11 mm NULL NULL 11 mm
@@ -198,7 +198,7 @@ NULL NULL 9 kkkk
3 fffff 3 iii 3 fffff 3 iii
1 ddd 1 ooo 1 ddd 1 ooo
NULL NULL NULL NULL NULL NULL NULL NULL
SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_int ASC; SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_int ASC, t1.t1_int ASC, t2.t2_char ASC;
t1_int t1_char t2_int t2_char t1_int t1_char t2_int t2_char
NULL NULL NULL NULL NULL NULL NULL NULL
1 ddd 1 ooo 1 ddd 1 ooo
@@ -208,7 +208,7 @@ NULL NULL NULL NULL
NULL NULL 9 kkkk NULL NULL 9 kkkk
NULL NULL 11 mm NULL NULL 11 mm
NULL NULL 13 j NULL NULL 13 j
SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_char DESC; SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_char DESC, t2.t2_int DESC, t1.t1_int DESC;
t1_int t1_char t2_int t2_char t1_int t1_char t2_int t2_char
1 ddd 1 ooo 1 ddd 1 ooo
7 ggg 7 nnnnn 7 ggg 7 nnnnn
@@ -218,7 +218,7 @@ NULL NULL 13 j
3 fffff 3 iii 3 fffff 3 iii
5 a 5 hhh 5 a 5 hhh
NULL NULL NULL NULL NULL NULL NULL NULL
SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_char ASC; SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_char ASC, t2.t2_int ASC, t1.t1_int ASC;
t1_int t1_char t2_int t2_char t1_int t1_char t2_int t2_char
NULL NULL NULL NULL NULL NULL NULL NULL
5 a 5 hhh 5 a 5 hhh

View File

@@ -8,47 +8,47 @@ CREATE TABLE t1 (a INT, b CHAR(5))ENGINE=Columnstore;
CREATE TABLE t2 (a INT, b CHAR(5))ENGINE=Columnstore; CREATE TABLE t2 (a INT, b CHAR(5))ENGINE=Columnstore;
INSERT INTO t1 VALUES (NULL, ''),(1, 'aaa'),(2, 'aaa'),(3, 'ccc'),(4, 'ddd'),(5, 'aaa'),(6, ''),(7, 'eee'); INSERT INTO t1 VALUES (NULL, ''),(1, 'aaa'),(2, 'aaa'),(3, 'ccc'),(4, 'ddd'),(5, 'aaa'),(6, ''),(7, 'eee');
INSERT INTO t2 VALUES (NULL, ''),(1, 'eee'),(3, 'ccc'),(5, 'jjj'),(6, ''),(7, 'ccc'),(9, 'eee'),(11, 'nnn'); INSERT INTO t2 VALUES (NULL, ''),(1, 'eee'),(3, 'ccc'),(5, 'jjj'),(6, ''),(7, 'ccc'),(9, 'eee'),(11, 'nnn');
SELECT t1.a,t3.y FROM t1,(SELECT a AS y FROM t2 WHERE b='ccc') AS t3 WHERE t1.a = t3.y; SELECT t1.a,t3.y FROM t1,(SELECT a AS y FROM t2 WHERE b='ccc') AS t3 WHERE t1.a = t3.y ORDER BY t1.a, t3.y;
a y a y
3 3 3 3
7 7 7 7
SELECT t1.a,t3.a FROM t1,(SELECT * FROM t2 WHERE b='ccc') t3 WHERE t1.a = t3.a; SELECT t1.a,t3.a FROM t1,(SELECT * FROM t2 WHERE b='ccc') t3 WHERE t1.a = t3.a ORDER BY t1.a, t3.a;
a a a a
3 3 3 3
7 7 7 7
SELECT t1.a,t3.a FROM t1 JOIN (SELECT * FROM t2 WHERE b='ccc') t3 ON t1.a = t3.a ORDER BY t1.a; SELECT t1.a,t3.a FROM t1 JOIN (SELECT * FROM t2 WHERE b='ccc') t3 ON t1.a = t3.a ORDER BY t1.a, t3.a;
a a a a
3 3 3 3
7 7 7 7
SELECT t1.a,t3.a FROM t1 LEFT JOIN (SELECT * FROM t2) t3 ON t1.a = t3.a ORDER BY t3.a; SELECT t1.a,t3.a FROM t1 LEFT JOIN (SELECT * FROM t2) t3 ON t1.a = t3.a ORDER BY t3.a, t1.a;
a a a a
2 NULL
NULL NULL NULL NULL
2 NULL
4 NULL 4 NULL
1 1 1 1
3 3 3 3
5 5 5 5
6 6 6 6
7 7 7 7
SELECT t1.a,t3.a FROM t1 RIGHT JOIN (SELECT * FROM t2) t3 ON t1.a = t3.a ORDER BY 1; SELECT t1.a,t3.a FROM t1 RIGHT JOIN (SELECT * FROM t2) t3 ON t1.a = t3.a ORDER BY t3.a, t1.a;
a a a a
NULL NULL NULL NULL
NULL 9
NULL 11
1 1 1 1
3 3 3 3
5 5 5 5
6 6 6 6
7 7 7 7
NULL 9
NULL 11
CREATE TABLE t3 (a INT, b CHAR(5))ENGINE=Innodb; CREATE TABLE t3 (a INT, b CHAR(5))ENGINE=Innodb;
CREATE TABLE t4 (a INT, b CHAR(5))ENGINE=Myisam; CREATE TABLE t4 (a INT, b CHAR(5))ENGINE=Myisam;
INSERT INTO t3 SELECT * FROM t2; INSERT INTO t3 SELECT * FROM t2;
INSERT INTO t4 SELECT * FROM t1; INSERT INTO t4 SELECT * FROM t1;
SELECT t3.a, t.a FROM t3 JOIN (SELECT * FROM t2 WHERE b='ccc') t ON t.a = t3.a ORDER BY t.a; SELECT t3.a, t.a FROM t3 JOIN (SELECT * FROM t2 WHERE b='ccc') t ON t.a = t3.a ORDER BY t.a, t3.a;
a a a a
3 3 3 3
7 7 7 7
SELECT t3.a, t.a FROM t3 LEFT JOIN (SELECT * FROM t2) t ON t.a = t3.a ORDER BY t3.a; SELECT t3.a, t.a FROM t3 LEFT JOIN (SELECT * FROM t2) t ON t.a = t3.a ORDER BY t3.a, t.a;
a a a a
NULL NULL NULL NULL
1 1 1 1
@@ -58,7 +58,7 @@ NULL NULL
7 7 7 7
9 9 9 9
11 11 11 11
SELECT t3.a, t.a FROM t3 RIGHT JOIN (SELECT * FROM t2) t ON t.a = t3.a ORDER BY 1; SELECT t3.a, t.a FROM t3 RIGHT JOIN (SELECT * FROM t2) t ON t.a = t3.a ORDER BY t.a, t3.a;
a a a a
NULL NULL NULL NULL
1 1 1 1
@@ -68,11 +68,11 @@ NULL NULL
7 7 7 7
9 9 9 9
11 11 11 11
SELECT t4.a, t.a FROM t4 JOIN (SELECT * FROM t2 WHERE b='ccc') t ON t.a = t4.a ORDER BY t.a; SELECT t4.a, t.a FROM t4 JOIN (SELECT * FROM t2 WHERE b='ccc') t ON t.a = t4.a ORDER BY t.a, t4.a;
a a a a
3 3 3 3
7 7 7 7
SELECT t4.a, t.a FROM t4 LEFT JOIN (SELECT * FROM t2) t ON t.a = t4.a ORDER BY t4.a; SELECT t4.a, t.a FROM t4 LEFT JOIN (SELECT * FROM t2) t ON t.a = t4.a ORDER BY t4.a, t.a;
a a a a
NULL NULL NULL NULL
1 1 1 1
@@ -82,7 +82,7 @@ NULL NULL
5 5 5 5
6 6 6 6
7 7 7 7
SELECT t4.a, t.a FROM t4 RIGHT JOIN (SELECT * FROM t2) t ON t.a = t4.a ORDER BY 2; SELECT t4.a, t.a FROM t4 RIGHT JOIN (SELECT * FROM t2) t ON t.a = t4.a ORDER BY t.a, t4.a;
a a a a
NULL NULL NULL NULL
1 1 1 1

View File

@@ -3,21 +3,21 @@ CREATE DATABASE mcs97_db;
USE mcs97_db; USE mcs97_db;
CREATE TABLE t1 (a INT, b CHAR(5))ENGINE=Columnstore; CREATE TABLE t1 (a INT, b CHAR(5))ENGINE=Columnstore;
INSERT INTO t1 VALUES (NULL, NULL),(1, 'aaa'),(2, 'aaa'),(3, 'ccc'),(4, 'ddd'),(5, 'aaa'),(6, 'ddd'),(7, 'eee'); INSERT INTO t1 VALUES (NULL, NULL),(1, 'aaa'),(2, 'aaa'),(3, 'ccc'),(4, 'ddd'),(5, 'aaa'),(6, 'ddd'),(7, 'eee');
SELECT GROUP_CONCAT(a) FROM t1; SELECT GROUP_CONCAT(a ORDER BY a) FROM t1;
GROUP_CONCAT(a) GROUP_CONCAT(a ORDER BY a)
1,2,3,4,5,6,7 1,2,3,4,5,6,7
SELECT GROUP_CONCAT(a SEPARATOR ';') FROM t1 ORDER BY a DESC;
GROUP_CONCAT(a SEPARATOR ';')
1;2;3;4;5;6;7
SELECT GROUP_CONCAT(a ORDER BY a DESC SEPARATOR ';') FROM t1; SELECT GROUP_CONCAT(a ORDER BY a DESC SEPARATOR ';') FROM t1;
GROUP_CONCAT(a ORDER BY a DESC SEPARATOR ';') GROUP_CONCAT(a ORDER BY a DESC SEPARATOR ';')
7;6;5;4;3;2;1 7;6;5;4;3;2;1
SELECT GROUP_CONCAT(b) FROM t1; SELECT GROUP_CONCAT(a ORDER BY a DESC SEPARATOR ';') FROM t1;
GROUP_CONCAT(b) GROUP_CONCAT(a ORDER BY a DESC SEPARATOR ';')
aaa,aaa,ccc,ddd,aaa,ddd,eee 7;6;5;4;3;2;1
SELECT GROUP_CONCAT(DISTINCT b SEPARATOR ';') FROM t1 ORDER BY b ASC; SELECT GROUP_CONCAT(b ORDER BY b) FROM t1;
GROUP_CONCAT(DISTINCT b SEPARATOR ';') GROUP_CONCAT(b ORDER BY b)
eee;ccc;ddd;aaa aaa,aaa,aaa,ccc,ddd,ddd,eee
SELECT GROUP_CONCAT(DISTINCT b ORDER BY b ASC SEPARATOR ';') FROM t1;
GROUP_CONCAT(DISTINCT b ORDER BY b ASC SEPARATOR ';')
aaa;ccc;ddd;eee
SELECT GROUP_CONCAT(b ORDER BY b DESC SEPARATOR ';') FROM t1; SELECT GROUP_CONCAT(b ORDER BY b DESC SEPARATOR ';') FROM t1;
GROUP_CONCAT(b ORDER BY b DESC SEPARATOR ';') GROUP_CONCAT(b ORDER BY b DESC SEPARATOR ';')
eee;ddd;ddd;ccc;aaa;aaa;aaa eee;ddd;ddd;ccc;aaa;aaa;aaa

View File

@@ -1,10 +1,6 @@
# #
# MDEV-25080: Allow pushdown of queries involving UNIONs # MDEV-25080: Allow pushdown of queries involving UNIONs
# in outer select to foreign engines # in outer select to foreign engines
#
# Remove the sorted_result MTR qualifier and add ORDER BY
# clause after MCOL-5222 is fixed
#
CREATE USER IF NOT EXISTS'cejuser'@'localhost' IDENTIFIED BY 'Vagrant1|0000001'; CREATE USER IF NOT EXISTS'cejuser'@'localhost' IDENTIFIED BY 'Vagrant1|0000001';
GRANT ALL PRIVILEGES ON *.* TO 'cejuser'@'localhost'; GRANT ALL PRIVILEGES ON *.* TO 'cejuser'@'localhost';
FLUSH PRIVILEGES; FLUSH PRIVILEGES;
@@ -20,17 +16,17 @@ INSERT INTO t2 VALUES ('bcd'), ('cde'), ('def'), ('efg');
INSERT INTO t3 VALUES ('t3_myisam1'), ('t3_myisam2'), ('t3_myisam3'); INSERT INTO t3 VALUES ('t3_myisam1'), ('t3_myisam2'), ('t3_myisam3');
INSERT INTO t4 VALUES ('t4_myisam1'), ('t4_myisam2'), ('t4_myisam3'); INSERT INTO t4 VALUES ('t4_myisam1'), ('t4_myisam2'), ('t4_myisam3');
# Pushdown of the whole UNION # Pushdown of the whole UNION
SELECT * FROM t1 UNION SELECT * FROM t2; SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY 1;
a a
abc abc
bcd bcd
cde cde
def def
efg efg
EXPLAIN SELECT * FROM t1 UNION SELECT * FROM t2; EXPLAIN SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY 1;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
NULL PUSHED UNION NULL NULL NULL NULL NULL NULL NULL NULL NULL PUSHED UNION NULL NULL NULL NULL NULL NULL NULL NULL
SELECT * FROM t1 UNION ALL SELECT * FROM t2; SELECT * FROM t1 UNION ALL SELECT * FROM t2 ORDER BY 1;
a a
abc abc
bcd bcd
@@ -39,11 +35,11 @@ cde
cde cde
def def
efg efg
EXPLAIN SELECT * FROM t1 UNION ALL SELECT * FROM t2; EXPLAIN SELECT * FROM t1 UNION ALL SELECT * FROM t2 ORDER BY 1;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
NULL PUSHED UNION NULL NULL NULL NULL NULL NULL NULL NULL NULL PUSHED UNION NULL NULL NULL NULL NULL NULL NULL NULL
# UNION with a foreign engine # UNION with a foreign engine
SELECT * FROM t1 UNION SELECT * FROM t3; SELECT * FROM t1 UNION SELECT * FROM t3 ORDER BY 1;
a a
abc abc
bcd bcd
@@ -51,13 +47,14 @@ cde
t3_myisam1 t3_myisam1
t3_myisam2 t3_myisam2
t3_myisam3 t3_myisam3
EXPLAIN SELECT * FROM t1 UNION SELECT * FROM t3; EXPLAIN SELECT * FROM t1 UNION SELECT * FROM t3 ORDER BY 1;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
NULL PUSHED UNION NULL NULL NULL NULL NULL NULL NULL NULL NULL PUSHED UNION NULL NULL NULL NULL NULL NULL NULL NULL
# More than two SELECTs in a UNIT: # More than two SELECTs in a UNIT:
SELECT * FROM t1 UNION SELECT * FROM t1 UNION
SELECT * FROM t2 UNION ALL SELECT * FROM t2 UNION ALL
SELECT * FROM t1; SELECT * FROM t1
ORDER BY 1;
a a
abc abc
abc abc
@@ -69,12 +66,14 @@ def
efg efg
EXPLAIN SELECT * FROM t1 UNION EXPLAIN SELECT * FROM t1 UNION
SELECT * FROM t2 UNION ALL SELECT * FROM t2 UNION ALL
SELECT * FROM t1; SELECT * FROM t1
ORDER BY 1;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
NULL PUSHED UNION NULL NULL NULL NULL NULL NULL NULL NULL NULL PUSHED UNION NULL NULL NULL NULL NULL NULL NULL NULL
(SELECT * FROM t1 UNION (SELECT * FROM t1 UNION
SELECT * FROM t2) UNION ALL SELECT * FROM t2) UNION ALL
SELECT * FROM t1; SELECT * FROM t1
ORDER BY 1;
a a
abc abc
abc abc
@@ -86,13 +85,15 @@ def
efg efg
EXPLAIN (SELECT * FROM t1 UNION EXPLAIN (SELECT * FROM t1 UNION
SELECT * FROM t2) UNION ALL SELECT * FROM t2) UNION ALL
SELECT * FROM t1; SELECT * FROM t1
ORDER BY 1;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
NULL PUSHED UNION NULL NULL NULL NULL NULL NULL NULL NULL NULL PUSHED UNION NULL NULL NULL NULL NULL NULL NULL NULL
SELECT * FROM t1 UNION SELECT * FROM t1 UNION
SELECT * FROM t2 UNION ALL SELECT * FROM t2 UNION ALL
SELECT * FROM t3 UNION SELECT * FROM t3 UNION
SELECT * FROM t4; SELECT * FROM t4
ORDER BY 1;
a a
abc abc
bcd bcd
@@ -108,13 +109,15 @@ t4_myisam3
EXPLAIN SELECT * FROM t1 UNION EXPLAIN SELECT * FROM t1 UNION
SELECT * FROM t2 UNION ALL SELECT * FROM t2 UNION ALL
SELECT * FROM t3 UNION SELECT * FROM t3 UNION
SELECT * FROM t4; SELECT * FROM t4
ORDER BY 1;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
NULL PUSHED UNION NULL NULL NULL NULL NULL NULL NULL NULL NULL PUSHED UNION NULL NULL NULL NULL NULL NULL NULL NULL
(SELECT * FROM t1 UNION (SELECT * FROM t1 UNION
SELECT * FROM t2) UNION ALL SELECT * FROM t2) UNION ALL
(SELECT * FROM t3 UNION (SELECT * FROM t3 UNION
SELECT * FROM t4); SELECT * FROM t4)
ORDER BY 1;
a a
abc abc
bcd bcd
@@ -130,23 +133,26 @@ t4_myisam3
EXPLAIN (SELECT * FROM t1 UNION EXPLAIN (SELECT * FROM t1 UNION
SELECT * FROM t2) UNION ALL SELECT * FROM t2) UNION ALL
(SELECT * FROM t3 UNION (SELECT * FROM t3 UNION
SELECT * FROM t4); SELECT * FROM t4)
ORDER BY 1;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
NULL PUSHED UNION NULL NULL NULL NULL NULL NULL NULL NULL NULL PUSHED UNION NULL NULL NULL NULL NULL NULL NULL NULL
SELECT count(*) FROM t1 UNION SELECT count(*) FROM t1 UNION
SELECT count(*) FROM t2 UNION ALL SELECT count(*) FROM t2 UNION ALL
SELECT count(*)+20 FROM t2 UNION SELECT count(*)+20 FROM t2 UNION
SELECT count(*)+5 FROM t1; SELECT count(*)+5 FROM t1
ORDER BY 1;
count(*) count(*)
24
3 3
4 4
8 8
24
EXPLAIN EXPLAIN
SELECT count(*) FROM t1 UNION SELECT count(*) FROM t1 UNION
SELECT count(*) FROM t2 UNION ALL SELECT count(*) FROM t2 UNION ALL
SELECT count(*)+20 FROM t2 UNION SELECT count(*)+20 FROM t2 UNION
SELECT count(*)+5 FROM t1; SELECT count(*)+5 FROM t1
ORDER BY 1;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
NULL PUSHED UNION NULL NULL NULL NULL NULL NULL NULL NULL NULL PUSHED UNION NULL NULL NULL NULL NULL NULL NULL NULL
# UNION inside a derived table: the whole derived table must be pushed # UNION inside a derived table: the whole derived table must be pushed
@@ -181,7 +187,7 @@ id select_type table type possible_keys key key_len ref rows Extra
1 PUSHED SELECT NULL NULL NULL NULL NULL NULL NULL NULL 1 PUSHED SELECT NULL NULL NULL NULL NULL NULL NULL NULL
# Prepared statements # Prepared statements
PREPARE stmt FROM "SELECT * FROM t1 UNION PREPARE stmt FROM "SELECT * FROM t1 UNION
SELECT * FROM t2"; SELECT * FROM t2 ORDER BY 1";
EXECUTE stmt; EXECUTE stmt;
a a
abc abc
@@ -204,7 +210,7 @@ cde
def def
efg efg
PREPARE stmt FROM "EXPLAIN SELECT * FROM t1 UNION PREPARE stmt FROM "EXPLAIN SELECT * FROM t1 UNION
SELECT * FROM t2"; SELECT * FROM t2 ORDER BY 1";
EXECUTE stmt; EXECUTE stmt;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
NULL PUSHED UNION NULL NULL NULL NULL NULL NULL NULL NULL NULL PUSHED UNION NULL NULL NULL NULL NULL NULL NULL NULL
@@ -214,7 +220,7 @@ NULL PUSHED UNION NULL NULL NULL NULL NULL NULL NULL NULL
PREPARE stmt FROM "(SELECT * FROM t1 UNION PREPARE stmt FROM "(SELECT * FROM t1 UNION
SELECT * FROM t2) UNION ALL SELECT * FROM t2) UNION ALL
(SELECT * FROM t1 UNION (SELECT * FROM t1 UNION
SELECT * FROM t2)"; SELECT * FROM t2) ORDER BY 1";
EXECUTE stmt; EXECUTE stmt;
a a
abc abc
@@ -254,7 +260,7 @@ efg
PREPARE stmt FROM "EXPLAIN (SELECT * FROM t1 UNION PREPARE stmt FROM "EXPLAIN (SELECT * FROM t1 UNION
SELECT * FROM t2) UNION ALL SELECT * FROM t2) UNION ALL
(SELECT * FROM t1 UNION (SELECT * FROM t1 UNION
SELECT * FROM t2)"; SELECT * FROM t2) ORDER BY 1";
EXECUTE stmt; EXECUTE stmt;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
NULL PUSHED UNION NULL NULL NULL NULL NULL NULL NULL NULL NULL PUSHED UNION NULL NULL NULL NULL NULL NULL NULL NULL
@@ -274,18 +280,15 @@ def
efg efg
EXPLAIN SELECT * FROM t1 UNION ALL SELECT * FROM t2 ORDER BY a; EXPLAIN SELECT * FROM t1 UNION ALL SELECT * FROM t2 ORDER BY a;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 2000 NULL PUSHED UNION NULL NULL NULL NULL NULL NULL NULL NULL
2 UNION t2 ALL NULL NULL NULL NULL 2000 SELECT * FROM t1 UNION ALL SELECT * FROM t2 ORDER BY a LIMIT 3;
NULL UNION RESULT <union1,2> ALL NULL NULL NULL NULL NULL Using filesort
SELECT * FROM t1 UNION ALL SELECT * FROM t2 LIMIT 3;
a a
abc abc
bcd bcd
cde bcd
EXPLAIN SELECT * FROM t1 UNION ALL SELECT * FROM t2 LIMIT 3; EXPLAIN SELECT * FROM t1 UNION ALL SELECT * FROM t2 ORDER BY a LIMIT 3;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 2000 NULL PUSHED UNION NULL NULL NULL NULL NULL NULL NULL NULL
2 UNION t2 ALL NULL NULL NULL NULL 2000
SELECT * FROM t1 UNION ALL SELECT * FROM t2 ORDER BY a DESC LIMIT 5; SELECT * FROM t1 UNION ALL SELECT * FROM t2 ORDER BY a DESC LIMIT 5;
a a
efg efg
@@ -295,9 +298,7 @@ cde
bcd bcd
EXPLAIN SELECT * FROM t1 UNION ALL SELECT * FROM t2 ORDER BY a DESC LIMIT 5; EXPLAIN SELECT * FROM t1 UNION ALL SELECT * FROM t2 ORDER BY a DESC LIMIT 5;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 2000 NULL PUSHED UNION NULL NULL NULL NULL NULL NULL NULL NULL
2 UNION t2 ALL NULL NULL NULL NULL 2000
NULL UNION RESULT <union1,2> ALL NULL NULL NULL NULL NULL Using filesort
SELECT * FROM t1 UNION ALL SELECT * FROM t2 ORDER BY a LIMIT 3 OFFSET 2; SELECT * FROM t1 UNION ALL SELECT * FROM t2 ORDER BY a LIMIT 3 OFFSET 2;
a a
bcd bcd
@@ -305,9 +306,7 @@ cde
cde cde
EXPLAIN SELECT * FROM t1 UNION ALL SELECT * FROM t2 ORDER BY a LIMIT 3 OFFSET 2; EXPLAIN SELECT * FROM t1 UNION ALL SELECT * FROM t2 ORDER BY a LIMIT 3 OFFSET 2;
id select_type table type possible_keys key key_len ref rows Extra id select_type table type possible_keys key key_len ref rows Extra
1 PRIMARY t1 ALL NULL NULL NULL NULL 2000 NULL PUSHED UNION NULL NULL NULL NULL NULL NULL NULL NULL
2 UNION t2 ALL NULL NULL NULL NULL 2000
NULL UNION RESULT <union1,2> ALL NULL NULL NULL NULL NULL Using filesort
DROP USER 'cejuser'@'localhost'; DROP USER 'cejuser'@'localhost';
DROP TABLE t1, t2, t3, t4; DROP TABLE t1, t2, t3, t4;
DROP DATABASE mdev25080; DROP DATABASE mdev25080;

View File

@@ -75,13 +75,13 @@ SELECT JSON_ARRAYAGG(b LIMIT 1) FROM t1 GROUP BY b;
sorted_result; sorted_result;
SELECT JSON_ARRAYAGG(b LIMIT 2) FROM t1 GROUP BY a; SELECT JSON_ARRAYAGG(b LIMIT 2) FROM t1 GROUP BY a;
sorted_result; sorted_result;
SELECT JSON_ARRAYAGG(DISTINCT a) FROM t1; SELECT JSON_ARRAYAGG(DISTINCT a ORDER BY a ASC) FROM t1;
sorted_result; sorted_result;
SELECT JSON_ARRAYAGG(DISTINCT b) FROM t1; SELECT JSON_ARRAYAGG(DISTINCT b ORDER BY b ASC) FROM t1;
sorted_result; sorted_result;
SELECT JSON_ARRAYAGG(DISTINCT a LIMIT 2) FROM t1; SELECT JSON_ARRAYAGG(DISTINCT a ORDER BY a ASC LIMIT 2) FROM t1;
sorted_result; sorted_result;
SELECT JSON_ARRAYAGG(DISTINCT b LIMIT 2) FROM t1; SELECT JSON_ARRAYAGG(DISTINCT b ORDER BY b ASC LIMIT 2) FROM t1;
-- echo # -- echo #
-- echo # JSON aggregation -- echo # JSON aggregation
@@ -156,14 +156,14 @@ INSERT INTO t1 VALUES (1,1), (2,2), (3,3);
sorted_result; sorted_result;
SELECT JSON_ARRAYAGG(a) FROM t1; SELECT JSON_ARRAYAGG(a) FROM t1;
sorted_result; sorted_result;
SELECT JSON_ARRAYAGG(DISTINCT a) FROM t1; SELECT JSON_ARRAYAGG(DISTINCT a ORDER BY a ASC) FROM t1;
INSERT INTO t1 VALUES (NULL,NULL), (NULL,NULL); INSERT INTO t1 VALUES (NULL,NULL), (NULL,NULL);
sorted_result; sorted_result;
SELECT JSON_ARRAYAGG(a) FROM t1; SELECT JSON_ARRAYAGG(a) FROM t1;
sorted_result; sorted_result;
SELECT JSON_ARRAYAGG(DISTINCT a) FROM t1; SELECT JSON_ARRAYAGG(DISTINCT a ORDER BY a ASC) FROM t1;
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE t1(a VARCHAR(10), b INT)ENGINE=COLUMNSTORE; CREATE TABLE t1(a VARCHAR(10), b INT)ENGINE=COLUMNSTORE;
@@ -173,13 +173,13 @@ INSERT INTO t1 VALUES (1,1), (2,2), (3,3);
sorted_result; sorted_result;
SELECT JSON_ARRAYAGG(a) FROM t1; SELECT JSON_ARRAYAGG(a) FROM t1;
sorted_result; sorted_result;
SELECT JSON_ARRAYAGG(DISTINCT a) FROM t1; SELECT JSON_ARRAYAGG(DISTINCT a ORDER BY a ASC) FROM t1;
INSERT INTO t1 VALUES (NULL,NULL), (NULL,NULL); INSERT INTO t1 VALUES (NULL,NULL), (NULL,NULL);
sorted_result; sorted_result;
SELECT JSON_ARRAYAGG(a) FROM t1; SELECT JSON_ARRAYAGG(a) FROM t1;
sorted_result; sorted_result;
SELECT JSON_ARRAYAGG(DISTINCT a) FROM t1; SELECT JSON_ARRAYAGG(DISTINCT a ORDER BY a ASC) FROM t1;
DROP TABLE t1; DROP TABLE t1;

View File

@@ -22,7 +22,7 @@ CREATE TABLE cs4 (d1 DECIMAL(19) UNSIGNED, d2 DECIMAL(19,10) UNSIGNED, d3 DECIMA
CREATE TABLE cs5(d DECIMAL(25,19)) ENGINE=columnstore; CREATE TABLE cs5(d DECIMAL(25,19)) ENGINE=columnstore;
INSERT INTO cs1 VALUES INSERT INTO cs1 VALUES
(1234,5678,-0.12345678901234567890123456789018,2,1,1), (1234,5678,-0.12345678901234567890123456789018,2,1,1),
(1234,-5678,0.1234567890123456789012345,2,1,1), (1234,-5678,0.1234567890123456789012345,2,1,1),
(12345678901234567890123,1234567890123456789012.9012345678,0.123456789012345678901234567890,2,1,1), (12345678901234567890123,1234567890123456789012.9012345678,0.123456789012345678901234567890,2,1,1),
(NULL,NULL,NULL,2,1,1), (NULL,NULL,NULL,2,1,1),
@@ -34,9 +34,9 @@ INSERT INTO cs1 VALUES
(0,0,0,3,2,2), (0,0,0,3,2,2),
(1234,5678,-0.12345678901234567890123456789018,11111111111111111111111111111111,1,1), (1234,5678,-0.12345678901234567890123456789018,11111111111111111111111111111111,1,1),
(1234,5678,-0.12345678901234567890123456789018,11111111111111111111111111111111,1,1), (1234,5678,-0.12345678901234567890123456789018,11111111111111111111111111111111,1,1),
(1234,5678,-0.12345678901234567890123456789018,11111111111111111111111111111112,1,1); (1234,5678,-0.12345678901234567890123456789018,11111111111111111111111111111112,1,1);
INSERT INTO cs2 VALUES INSERT INTO cs2 VALUES
(1234,5678,0.12345678901234567890123456789018,2,1,1), (1234,5678,0.12345678901234567890123456789018,2,1,1),
(1234,5678,0.1234567890123456789012345,2,1,1), (1234,5678,0.1234567890123456789012345,2,1,1),
(12345678901234567890123,1234567890123456789012.9012345678,0.123456789012345678901234567890,2,1,1), (12345678901234567890123,1234567890123456789012.9012345678,0.123456789012345678901234567890,2,1,1),
(NULL,NULL,NULL,2,1,1), (NULL,NULL,NULL,2,1,1),
@@ -48,9 +48,9 @@ INSERT INTO cs2 VALUES
(0,0,0,3,2,2), (0,0,0,3,2,2),
(1234,5678,0.12345678901234567890123456789018,11111111111111111111111111111111,1,1), (1234,5678,0.12345678901234567890123456789018,11111111111111111111111111111111,1,1),
(1234,5678,0.12345678901234567890123456789018,11111111111111111111111111111111,1,1), (1234,5678,0.12345678901234567890123456789018,11111111111111111111111111111111,1,1),
(1234,5678,0.12345678901234567890123456789018,11111111111111111111111111111112,1,1); (1234,5678,0.12345678901234567890123456789018,11111111111111111111111111111112,1,1);
INSERT INTO cs3 VALUES INSERT INTO cs3 VALUES
(1234,5678,-0.12345678901234,2,1,1), (1234,5678,-0.12345678901234,2,1,1),
(1234,-5678,0.12345678901234,2,1,1), (1234,-5678,0.12345678901234,2,1,1),
(12345678901,12345678.90128,0.1234567890123,2,1,1), (12345678901,12345678.90128,0.1234567890123,2,1,1),
(NULL,NULL,NULL,2,1,1), (NULL,NULL,NULL,2,1,1),
@@ -61,7 +61,7 @@ INSERT INTO cs3 VALUES
(NULL,NULL,NULL,3,2,2), (NULL,NULL,NULL,3,2,2),
(0,0,0,3,2,2); (0,0,0,3,2,2);
INSERT INTO cs4 VALUES INSERT INTO cs4 VALUES
(1234,5678,0.12345678901234,2,1,1), (1234,5678,0.12345678901234,2,1,1),
(1234,5678,0.12345678901234,2,1,1), (1234,5678,0.12345678901234,2,1,1),
(12345678901,12345678.90128,0.1234567890123,2,1,1), (12345678901,12345678.90128,0.1234567890123,2,1,1),
(NULL,NULL,NULL,2,1,1), (NULL,NULL,NULL,2,1,1),
@@ -112,7 +112,7 @@ SELECT "avg(38)_test2", avg(d1),avg(d2),avg(d3) FROM cs2;
SELECT "count(38)_test2", count(d1),count(d2),count(d3) FROM cs2; SELECT "count(38)_test2", count(d1),count(d2),count(d3) FROM cs2;
SELECT "min(38)_test2", min(d1),min(d2),min(d3) FROM cs2; SELECT "min(38)_test2", min(d1),min(d2),min(d3) FROM cs2;
SELECT "max(38)_test2", max(d1),max(d2),max(d3) FROM cs2; SELECT "max(38)_test2", max(d1),max(d2),max(d3) FROM cs2;
SELECT "group_concat(38)_test2", group_concat(d1),group_concat(d2),group_concat(d3) FROM cs2; SELECT "group_concat(38)_test2", group_concat(d1 ORDER BY d1),group_concat(d2 ORDER BY d2),group_concat(d3 ORDER BY d3) FROM cs2;
SELECT "count(distinct 38)_test2", count(distinct d1),count(distinct d2),count(distinct d3) FROM cs2; SELECT "count(distinct 38)_test2", count(distinct d1),count(distinct d2),count(distinct d3) FROM cs2;
#no GROUP BY UDECIMAL(38) UM 1phase aggregates #no GROUP BY UDECIMAL(38) UM 1phase aggregates
SELECT "sum(38)_test2", sum(d1),sum(d2),sum(d3) FROM (SELECT d1,d2,d3 FROM cs2)a1; SELECT "sum(38)_test2", sum(d1),sum(d2),sum(d3) FROM (SELECT d1,d2,d3 FROM cs2)a1;
@@ -120,7 +120,7 @@ SELECT "avg(38)_test2", avg(d1),avg(d2),avg(d3) FROM (SELECT d1,d2,d3 FROM cs2)a
SELECT "count(38)_test2", count(d1),count(d2),count(d3) FROM (SELECT d1,d2,d3 FROM cs2)a1; SELECT "count(38)_test2", count(d1),count(d2),count(d3) FROM (SELECT d1,d2,d3 FROM cs2)a1;
SELECT "min(38)_test2", min(d1),min(d2),min(d3) FROM (SELECT d1,d2,d3 FROM cs2)a1; SELECT "min(38)_test2", min(d1),min(d2),min(d3) FROM (SELECT d1,d2,d3 FROM cs2)a1;
SELECT "max(38)_test2", max(d1),max(d2),max(d3) FROM (SELECT d1,d2,d3 FROM cs2)a1; SELECT "max(38)_test2", max(d1),max(d2),max(d3) FROM (SELECT d1,d2,d3 FROM cs2)a1;
SELECT "group_concat(38)_test2", group_concat(d1),group_concat(d2),group_concat(d3) FROM (SELECT d1,d2,d3 FROM cs2)a1; SELECT "group_concat(38)_test2", group_concat(d1 ORDER BY d1),group_concat(d2 ORDER BY d2),group_concat(d3 ORDER BY d3) FROM (SELECT d1,d2,d3 FROM cs2)a1;
SELECT "count(distinct 38)_test2", count(distinct d1),count(distinct d2),count(distinct d3) FROM (SELECT d1,d2,d3 FROM cs2)a1; SELECT "count(distinct 38)_test2", count(distinct d1),count(distinct d2),count(distinct d3) FROM (SELECT d1,d2,d3 FROM cs2)a1;
#GROUP BY DECIMAL(38) #GROUP BY DECIMAL(38)
SELECT "sum(38)_GB(38)_test2" ,d4,d5,sum(d1),sum(d2),sum(d3) FROM cs2 GROUP BY d4,d5 ORDER BY 2,3; SELECT "sum(38)_GB(38)_test2" ,d4,d5,sum(d1),sum(d2),sum(d3) FROM cs2 GROUP BY d4,d5 ORDER BY 2,3;
@@ -136,7 +136,7 @@ SELECT "avg(38)_GB(8)_test2" ,i1,avg(d1),avg(d2),avg(d3) FROM cs2 GROUP BY i1 OR
SELECT "count(38)_GB(8)_test2" ,i1,count(d1),count(d2),count(d3) FROM cs2 GROUP BY i1 ORDER BY 2,3; SELECT "count(38)_GB(8)_test2" ,i1,count(d1),count(d2),count(d3) FROM cs2 GROUP BY i1 ORDER BY 2,3;
SELECT "min(38)_GB(8)_test2" ,i1,min(d1),min(d2),min(d3) FROM cs2 GROUP BY i1 ORDER BY 2,3; SELECT "min(38)_GB(8)_test2" ,i1,min(d1),min(d2),min(d3) FROM cs2 GROUP BY i1 ORDER BY 2,3;
SELECT "max(38)_GB(8)_test2" ,i1,max(d1),max(d2),max(d3) FROM cs2 GROUP BY i1 ORDER BY 2,3; SELECT "max(38)_GB(8)_test2" ,i1,max(d1),max(d2),max(d3) FROM cs2 GROUP BY i1 ORDER BY 2,3;
SELECT "group_concat(38)_GB(8)_test2", group_concat(d1 ORDER BY d1),group_concat(d2 ORDER BY d1),group_concat(d3 ORDER BY d1) FROM cs2 GROUP BY i1 ORDER BY 2,3; SELECT "group_concat(38)_GB(8)_test2", group_concat(d1 ORDER BY d1),group_concat(d2 ORDER BY d2),group_concat(d3 ORDER BY d3) FROM cs2 GROUP BY i1 ORDER BY 2,3;
SELECT "count(distinct 38)_GB(8)_test2", count(distinct d1),count(distinct d2),count(distinct d3) FROM cs2 GROUP BY i1 ORDER BY 2,3; SELECT "count(distinct 38)_GB(8)_test2", count(distinct d1),count(distinct d2),count(distinct d3) FROM cs2 GROUP BY i1 ORDER BY 2,3;
#no GROUP BY DECIMAL(19) #no GROUP BY DECIMAL(19)
@@ -145,14 +145,14 @@ SELECT "avg(19)_test3", avg(d1),avg(d2),avg(d3) FROM cs3;
SELECT "count(19)_test3", count(d1),count(d2),count(d3) FROM cs3; SELECT "count(19)_test3", count(d1),count(d2),count(d3) FROM cs3;
SELECT "min(19)_test3", min(d1),min(d2),min(d3) FROM cs3; SELECT "min(19)_test3", min(d1),min(d2),min(d3) FROM cs3;
SELECT "max(19)_test3", max(d1),max(d2),max(d3) FROM cs3; SELECT "max(19)_test3", max(d1),max(d2),max(d3) FROM cs3;
SELECT "group_concat(38)_test3", group_concat(d1 ORDER BY d1),group_concat(d2 ORDER BY d1),group_concat(d3 ORDER BY d1) FROM cs3; SELECT "group_concat(38)_test3", group_concat(d1 ORDER BY d1),group_concat(d2 ORDER BY d2),group_concat(d3 ORDER BY d3) FROM cs3;
SELECT "count(distinct 38)_test3", count(distinct d1),count(distinct d2),count(distinct d3) FROM cs3; SELECT "count(distinct 38)_test3", count(distinct d1),count(distinct d2),count(distinct d3) FROM cs3;
#no GROUP BY DECIMAL(19) UM 1phase aggregates #no GROUP BY DECIMAL(19) UM 1phase aggregates
SELECT "sum(19)_test3", sum(d1),sum(d2),sum(d3) FROM (SELECT d1,d2,d3 FROM cs3)a1; SELECT "sum(19)_test3", sum(d1),sum(d2),sum(d3) FROM (SELECT d1,d2,d3 FROM cs3)a1;
SELECT "avg(19)_test3", avg(d1),avg(d2),avg(d3) FROM (SELECT d1,d2,d3 FROM cs3)a1; SELECT "avg(19)_test3", avg(d1),avg(d2),avg(d3) FROM (SELECT d1,d2,d3 FROM cs3)a1;
SELECT "count(19)_test3", count(d1),count(d2),count(d3) FROM (SELECT d1,d2,d3 FROM cs3)a1; SELECT "count(19)_test3", count(d1),count(d2),count(d3) FROM (SELECT d1,d2,d3 FROM cs3)a1;
SELECT "min(19)_test3", min(d1),min(d2),min(d3) FROM (SELECT d1,d2,d3 FROM cs3)a1; SELECT "min(19)_test3", min(d1),min(d2),min(d3) FROM (SELECT d1,d2,d3 FROM cs3)a1;
SELECT "max(19)_test3", max(d1),max(d2),max(d3) FROM (SELECT d1,d2,d3 FROM cs3)a1; SELECT "max(19)_test3", max(d1),max(d2),max(d3) FROM cs3;
SELECT "group_concat(38)_test3", group_concat(d1 ORDER BY d1),group_concat(d2 ORDER BY d2),group_concat(d3 ORDER BY d3) FROM (SELECT d1,d2,d3 FROM cs3)a1; SELECT "group_concat(38)_test3", group_concat(d1 ORDER BY d1),group_concat(d2 ORDER BY d2),group_concat(d3 ORDER BY d3) FROM (SELECT d1,d2,d3 FROM cs3)a1;
SELECT "count(distinct 38)_test3", count(distinct d1),count(distinct d2),count(distinct d3) FROM (SELECT d1,d2,d3 FROM cs3)a1; SELECT "count(distinct 38)_test3", count(distinct d1),count(distinct d2),count(distinct d3) FROM (SELECT d1,d2,d3 FROM cs3)a1;
#GROUP BY DECIMAL(38) #GROUP BY DECIMAL(38)
@@ -214,7 +214,7 @@ SELECT avg(d) FROM cs5;
UPDATE cs5 SET d=-d; UPDATE cs5 SET d=-d;
SELECT avg(d) FROM cs5; SELECT avg(d) FROM cs5;
#Add HAVING with GB #Add HAVING with GB
DROP TABLE cs1; DROP TABLE cs1;
DROP TABLE cs2; DROP TABLE cs2;

View File

@@ -69,13 +69,11 @@ select * from cs1 where a in (select t1.b from cs2 t1, cs2 t2 where t1.b=t2.b an
select * from cs1 where a in (select t1.b from cs2 t1 join cs2 t2 on t1.b=t2.b and t1.c=t2.c); select * from cs1 where a in (select t1.b from cs2 t1 join cs2 t2 on t1.b=t2.b and t1.c=t2.c);
### Outer query containing joins ### Outer query containing joins
--sorted_result select * from cs1 join cs2 on cs1.a=cs2.b and cs1.a in (select b from cs2) order by cs1.a, cs2.b, cs2.c;
select * from cs1 join cs2 on cs1.a=cs2.b and cs1.a in (select b from cs2); select * from cs1 join cs2 on cs1.a=cs2.b and cs1.a in (select b from cs2) and cs1.a=1 order by cs1.a, cs2.b, cs2.c;
select * from cs1 join cs2 on cs1.a=cs2.b and cs1.a in (select b from cs2) and cs1.a=1;
### Both IN subquery and outer queries containing joins ### Both IN subquery and outer queries containing joins
--sorted_result select * from cs1 join cs2 on cs1.a=cs2.b and cs1.a in (select t1.b from cs2 t1 join cs2 t2 on t1.b=t2.b and t1.b=1) order by cs1.a, cs2.b, cs2.c;
select * from cs1 join cs2 on cs1.a=cs2.b and cs1.a in (select t1.b from cs2 t1 join cs2 t2 on t1.b=t2.b and t1.b=1);
## NOT IN subquery ## NOT IN subquery
### Basic tests ### Basic tests
@@ -217,13 +215,11 @@ select * from cs1 where (a,d) in (select t1.b,t1.c from cs2 t1, cs2 t2 where t1.
select * from cs1 where (a,d) in (select t1.b,t1.c from cs2 t1 join cs2 t2 on t1.b=t2.b and t1.c=t2.c); select * from cs1 where (a,d) in (select t1.b,t1.c from cs2 t1 join cs2 t2 on t1.b=t2.b and t1.c=t2.c);
### Outer query containing joins ### Outer query containing joins
--sorted_result select * from cs1 join cs2 on cs1.a=cs2.b and (cs1.a,cs1.d) in (select b,c from cs2) order by cs1.a, cs1.d, cs2.b, cs2.c;
select * from cs1 join cs2 on cs1.a=cs2.b and (cs1.a,cs1.d) in (select b,c from cs2); select * from cs1 join cs2 on cs1.a=cs2.b and (cs1.a,cs1.d) in (select b,c from cs2) and cs1.a=1 order by cs1.a, cs1.d, cs2.b, cs2.c;
--sorted_result
select * from cs1 join cs2 on cs1.a=cs2.b and (cs1.a,cs1.d) in (select b,c from cs2) and cs1.a=1;
### Both IN subquery and outer queries containing joins ### Both IN subquery and outer queries containing joins
select * from cs1 join cs2 on cs1.a=cs2.b and (cs1.a,cs1.d) in (select t1.b,t1.c from cs2 t1 join cs2 t2 on t1.b=t2.b and t1.b=1); select * from cs1 join cs2 on cs1.a=cs2.b and (cs1.a,cs1.d) in (select t1.b,t1.c from cs2 t1 join cs2 t2 on t1.b=t2.b and t1.b=1) order by cs1.a, cs1.d, cs2.b, cs2.c;
# Prepared statement tests # Prepared statement tests
drop table cs1; drop table cs1;

View File

@@ -36,8 +36,8 @@ UPDATE t1 SET a = NULL, b =1;
--error 1064 --error 1064
UPDATE t1 SET a = ; UPDATE t1 SET a = ;
SELECT * FROm t1 ORDER BY a; SELECT * FROm t1 ORDER BY a, b;
SELECT * FROm t2 ORDER BY a; SELECT * FROm t2 ORDER BY a, b;
# Clean up # Clean up
--disable_warnings --disable_warnings

View File

@@ -15,6 +15,7 @@ USE mcs34_db1;
#Test with mixed datatypes #Test with mixed datatypes
CREATE TABLE t1 CREATE TABLE t1
( (
id INT,
t1_tinyint TINYINT DEFAULT 0, t1_tinyint TINYINT DEFAULT 0,
t1_int INT DEFAULT NULL, t1_int INT DEFAULT NULL,
t1_bigint BIGINT, t1_bigint BIGINT,
@@ -27,85 +28,83 @@ CREATE TABLE t1
t1_datetime DATETIME t1_datetime DATETIME
)ENGINE=Columnstore; )ENGINE=Columnstore;
INSERT INTO t1 (t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime) INSERT INTO t1 (id, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime)
VALUES(203685477580676, -3.797693231E+108, -7.402866E+18, repeat('b',100), repeat('b',100), 'b', '2387-11-08 11:22:30.123'); VALUES(1, 203685477580676, -3.797693231E+108, -7.402866E+18, repeat('b',100), repeat('b',100), 'b', '2387-11-08 11:22:30');
INSERT INTO t1 (t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime) INSERT INTO t1 (id, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime)
VALUES(303685477580676, -4.797693231, -8.402866, repeat('b',101), repeat('b',101), 'b', '3387-11-08 11:22:30.123'); VALUES(2, 303685477580676, -4.797693231, -8.402866, repeat('b',101), repeat('b',101), 'b', '3387-11-08 11:22:30');
INSERT INTO t1 (t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime) INSERT INTO t1 (id, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime)
VALUES(403685477580676, +54.797693231, +8.402866, repeat('c',101), repeat('c',101), 'c', '3387-11-08 11:22:30.123'); VALUES(3, 403685477580676, +54.797693231, +8.402866, repeat('c',101), repeat('c',101), 'c', '3387-11-08 11:22:30');
INSERT INTO t1 (t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime) INSERT INTO t1 (id, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime)
VALUES(403685477580676, +54.797693231, +8.402866, repeat('c',101), repeat('c',101), 'c', '3387-11-08 11:22:30.123'); VALUES(4, 403685477580677, +54.797693232, +8.402867, repeat('c',101), repeat('c',101), 'c', '3387-11-08 11:22:31');
INSERT INTO t1 (t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime) INSERT INTO t1 (id, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime)
VALUES(403685477580676, +54.797693231, +8.402866, repeat('c',101), repeat('c',101), 'c', '3387-11-08 11:22:30.123'); VALUES(5, 403685477580678, +54.797693233, +8.402868, repeat('c',101), repeat('c',101), 'c', '3387-11-08 11:22:32');
INSERT INTO t1 (t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime) INSERT INTO t1 (id, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime)
VALUES(403685477580676, +54.797693231, +8.402866, repeat('c',101), repeat('c',101), 'c', '3387-11-08 11:22:30.123'); VALUES(6, 403685477580679, +54.797693234, +8.402869, repeat('c',101), repeat('c',101), 'c', '3387-11-08 11:22:33');
INSERT INTO t1 (t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime) INSERT INTO t1 (id, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime)
VALUES(403685477580676, +54.797693231, +8.402866, repeat('c',101), repeat('c',101), 'c', '3387-11-08 11:22:30.123'); VALUES(7, 403685477580680, +54.797693235, +8.402870, repeat('c',101), repeat('c',101), 'c', '3387-11-08 11:22:34');
INSERT INTO t1 (t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime) INSERT INTO t1 (id, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime)
VALUES(403685477580676, +54.797693231, +8.402866, repeat('c',101), repeat('c',101), 'c', '3387-11-08 11:22:30.123'); VALUES(8, 503685477580676, +64.797693231, +9.402866, repeat('2',102), repeat('d',102), 'd', '4387-11-08 11:22:30');
INSERT INTO t1 (t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_datetime) INSERT INTO t1 VALUES(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
VALUES(403685477580676, +54.797693231, +8.402866, repeat('2',102), repeat('d',102), 'd', '4387-11-08 11:22:30.123');
INSERT INTO t1 VALUES(NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
SELECT * FROM t1; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 1,2,3,4,5,8,9,10, id;
SELECT * FROM t1 ORDER BY t1_tinyint; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 1, id;
SELECT * FROM t1 ORDER BY t1_tinyint ASC; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 1 ASC, id ASC;
SELECT * FROM t1 ORDER BY t1_tinyint DESC; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 1 DESC, id ASC;
SELECT * FROM t1 ORDER BY t1_int; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 2, id;
SELECT * FROM t1 ORDER BY t1_int ASC; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 2 ASC, id ASC;
SELECT * FROM t1 ORDER BY t1_int DESC; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 2 DESC, id ASC;
SELECT * FROM t1 ORDER BY t1_bigint; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 3, id;
SELECT * FROM t1 ORDER BY t1_bigint ASC; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 3 ASC, id ASC;
SELECT * FROM t1 ORDER BY t1_bigint DESC; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 3 DESC, id ASC;
SELECT * FROM t1 ORDER BY t1_double; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 4, id;
SELECT * FROM t1 ORDER BY t1_double ASC; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 4 ASC, id ASC;
SELECT * FROM t1 ORDER BY t1_double DESC; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 4 DESC, id ASC;
SELECT * FROM t1 ORDER BY t1_float; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 5, id;
SELECT * FROM t1 ORDER BY t1_float ASC; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 5 ASC, id ASC;
SELECT * FROM t1 ORDER BY t1_float DESC; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 5 DESC, id ASC;
SELECT * FROM t1 ORDER BY t1_blob; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 6, id;
SELECT * FROM t1 ORDER BY t1_blob ASC; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 6 ASC, id ASC;
SELECT * FROM t1 ORDER BY t1_blob DESC; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 6 DESC, id ASC;
SELECT * FROM t1 ORDER BY t1_text; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 7, id;
SELECT * FROM t1 ORDER BY t1_text ASC; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 7 ASC, id ASC;
SELECT * FROM t1 ORDER BY t1_text DESC; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 7 DESC, id ASC;
SELECT * FROM t1 ORDER BY t1_char; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 8, id;
SELECT * FROM t1 ORDER BY t1_char ASC; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 8 ASC, id ASC;
SELECT * FROM t1 ORDER BY t1_char DESC; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 8 DESC, id ASC;
SELECT * FROM t1 ORDER BY t1_varchar; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 9, id;
SELECT * FROM t1 ORDER BY t1_varchar ASC; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 9 ASC, id ASC;
SELECT * FROM t1 ORDER BY t1_varchar DESC; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 9 DESC, id ASC;
SELECT * FROM t1 ORDER BY t1_datetime; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 10, id;
SELECT * FROM t1 ORDER BY t1_datetime ASC; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 10 ASC, id ASC;
SELECT * FROM t1 ORDER BY t1_datetime DESC; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 10 DESC, id ASC;
#ORDER BY multiple columns #ORDER BY multiple columns
SELECT * FROM t1 ORDER BY t1_tinyint, t1_int, t1_bigint; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 1, 2, 3, id;
SELECT * FROM t1 ORDER BY t1_tinyint, t1_int, t1_bigint ASC; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 1, 2, 3 ASC, id ASC;
SELECT * FROM t1 ORDER BY t1_tinyint, t1_int, t1_bigint DESC; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 1, 2, 3 DESC, id ASC;
SELECT * FROM t1 ORDER BY t1_double, t1_float; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 4, 5, id;
SELECT * FROM t1 ORDER BY t1_double, t1_float ASC; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 4, 5 ASC, id ASC;
SELECT * FROM t1 ORDER BY t1_double, t1_float DESC; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 4, 5 DESC, id ASC;
SELECT * FROM t1 ORDER BY t1_blob, t1_text, t1_char; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 6, 7, 8, id;
SELECT * FROM t1 ORDER BY t1_blob, t1_text, t1_char ASC; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 6, 7, 8 ASC, id ASC;
SELECT * FROM t1 ORDER BY t1_blob, t1_text, t1_char DESC; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 6, 7, 8 DESC, id ASC;
SELECT * FROM t1 ORDER BY t1_varchar, t1_datetime; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 9, 10, id;
SELECT * FROM t1 ORDER BY t1_varchar, t1_datetime ASC; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 9, 10 ASC, id ASC;
SELECT * FROM t1 ORDER BY t1_varchar, t1_datetime DESC; SELECT t1_tinyint, t1_int, t1_bigint, t1_double, t1_float, t1_blob, t1_text, t1_char, t1_varchar, t1_datetime FROM t1 ORDER BY 9, 10 DESC, id ASC;
#Clean up #Clean up
DROP DATABASE IF EXISTS mcs34_db1; DROP DATABASE IF EXISTS mcs34_db1;

View File

@@ -41,15 +41,15 @@ CREATE TABLE t2 (t2_int INT, t2_char CHAR(5))ENGINE=Columnstore;
INSERT INTO t1 VALUES (NULL,NULL),(1,'ddd'),(2,'bbb'),(3,'fffff'),(4,'eee'),(5,'a'),(6,'ccc'),(7,'ggg'); INSERT INTO t1 VALUES (NULL,NULL),(1,'ddd'),(2,'bbb'),(3,'fffff'),(4,'eee'),(5,'a'),(6,'ccc'),(7,'ggg');
INSERT INTO t2 VALUES (NULL,NULL),(1,'ooo'),(3,'iii'),(5,'hhh'),(7,'nnnnn'),(9,'kkkk'),(11,'mm'),(13,'j'); INSERT INTO t2 VALUES (NULL,NULL),(1,'ooo'),(3,'iii'),(5,'hhh'),(7,'nnnnn'),(9,'kkkk'),(11,'mm'),(13,'j');
SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY 1; SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY t1.t1_int, t2.t2_int, t1.t1_char, t2.t2_char;
SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY 1 ASC; SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY t1.t1_int ASC, t2.t2_int ASC, t1.t1_char ASC;
SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY 1 DESC; SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY t1.t1_int DESC, t2.t2_int DESC, t1.t1_char DESC;
SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY 2; SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY t1.t1_char, t1.t1_int, t2.t2_int;
SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY 2 DESC; SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY t1.t1_char DESC, t1.t1_int DESC, t2.t2_int DESC;
SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY 3; SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY t2.t2_int, t1.t1_int, t2.t2_char;
SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY 3 DESC; SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY t2.t2_int DESC, t1.t1_int DESC, t2.t2_char DESC;
SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY 4 ASC; SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY t2.t2_char ASC, t2.t2_int, t1.t1_int;
SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY 4 DESC; SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY t2.t2_char DESC, t2.t2_int DESC, t1.t1_int DESC;
--error ER_BAD_FIELD_ERROR --error ER_BAD_FIELD_ERROR
SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY -1; SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY -1;
--error ER_BAD_FIELD_ERROR --error ER_BAD_FIELD_ERROR
@@ -57,23 +57,23 @@ SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY 0;
--error ER_BAD_FIELD_ERROR --error ER_BAD_FIELD_ERROR
SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY 5; SELECT * FROM t1, t2 WHERE t1.t1_int = t2.t2_int ORDER BY 5;
SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_int DESC; SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_int DESC, t2.t2_int DESC, t1.t1_char DESC;
SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_int ASC; SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_int ASC, t2.t2_int ASC, t1.t1_char ASC;
SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_char DESC; SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_char DESC, t1.t1_int DESC, t2.t2_int DESC;
SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_char ASC; SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_char ASC, t1.t1_int ASC, t2.t2_int ASC;
SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_int DESC; SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_int DESC, t1.t1_int DESC, t2.t2_char DESC;
SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_int ASC; SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_int ASC, t1.t1_int ASC, t2.t2_char ASC;
SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_char DESC; SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_char DESC, t2.t2_int DESC, t1.t1_int DESC;
SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_char ASC; SELECT * FROM t1 LEFT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_char ASC, t2.t2_int ASC, t1.t1_int ASC;
SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_int DESC; SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_int DESC, t2.t2_int DESC, t1.t1_char DESC;
SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_int ASC; SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_int ASC, t2.t2_int ASC, t1.t1_char ASC;
SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_char DESC; SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_char DESC, t1.t1_int DESC, t2.t2_int DESC;
SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_char ASC; SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t1.t1_char ASC, t1.t1_int ASC, t2.t2_int ASC;
SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_int DESC; SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_int DESC, t1.t1_int DESC, t2.t2_char DESC;
SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_int ASC; SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_int ASC, t1.t1_int ASC, t2.t2_char ASC;
SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_char DESC; SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_char DESC, t2.t2_int DESC, t1.t1_int DESC;
SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_char ASC; SELECT * FROM t1 RIGHT JOIN t2 ON t1.t1_int = t2.t2_int ORDER BY t2.t2_char ASC, t2.t2_int ASC, t1.t1_int ASC;
# Clean UP # Clean UP
DROP USER 'cejuser'@'localhost'; DROP USER 'cejuser'@'localhost';

View File

@@ -41,11 +41,11 @@ CREATE TABLE t2 (a INT, b CHAR(5))ENGINE=Columnstore;
INSERT INTO t1 VALUES (NULL, ''),(1, 'aaa'),(2, 'aaa'),(3, 'ccc'),(4, 'ddd'),(5, 'aaa'),(6, ''),(7, 'eee'); INSERT INTO t1 VALUES (NULL, ''),(1, 'aaa'),(2, 'aaa'),(3, 'ccc'),(4, 'ddd'),(5, 'aaa'),(6, ''),(7, 'eee');
INSERT INTO t2 VALUES (NULL, ''),(1, 'eee'),(3, 'ccc'),(5, 'jjj'),(6, ''),(7, 'ccc'),(9, 'eee'),(11, 'nnn'); INSERT INTO t2 VALUES (NULL, ''),(1, 'eee'),(3, 'ccc'),(5, 'jjj'),(6, ''),(7, 'ccc'),(9, 'eee'),(11, 'nnn');
SELECT t1.a,t3.y FROM t1,(SELECT a AS y FROM t2 WHERE b='ccc') AS t3 WHERE t1.a = t3.y; SELECT t1.a,t3.y FROM t1,(SELECT a AS y FROM t2 WHERE b='ccc') AS t3 WHERE t1.a = t3.y ORDER BY t1.a, t3.y;
SELECT t1.a,t3.a FROM t1,(SELECT * FROM t2 WHERE b='ccc') t3 WHERE t1.a = t3.a; SELECT t1.a,t3.a FROM t1,(SELECT * FROM t2 WHERE b='ccc') t3 WHERE t1.a = t3.a ORDER BY t1.a, t3.a;
SELECT t1.a,t3.a FROM t1 JOIN (SELECT * FROM t2 WHERE b='ccc') t3 ON t1.a = t3.a ORDER BY t1.a; SELECT t1.a,t3.a FROM t1 JOIN (SELECT * FROM t2 WHERE b='ccc') t3 ON t1.a = t3.a ORDER BY t1.a, t3.a;
SELECT t1.a,t3.a FROM t1 LEFT JOIN (SELECT * FROM t2) t3 ON t1.a = t3.a ORDER BY t3.a; SELECT t1.a,t3.a FROM t1 LEFT JOIN (SELECT * FROM t2) t3 ON t1.a = t3.a ORDER BY t3.a, t1.a;
SELECT t1.a,t3.a FROM t1 RIGHT JOIN (SELECT * FROM t2) t3 ON t1.a = t3.a ORDER BY 1; SELECT t1.a,t3.a FROM t1 RIGHT JOIN (SELECT * FROM t2) t3 ON t1.a = t3.a ORDER BY t3.a, t1.a;
# cross engine # cross engine
CREATE TABLE t3 (a INT, b CHAR(5))ENGINE=Innodb; CREATE TABLE t3 (a INT, b CHAR(5))ENGINE=Innodb;
@@ -53,12 +53,12 @@ CREATE TABLE t4 (a INT, b CHAR(5))ENGINE=Myisam;
INSERT INTO t3 SELECT * FROM t2; INSERT INTO t3 SELECT * FROM t2;
INSERT INTO t4 SELECT * FROM t1; INSERT INTO t4 SELECT * FROM t1;
SELECT t3.a, t.a FROM t3 JOIN (SELECT * FROM t2 WHERE b='ccc') t ON t.a = t3.a ORDER BY t.a; SELECT t3.a, t.a FROM t3 JOIN (SELECT * FROM t2 WHERE b='ccc') t ON t.a = t3.a ORDER BY t.a, t3.a;
SELECT t3.a, t.a FROM t3 LEFT JOIN (SELECT * FROM t2) t ON t.a = t3.a ORDER BY t3.a; SELECT t3.a, t.a FROM t3 LEFT JOIN (SELECT * FROM t2) t ON t.a = t3.a ORDER BY t3.a, t.a;
SELECT t3.a, t.a FROM t3 RIGHT JOIN (SELECT * FROM t2) t ON t.a = t3.a ORDER BY 1; SELECT t3.a, t.a FROM t3 RIGHT JOIN (SELECT * FROM t2) t ON t.a = t3.a ORDER BY t.a, t3.a;
SELECT t4.a, t.a FROM t4 JOIN (SELECT * FROM t2 WHERE b='ccc') t ON t.a = t4.a ORDER BY t.a; SELECT t4.a, t.a FROM t4 JOIN (SELECT * FROM t2 WHERE b='ccc') t ON t.a = t4.a ORDER BY t.a, t4.a;
SELECT t4.a, t.a FROM t4 LEFT JOIN (SELECT * FROM t2) t ON t.a = t4.a ORDER BY t4.a; SELECT t4.a, t.a FROM t4 LEFT JOIN (SELECT * FROM t2) t ON t.a = t4.a ORDER BY t4.a, t.a;
SELECT t4.a, t.a FROM t4 RIGHT JOIN (SELECT * FROM t2) t ON t.a = t4.a ORDER BY 2; SELECT t4.a, t.a FROM t4 RIGHT JOIN (SELECT * FROM t2) t ON t.a = t4.a ORDER BY t.a, t4.a;
# Clean UP # Clean UP
DROP USER 'cejuser'@'localhost'; DROP USER 'cejuser'@'localhost';

View File

@@ -14,11 +14,11 @@ USE mcs97_db;
CREATE TABLE t1 (a INT, b CHAR(5))ENGINE=Columnstore; CREATE TABLE t1 (a INT, b CHAR(5))ENGINE=Columnstore;
INSERT INTO t1 VALUES (NULL, NULL),(1, 'aaa'),(2, 'aaa'),(3, 'ccc'),(4, 'ddd'),(5, 'aaa'),(6, 'ddd'),(7, 'eee'); INSERT INTO t1 VALUES (NULL, NULL),(1, 'aaa'),(2, 'aaa'),(3, 'ccc'),(4, 'ddd'),(5, 'aaa'),(6, 'ddd'),(7, 'eee');
SELECT GROUP_CONCAT(a) FROM t1; SELECT GROUP_CONCAT(a ORDER BY a) FROM t1;
SELECT GROUP_CONCAT(a SEPARATOR ';') FROM t1 ORDER BY a DESC;
SELECT GROUP_CONCAT(a ORDER BY a DESC SEPARATOR ';') FROM t1; SELECT GROUP_CONCAT(a ORDER BY a DESC SEPARATOR ';') FROM t1;
SELECT GROUP_CONCAT(b) FROM t1; SELECT GROUP_CONCAT(a ORDER BY a DESC SEPARATOR ';') FROM t1;
SELECT GROUP_CONCAT(DISTINCT b SEPARATOR ';') FROM t1 ORDER BY b ASC; SELECT GROUP_CONCAT(b ORDER BY b) FROM t1;
SELECT GROUP_CONCAT(DISTINCT b ORDER BY b ASC SEPARATOR ';') FROM t1;
SELECT GROUP_CONCAT(b ORDER BY b DESC SEPARATOR ';') FROM t1; SELECT GROUP_CONCAT(b ORDER BY b DESC SEPARATOR ';') FROM t1;
# Clean UP # Clean UP

View File

@@ -1,10 +1,6 @@
--echo # --echo #
--echo # MDEV-25080: Allow pushdown of queries involving UNIONs --echo # MDEV-25080: Allow pushdown of queries involving UNIONs
--echo # in outer select to foreign engines --echo # in outer select to foreign engines
--echo #
--echo # Remove the sorted_result MTR qualifier and add ORDER BY
--echo # clause after MCOL-5222 is fixed
--echo #
--source ../include/have_columnstore.inc --source ../include/have_columnstore.inc
@@ -51,71 +47,73 @@ INSERT INTO t3 VALUES ('t3_myisam1'), ('t3_myisam2'), ('t3_myisam3');
INSERT INTO t4 VALUES ('t4_myisam1'), ('t4_myisam2'), ('t4_myisam3'); INSERT INTO t4 VALUES ('t4_myisam1'), ('t4_myisam2'), ('t4_myisam3');
--echo # Pushdown of the whole UNION --echo # Pushdown of the whole UNION
--sorted_result SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY 1;
SELECT * FROM t1 UNION SELECT * FROM t2; EXPLAIN SELECT * FROM t1 UNION SELECT * FROM t2 ORDER BY 1;
EXPLAIN SELECT * FROM t1 UNION SELECT * FROM t2;
--sorted_result SELECT * FROM t1 UNION ALL SELECT * FROM t2 ORDER BY 1;
SELECT * FROM t1 UNION ALL SELECT * FROM t2; EXPLAIN SELECT * FROM t1 UNION ALL SELECT * FROM t2 ORDER BY 1;
EXPLAIN SELECT * FROM t1 UNION ALL SELECT * FROM t2;
--echo # UNION with a foreign engine --echo # UNION with a foreign engine
--sorted_result SELECT * FROM t1 UNION SELECT * FROM t3 ORDER BY 1;
SELECT * FROM t1 UNION SELECT * FROM t3; EXPLAIN SELECT * FROM t1 UNION SELECT * FROM t3 ORDER BY 1;
EXPLAIN SELECT * FROM t1 UNION SELECT * FROM t3;
--echo # More than two SELECTs in a UNIT: --echo # More than two SELECTs in a UNIT:
--sorted_result
SELECT * FROM t1 UNION SELECT * FROM t1 UNION
SELECT * FROM t2 UNION ALL SELECT * FROM t2 UNION ALL
SELECT * FROM t1; SELECT * FROM t1
ORDER BY 1;
EXPLAIN SELECT * FROM t1 UNION EXPLAIN SELECT * FROM t1 UNION
SELECT * FROM t2 UNION ALL SELECT * FROM t2 UNION ALL
SELECT * FROM t1; SELECT * FROM t1
ORDER BY 1;
--sorted_result
(SELECT * FROM t1 UNION (SELECT * FROM t1 UNION
SELECT * FROM t2) UNION ALL SELECT * FROM t2) UNION ALL
SELECT * FROM t1; SELECT * FROM t1
ORDER BY 1;
EXPLAIN (SELECT * FROM t1 UNION EXPLAIN (SELECT * FROM t1 UNION
SELECT * FROM t2) UNION ALL SELECT * FROM t2) UNION ALL
SELECT * FROM t1; SELECT * FROM t1
ORDER BY 1;
--sorted_result
SELECT * FROM t1 UNION SELECT * FROM t1 UNION
SELECT * FROM t2 UNION ALL SELECT * FROM t2 UNION ALL
SELECT * FROM t3 UNION SELECT * FROM t3 UNION
SELECT * FROM t4; SELECT * FROM t4
ORDER BY 1;
EXPLAIN SELECT * FROM t1 UNION EXPLAIN SELECT * FROM t1 UNION
SELECT * FROM t2 UNION ALL SELECT * FROM t2 UNION ALL
SELECT * FROM t3 UNION SELECT * FROM t3 UNION
SELECT * FROM t4; SELECT * FROM t4
ORDER BY 1;
--sorted_result
(SELECT * FROM t1 UNION (SELECT * FROM t1 UNION
SELECT * FROM t2) UNION ALL SELECT * FROM t2) UNION ALL
(SELECT * FROM t3 UNION (SELECT * FROM t3 UNION
SELECT * FROM t4); SELECT * FROM t4)
ORDER BY 1;
EXPLAIN (SELECT * FROM t1 UNION EXPLAIN (SELECT * FROM t1 UNION
SELECT * FROM t2) UNION ALL SELECT * FROM t2) UNION ALL
(SELECT * FROM t3 UNION (SELECT * FROM t3 UNION
SELECT * FROM t4); SELECT * FROM t4)
ORDER BY 1;
--sorted_result
SELECT count(*) FROM t1 UNION SELECT count(*) FROM t1 UNION
SELECT count(*) FROM t2 UNION ALL SELECT count(*) FROM t2 UNION ALL
SELECT count(*)+20 FROM t2 UNION SELECT count(*)+20 FROM t2 UNION
SELECT count(*)+5 FROM t1; SELECT count(*)+5 FROM t1
ORDER BY 1;
EXPLAIN EXPLAIN
SELECT count(*) FROM t1 UNION SELECT count(*) FROM t1 UNION
SELECT count(*) FROM t2 UNION ALL SELECT count(*) FROM t2 UNION ALL
SELECT count(*)+20 FROM t2 UNION SELECT count(*)+20 FROM t2 UNION
SELECT count(*)+5 FROM t1; SELECT count(*)+5 FROM t1
ORDER BY 1;
--echo # UNION inside a derived table: the whole derived table must be pushed --echo # UNION inside a derived table: the whole derived table must be pushed
SELECT a FROM SELECT a FROM
@@ -134,17 +132,14 @@ EXPLAIN
--echo # Prepared statements --echo # Prepared statements
PREPARE stmt FROM "SELECT * FROM t1 UNION PREPARE stmt FROM "SELECT * FROM t1 UNION
SELECT * FROM t2"; SELECT * FROM t2 ORDER BY 1";
--sorted_result
EXECUTE stmt; EXECUTE stmt;
--sorted_result
EXECUTE stmt; EXECUTE stmt;
--sorted_result
EXECUTE stmt; EXECUTE stmt;
PREPARE stmt FROM "EXPLAIN SELECT * FROM t1 UNION PREPARE stmt FROM "EXPLAIN SELECT * FROM t1 UNION
SELECT * FROM t2"; SELECT * FROM t2 ORDER BY 1";
EXECUTE stmt; EXECUTE stmt;
EXECUTE stmt; EXECUTE stmt;
@@ -152,19 +147,16 @@ EXECUTE stmt;
PREPARE stmt FROM "(SELECT * FROM t1 UNION PREPARE stmt FROM "(SELECT * FROM t1 UNION
SELECT * FROM t2) UNION ALL SELECT * FROM t2) UNION ALL
(SELECT * FROM t1 UNION (SELECT * FROM t1 UNION
SELECT * FROM t2)"; SELECT * FROM t2) ORDER BY 1";
--sorted_result
EXECUTE stmt; EXECUTE stmt;
--sorted_result
EXECUTE stmt; EXECUTE stmt;
--sorted_result
EXECUTE stmt; EXECUTE stmt;
PREPARE stmt FROM "EXPLAIN (SELECT * FROM t1 UNION PREPARE stmt FROM "EXPLAIN (SELECT * FROM t1 UNION
SELECT * FROM t2) UNION ALL SELECT * FROM t2) UNION ALL
(SELECT * FROM t1 UNION (SELECT * FROM t1 UNION
SELECT * FROM t2)"; SELECT * FROM t2) ORDER BY 1";
EXECUTE stmt; EXECUTE stmt;
EXECUTE stmt; EXECUTE stmt;
@@ -173,8 +165,8 @@ EXECUTE stmt;
--echo # clause is involved, until MCOL-5222 is fixed. --echo # clause is involved, until MCOL-5222 is fixed.
SELECT * FROM t1 UNION ALL SELECT * FROM t2 ORDER BY a; SELECT * FROM t1 UNION ALL SELECT * FROM t2 ORDER BY a;
EXPLAIN SELECT * FROM t1 UNION ALL SELECT * FROM t2 ORDER BY a; EXPLAIN SELECT * FROM t1 UNION ALL SELECT * FROM t2 ORDER BY a;
SELECT * FROM t1 UNION ALL SELECT * FROM t2 LIMIT 3; SELECT * FROM t1 UNION ALL SELECT * FROM t2 ORDER BY a LIMIT 3;
EXPLAIN SELECT * FROM t1 UNION ALL SELECT * FROM t2 LIMIT 3; EXPLAIN SELECT * FROM t1 UNION ALL SELECT * FROM t2 ORDER BY a LIMIT 3;
SELECT * FROM t1 UNION ALL SELECT * FROM t2 ORDER BY a DESC LIMIT 5; SELECT * FROM t1 UNION ALL SELECT * FROM t2 ORDER BY a DESC LIMIT 5;
EXPLAIN SELECT * FROM t1 UNION ALL SELECT * FROM t2 ORDER BY a DESC LIMIT 5; EXPLAIN SELECT * FROM t1 UNION ALL SELECT * FROM t2 ORDER BY a DESC LIMIT 5;
SELECT * FROM t1 UNION ALL SELECT * FROM t2 ORDER BY a LIMIT 3 OFFSET 2; SELECT * FROM t1 UNION ALL SELECT * FROM t2 ORDER BY a LIMIT 3 OFFSET 2;

View File

@@ -2949,7 +2949,7 @@ void DataConvert::joinColTypeForUnion(datatypes::SystemCatalog::TypeHolderStd& u
case datatypes::SystemCatalog::UINT: case datatypes::SystemCatalog::UINT:
case datatypes::SystemCatalog::UBIGINT: case datatypes::SystemCatalog::UBIGINT:
case datatypes::SystemCatalog::UDECIMAL: case datatypes::SystemCatalog::UDECIMAL:
{
if (type.scale != 0 && (unionedType.scale != 0 || isDecimal(unionedType.colDataType))) if (type.scale != 0 && (unionedType.scale != 0 || isDecimal(unionedType.colDataType)))
{ {
const unsigned int digitsBeforeDecimal = type.precision - type.scale; const unsigned int digitsBeforeDecimal = type.precision - type.scale;
@@ -3012,7 +3012,7 @@ void DataConvert::joinColTypeForUnion(datatypes::SystemCatalog::TypeHolderStd& u
} }
break; break;
}
case datatypes::SystemCatalog::DATE: case datatypes::SystemCatalog::DATE:
unionedType.colDataType = datatypes::SystemCatalog::CHAR; unionedType.colDataType = datatypes::SystemCatalog::CHAR;
unionedType.colWidth = 20; unionedType.colWidth = 20;
@@ -3042,10 +3042,6 @@ void DataConvert::joinColTypeForUnion(datatypes::SystemCatalog::TypeHolderStd& u
case datatypes::SystemCatalog::UFLOAT: case datatypes::SystemCatalog::UFLOAT:
case datatypes::SystemCatalog::UDOUBLE: case datatypes::SystemCatalog::UDOUBLE:
case datatypes::SystemCatalog::LONGDOUBLE: case datatypes::SystemCatalog::LONGDOUBLE:
if (datatypes::isWideDecimalType(type.colDataType, type.colWidth))
unionedType = type;
break;
default: break; default: break;
} }
@@ -3249,21 +3245,13 @@ void DataConvert::joinColTypeForUnion(datatypes::SystemCatalog::TypeHolderStd& u
case datatypes::SystemCatalog::UBIGINT: case datatypes::SystemCatalog::UBIGINT:
case datatypes::SystemCatalog::UFLOAT: case datatypes::SystemCatalog::UFLOAT:
case datatypes::SystemCatalog::UDOUBLE: case datatypes::SystemCatalog::UDOUBLE:
case datatypes::SystemCatalog::DECIMAL:
case datatypes::SystemCatalog::UDECIMAL:
unionedType.colDataType = datatypes::SystemCatalog::DOUBLE; unionedType.colDataType = datatypes::SystemCatalog::DOUBLE;
unionedType.scale = 0; unionedType.scale = 0;
unionedType.colWidth = sizeof(double); unionedType.colWidth = sizeof(double);
break; break;
case datatypes::SystemCatalog::DECIMAL:
case datatypes::SystemCatalog::UDECIMAL:
if (unionedType.colWidth != datatypes::MAXDECIMALWIDTH)
{
unionedType.colDataType = datatypes::SystemCatalog::DOUBLE;
unionedType.scale = 0;
unionedType.colWidth = sizeof(double);
}
break;
default: break; default: break;
} }
@@ -3313,23 +3301,14 @@ void DataConvert::joinColTypeForUnion(datatypes::SystemCatalog::TypeHolderStd& u
case datatypes::SystemCatalog::UFLOAT: case datatypes::SystemCatalog::UFLOAT:
case datatypes::SystemCatalog::UDOUBLE: case datatypes::SystemCatalog::UDOUBLE:
case datatypes::SystemCatalog::LONGDOUBLE: case datatypes::SystemCatalog::LONGDOUBLE:
case datatypes::SystemCatalog::DECIMAL:
case datatypes::SystemCatalog::UDECIMAL:
unionedType.colDataType = datatypes::SystemCatalog::LONGDOUBLE; unionedType.colDataType = datatypes::SystemCatalog::LONGDOUBLE;
unionedType.scale = (type.scale > unionedType.scale) ? type.scale : unionedType.scale; unionedType.scale = (type.scale > unionedType.scale) ? type.scale : unionedType.scale;
unionedType.colWidth = sizeof(long double); unionedType.colWidth = sizeof(long double);
unionedType.precision = -1; unionedType.precision = -1;
break; break;
case datatypes::SystemCatalog::DECIMAL:
case datatypes::SystemCatalog::UDECIMAL:
if (unionedType.colWidth != datatypes::MAXDECIMALWIDTH)
{
unionedType.colDataType = datatypes::SystemCatalog::LONGDOUBLE;
unionedType.scale = (type.scale > unionedType.scale) ? type.scale : unionedType.scale;
unionedType.colWidth = sizeof(long double);
unionedType.precision = -1;
}
break;
default: break; default: break;
} }