Skip to content

Commit 4a687a0

Browse files
committedOct 5, 2018
[mssql] Fix integer division compilation
Makes sql server provider pass conformance tests again!
1 parent 3df8c75 commit 4a687a0

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed
 

‎src/providers/mssql/qgsmssqlexpressioncompiler.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818

1919
QgsMssqlExpressionCompiler::QgsMssqlExpressionCompiler( QgsMssqlFeatureSource *source )
2020
: QgsSqlExpressionCompiler( source->mFields,
21-
QgsSqlExpressionCompiler::LikeIsCaseInsensitive | QgsSqlExpressionCompiler::CaseInsensitiveStringMatch )
21+
QgsSqlExpressionCompiler::LikeIsCaseInsensitive | QgsSqlExpressionCompiler::CaseInsensitiveStringMatch | QgsSqlExpressionCompiler::IntegerDivisionResultsInInteger )
2222
{
2323

2424
}
@@ -78,3 +78,8 @@ QString QgsMssqlExpressionCompiler::quotedValue( const QVariant &value, bool &ok
7878
return QgsSqlExpressionCompiler::quotedValue( value, ok );
7979
}
8080
}
81+
82+
QString QgsMssqlExpressionCompiler::castToReal( const QString &value ) const
83+
{
84+
return QStringLiteral( "CAST((%1) AS REAL)" ).arg( value );
85+
}

‎src/providers/mssql/qgsmssqlexpressioncompiler.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ class QgsMssqlExpressionCompiler : public QgsSqlExpressionCompiler
2929
protected:
3030
Result compileNode( const QgsExpressionNode *node, QString &result ) override;
3131
QString quotedValue( const QVariant &value, bool &ok ) override;
32+
QString castToReal( const QString &value ) const override;
3233

3334
};
3435

0 commit comments

Comments
 (0)
Please sign in to comment.