[mssql] Fix integer division compilation

Makes sql server provider pass conformance tests again!
This commit is contained in:
Nyall Dawson 2018-10-05 09:53:21 +10:00
parent 3df8c75db8
commit 4a687a07f7
2 changed files with 7 additions and 1 deletions

View File

@ -18,7 +18,7 @@
QgsMssqlExpressionCompiler::QgsMssqlExpressionCompiler( QgsMssqlFeatureSource *source )
: QgsSqlExpressionCompiler( source->mFields,
QgsSqlExpressionCompiler::LikeIsCaseInsensitive | QgsSqlExpressionCompiler::CaseInsensitiveStringMatch )
QgsSqlExpressionCompiler::LikeIsCaseInsensitive | QgsSqlExpressionCompiler::CaseInsensitiveStringMatch | QgsSqlExpressionCompiler::IntegerDivisionResultsInInteger )
{
}
@ -78,3 +78,8 @@ QString QgsMssqlExpressionCompiler::quotedValue( const QVariant &value, bool &ok
return QgsSqlExpressionCompiler::quotedValue( value, ok );
}
}
QString QgsMssqlExpressionCompiler::castToReal( const QString &value ) const
{
return QStringLiteral( "CAST((%1) AS REAL)" ).arg( value );
}

View File

@ -29,6 +29,7 @@ class QgsMssqlExpressionCompiler : public QgsSqlExpressionCompiler
protected:
Result compileNode( const QgsExpressionNode *node, QString &result ) override;
QString quotedValue( const QVariant &value, bool &ok ) override;
QString castToReal( const QString &value ) const override;
};