You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-29 08:21:15 +03:00
fixup! MCOL-2051: CS uses 'NULL' literal as NULL when UPDATEs varchar field
Fixed to retain compatibility with CentOS 6 (no C++11 support). Moved initialization to the ColumnAssignment constructor.
This commit is contained in:
@ -566,17 +566,11 @@ assignment_commalist:
|
||||
assignment:
|
||||
column COMPARISON scalar_exp
|
||||
{
|
||||
$$ = new ColumnAssignment();
|
||||
$$->fColumn = $1;
|
||||
$$->fOperator = $2;
|
||||
$$->fScalarExpression = $3;
|
||||
$$ = new ColumnAssignment($1, $2, $3);
|
||||
}
|
||||
| column COMPARISON NULLX
|
||||
{
|
||||
$$ = new ColumnAssignment();
|
||||
$$->fColumn = $1;
|
||||
$$->fOperator = $2;
|
||||
$$->fScalarExpression = $3;
|
||||
$$ = new ColumnAssignment($1, $2, $3);
|
||||
}
|
||||
;
|
||||
|
||||
|
@ -397,6 +397,14 @@ public:
|
||||
class ColumnAssignment
|
||||
{
|
||||
public:
|
||||
explicit ColumnAssignment(
|
||||
std::string const& column,
|
||||
std::string const& op = "=",
|
||||
std::string const& expr = "") :
|
||||
fColumn(column), fOperator(op), fScalarExpression(expr),
|
||||
fFromCol(false), fFuncScale(0), fIsNull(false)
|
||||
{};
|
||||
|
||||
/** @brief dump to stdout
|
||||
*/
|
||||
std::ostream& put(std::ostream &os) const;
|
||||
@ -411,7 +419,7 @@ public:
|
||||
std::string fScalarExpression;
|
||||
bool fFromCol;
|
||||
uint32_t fFuncScale;
|
||||
bool fIsNull = false;
|
||||
bool fIsNull;
|
||||
};
|
||||
|
||||
/** @brief Stores a value list or a query specification
|
||||
|
@ -928,10 +928,7 @@ uint32_t doUpdateDelete(THD *thd)
|
||||
else
|
||||
schemaName = string(item->db_name);
|
||||
|
||||
columnAssignmentPtr = new ColumnAssignment();
|
||||
columnAssignmentPtr->fColumn = string(item->name);
|
||||
columnAssignmentPtr->fOperator = "=";
|
||||
columnAssignmentPtr->fFuncScale = 0;
|
||||
columnAssignmentPtr = new ColumnAssignment(item->name, "=", "");
|
||||
Item *value= value_it++;
|
||||
if (value->type() == Item::STRING_ITEM)
|
||||
{
|
||||
|
Reference in New Issue
Block a user