Skip to content

Commit

Permalink
HANA: Replace QString.unicode() with utf16()
Browse files Browse the repository at this point in the history
  • Loading branch information
Maksim Rylov authored and mrylov committed Dec 7, 2020
1 parent 5b417cb commit fa35981
Show file tree
Hide file tree
Showing 5 changed files with 26 additions and 26 deletions.
14 changes: 7 additions & 7 deletions src/providers/hana/qgshanaconnection.cpp
Expand Up @@ -217,7 +217,7 @@ bool QgsHanaConnection::dropTable( const QString &schemaName, const QString &tab
try
{
StatementRef stmt = mConnection->createStatement();
stmt->execute( reinterpret_cast<const char16_t *>( sql.unicode() ) );
stmt->execute( reinterpret_cast<const char16_t *>( sql.utf16() ) );
mConnection->commit();
return true;
}
Expand Down Expand Up @@ -277,7 +277,7 @@ QgsCoordinateReferenceSystem QgsHanaConnection::getCrs( int srid )

QString sql = QStringLiteral( "SELECT ORGANIZATION, ORGANIZATION_COORDSYS_ID, DEFINITION, TRANSFORM_DEFINITION FROM SYS.ST_SPATIAL_REFERENCE_SYSTEMS WHERE SRS_ID = %1" ).arg( srid );
StatementRef stmt = mConnection->createStatement();
ResultSetRef rsSrs = stmt->executeQuery( reinterpret_cast<const char16_t *>( sql.unicode() ) );
ResultSetRef rsSrs = stmt->executeQuery( reinterpret_cast<const char16_t *>( sql.utf16() ) );

if ( rsSrs->next() )
{
Expand Down Expand Up @@ -443,7 +443,7 @@ QVector<QgsHanaSchemaProperty> QgsHanaConnection::getSchemas( const QString &own
try
{
StatementRef stmt = mConnection->createStatement();
ResultSetRef rsSchemas = stmt->executeQuery( reinterpret_cast<const char16_t *>( sql.unicode() ) );
ResultSetRef rsSchemas = stmt->executeQuery( reinterpret_cast<const char16_t *>( sql.utf16() ) );
while ( rsSchemas->next() )
{
QgsHanaSchemaProperty schema;
Expand Down Expand Up @@ -476,7 +476,7 @@ int QgsHanaConnection::getLayerSRID( const QgsHanaLayerProperty &layerProperty )
QString sql = QStringLiteral( "SELECT SRS_ID FROM SYS.ST_GEOMETRY_COLUMNS "
"WHERE SCHEMA_NAME = '%1' AND TABLE_NAME = '%2' AND COLUMN_NAME = '%3'" )
.arg( layerProperty.schemaName, layerProperty.tableName, layerProperty.geometryColName );
ResultSetRef rsSrid = stmt->executeQuery( reinterpret_cast<const char16_t *>( sql.unicode() ) );
ResultSetRef rsSrid = stmt->executeQuery( reinterpret_cast<const char16_t *>( sql.utf16() ) );
ret = rsSrid->next() ? *rsSrid->getInt( 1 ) : -1;
rsSrid->close();
}
Expand All @@ -487,7 +487,7 @@ int QgsHanaConnection::getLayerSRID( const QgsHanaLayerProperty &layerProperty )
QgsHanaUtils::quotedIdentifier( layerProperty.schemaName ),
QgsHanaUtils::quotedIdentifier( layerProperty.tableName ),
QString::number( GEOM_TYPE_SELECT_LIMIT ) );
ResultSetRef rsSrid = stmt->executeQuery( reinterpret_cast<const char16_t *>( sql.unicode() ) );
ResultSetRef rsSrid = stmt->executeQuery( reinterpret_cast<const char16_t *>( sql.utf16() ) );
int srid = -1, prevSrid = -1;
while ( rsSrid->next() )
{
Expand Down Expand Up @@ -575,7 +575,7 @@ QgsWkbTypes::Type QgsHanaConnection::getLayerGeometryType( const QgsHanaLayerPro
try
{
StatementRef stmt = mConnection->createStatement();
ResultSetRef rsGeomType = stmt->executeQuery( reinterpret_cast<const char16_t *>( sql.unicode() ) );
ResultSetRef rsGeomType = stmt->executeQuery( reinterpret_cast<const char16_t *>( sql.utf16() ) );
QgsWkbTypes::Type geomType = QgsWkbTypes::Unknown, prevGeomType = QgsWkbTypes::Unknown;
while ( rsGeomType->next() )
{
Expand Down Expand Up @@ -606,7 +606,7 @@ QString QgsHanaConnection::getColumnDataType( const QString &schemaName, const Q
try
{
StatementRef stmt = mConnection->createStatement();
ResultSetRef rsDataType = stmt->executeQuery( reinterpret_cast<const char16_t *>( sql.unicode() ) );
ResultSetRef rsDataType = stmt->executeQuery( reinterpret_cast<const char16_t *>( sql.utf16() ) );
while ( rsDataType->next() )
{
ret = QgsHanaUtils::toQString( rsDataType->getString( 1 ) );
Expand Down
4 changes: 2 additions & 2 deletions src/providers/hana/qgshanafeatureiterator.cpp
Expand Up @@ -76,7 +76,7 @@ QgsHanaFeatureIterator::QgsHanaFeatureIterator(
try
{
QString sql = buildSqlQuery( request );
PreparedStatementRef stmt = mConnRef->getNativeRef()->prepareStatement( reinterpret_cast<const char16_t *>( sql.unicode() ) );
PreparedStatementRef stmt = mConnRef->getNativeRef()->prepareStatement( reinterpret_cast<const char16_t *>( sql.utf16() ) );
mSqlQuery = sql;
mClosed = false;

Expand All @@ -101,7 +101,7 @@ bool QgsHanaFeatureIterator::rewind()
return false;

mResultSet.reset();
PreparedStatementRef stmt = mConnRef->getNativeRef()->prepareStatement( reinterpret_cast<const char16_t *>( mSqlQuery.unicode() ) );
PreparedStatementRef stmt = mConnRef->getNativeRef()->prepareStatement( reinterpret_cast<const char16_t *>( mSqlQuery.utf16() ) );
mResultSet = QgsHanaResultSet::create( stmt );
return true;
}
Expand Down
30 changes: 15 additions & 15 deletions src/providers/hana/qgshanaprovider.cpp
Expand Up @@ -65,7 +65,7 @@ namespace
size_t executeCountQuery( ConnectionRef &conn, const QString &sql )
{
StatementRef stmt = conn->createStatement();
ResultSetRef rs = stmt->executeQuery( reinterpret_cast<const char16_t *>( sql.unicode() ) );
ResultSetRef rs = stmt->executeQuery( reinterpret_cast<const char16_t *>( sql.utf16() ) );
rs->next();
size_t ret = static_cast<size_t>( *rs->getLong( 1 ) );
rs->close();
Expand All @@ -77,7 +77,7 @@ namespace
try
{
StatementRef stmt = conn->createStatement();
stmt->execute( reinterpret_cast<const char16_t *>( sql.unicode() ) );
stmt->execute( reinterpret_cast<const char16_t *>( sql.utf16() ) );
conn->commit();
return true;
}
Expand Down Expand Up @@ -605,12 +605,12 @@ bool QgsHanaProvider::addFeatures( QgsFeatureList &flist, Flags flags )

try
{
PreparedStatementRef stmtInsert = conn->prepareStatement( reinterpret_cast<const char16_t *>( sql.unicode() ) );
PreparedStatementRef stmtInsert = conn->prepareStatement( reinterpret_cast<const char16_t *>( sql.utf16() ) );
PreparedStatementRef stmtIdentityValue;
if ( !allowBatchInserts )
{
QString sqlIdentity = QStringLiteral( "SELECT CURRENT_IDENTITY_VALUE() \"current identity value\" FROM %1.%2" ).arg( QgsHanaUtils::quotedIdentifier( mSchemaName ), QgsHanaUtils::quotedIdentifier( mTableName ) );
stmtIdentityValue = conn->prepareStatement( reinterpret_cast<const char16_t *>( sqlIdentity.unicode() ) );
stmtIdentityValue = conn->prepareStatement( reinterpret_cast<const char16_t *>( sqlIdentity.utf16() ) );
}

for ( auto &feature : flist )
Expand Down Expand Up @@ -756,7 +756,7 @@ bool QgsHanaProvider::deleteFeatures( const QgsFeatureIds &id )
QString sql = QStringLiteral( "DELETE FROM %1.%2 WHERE %3 IN (%4)" ).arg(
QgsHanaUtils::quotedIdentifier( mSchemaName ), QgsHanaUtils::quotedIdentifier( mTableName ),
QgsHanaUtils::quotedIdentifier( mFidColumn ), featureIds );
stmt->execute( reinterpret_cast<const char16_t *>( sql.unicode() ) );
stmt->execute( reinterpret_cast<const char16_t *>( sql.utf16() ) );
conn->commit();
}
catch ( const Exception &ex )
Expand Down Expand Up @@ -789,7 +789,7 @@ bool QgsHanaProvider::truncate()
StatementRef stmt = conn->createStatement();
QString sql = QStringLiteral( "TRUNCATE TABLE %1.%2" ).arg(
QgsHanaUtils::quotedIdentifier( mSchemaName ), QgsHanaUtils::quotedIdentifier( mTableName ) );
stmt->execute( reinterpret_cast<const char16_t *>( sql.unicode() ) );
stmt->execute( reinterpret_cast<const char16_t *>( sql.utf16() ) );
conn->commit();
}
catch ( const Exception &ex )
Expand Down Expand Up @@ -830,7 +830,7 @@ bool QgsHanaProvider::addAttributes( const QList<QgsField> &attributes )
StatementRef stmt = conn->createStatement();
QString sql = QStringLiteral( "ALTER TABLE %1.%2 ADD (%3)" ).arg(
QgsHanaUtils::quotedIdentifier( mSchemaName ), QgsHanaUtils::quotedIdentifier( mTableName ), columnDefs );
stmt->execute( reinterpret_cast<const char16_t *>( sql.unicode() ) );
stmt->execute( reinterpret_cast<const char16_t *>( sql.utf16() ) );
conn->commit();
}
catch ( const Exception &ex )
Expand Down Expand Up @@ -871,7 +871,7 @@ bool QgsHanaProvider::deleteAttributes( const QgsAttributeIds &attributes )
try
{
StatementRef stmt = conn->createStatement();
stmt->execute( reinterpret_cast<const char16_t *>( sql.unicode() ) );
stmt->execute( reinterpret_cast<const char16_t *>( sql.utf16() ) );
conn->commit();
}
catch ( const Exception &ex )
Expand Down Expand Up @@ -921,7 +921,7 @@ bool QgsHanaProvider::renameAttributes( const QgsFieldNameMap &fieldMap )
QgsHanaUtils::quotedIdentifier( it.value() ) );

StatementRef stmt = conn->createStatement();
stmt->execute( reinterpret_cast<const char16_t *>( sql.unicode() ) );
stmt->execute( reinterpret_cast<const char16_t *>( sql.utf16() ) );
}

conn->commit();
Expand Down Expand Up @@ -963,7 +963,7 @@ bool QgsHanaProvider::changeGeometryValues( const QgsGeometryMap &geometryMap )
QgsHanaUtils::quotedIdentifier( mGeometryColumn ), QString::number( mSrid ),
QgsHanaUtils::quotedIdentifier( mFidColumn ) );

PreparedStatementRef stmt = conn->prepareStatement( reinterpret_cast<const char16_t *>( sql.unicode() ) );
PreparedStatementRef stmt = conn->prepareStatement( reinterpret_cast<const char16_t *>( sql.utf16() ) );

for ( QgsGeometryMap::const_iterator it = geometryMap.begin(); it != geometryMap.end(); ++it )
{
Expand Down Expand Up @@ -1055,7 +1055,7 @@ bool QgsHanaProvider::changeAttributeValues( const QgsChangedAttributesMap &attr
if ( !mFidColumn.isEmpty() )
sql += QStringLiteral( " WHERE %1=%2" ).arg( QgsHanaUtils::quotedIdentifier( mFidColumn ), FID_TO_STRING( fid ) );

PreparedStatementRef stmt = conn->prepareStatement( reinterpret_cast<const char16_t *>( sql.unicode() ) );
PreparedStatementRef stmt = conn->prepareStatement( reinterpret_cast<const char16_t *>( sql.utf16() ) );

unsigned short paramIndex = 1;
for ( QgsAttributeMap::const_iterator attrIt = attrs.begin(); attrIt != attrs.end(); ++attrIt )
Expand Down Expand Up @@ -1123,7 +1123,7 @@ bool QgsHanaProvider::checkPermissionsAndSetCapabilities()
StatementRef stmt = conn->createStatement();
QString sql = QStringLiteral( "SELECT OBJECT_NAME, OBJECT_TYPE, PRIVILEGE FROM PUBLIC.EFFECTIVE_PRIVILEGES "
"WHERE USER_NAME = CURRENT_USER AND SCHEMA_NAME = '%1' AND IS_VALID = 'TRUE'" ).arg( mSchemaName );
ResultSetRef rsPrivileges = stmt->executeQuery( reinterpret_cast<const char16_t *>( sql.unicode() ) );
ResultSetRef rsPrivileges = stmt->executeQuery( reinterpret_cast<const char16_t *>( sql.utf16() ) );
while ( rsPrivileges->next() )
{
QString objName = QgsHanaUtils::toQString( *rsPrivileges->getNString( 1 ) );
Expand Down Expand Up @@ -1209,7 +1209,7 @@ QgsRectangle QgsHanaProvider::estimateExtent() const
"\"ext\".ST_YMax() FROM (SELECT ST_EnvelopeAggr(%1) AS \"ext\" FROM (%2))" )
.arg( QgsHanaUtils::quotedIdentifier( mGeometryColumn ), buildQuery( mQuery, mQueryWhereClause ) );
}
ResultSetRef rsExtent = stmt->executeQuery( reinterpret_cast<const char16_t *>( sql.unicode() ) );
ResultSetRef rsExtent = stmt->executeQuery( reinterpret_cast<const char16_t *>( sql.utf16() ) );

QgsRectangle ret;
if ( rsExtent->next() )
Expand Down Expand Up @@ -1265,7 +1265,7 @@ void QgsHanaProvider::readAttributeFields()
DatabaseMetaDataRef dmd = conn->getDatabaseMetaData();
StatementRef stmt = conn->createStatement();
QString sql = QStringLiteral( "SELECT * FROM (%1) LIMIT 0" ).arg( mQuery );
ResultSetRef rsAttributes = stmt->executeQuery( reinterpret_cast<const char16_t *>( sql.unicode() ) );
ResultSetRef rsAttributes = stmt->executeQuery( reinterpret_cast<const char16_t *>( sql.utf16() ) );
ResultSetMetaDataRef rsmd = rsAttributes->getMetaData();
for ( unsigned short i = 1; i <= rsmd->getColumnCount(); ++i )
{
Expand Down Expand Up @@ -1413,7 +1413,7 @@ void QgsHanaProvider::readSrsInformation()
bool isRoundEarth = false;
QString sql = QStringLiteral( "SELECT MIN_X, MIN_Y, MAX_X, MAX_Y, ROUND_EARTH FROM SYS.ST_SPATIAL_REFERENCE_SYSTEMS "
"WHERE SRS_ID = %1" ).arg( QString::number( mSrid ) );
ResultSetRef rs = stmt->executeQuery( reinterpret_cast<const char16_t *>( sql.unicode() ) );
ResultSetRef rs = stmt->executeQuery( reinterpret_cast<const char16_t *>( sql.utf16() ) );
if ( rs->next() )
{
ext.setXMinimum( *rs->getDouble( 1 ) );
Expand Down
2 changes: 1 addition & 1 deletion src/providers/hana/qgshanaproviderconnection.cpp
Expand Up @@ -79,7 +79,7 @@ void QgsHanaProviderConnection::setCapabilities()
StatementRef stmt = conn->createStatement();
const QString sql = QStringLiteral( "SELECT PRIVILEGE FROM PUBLIC.EFFECTIVE_PRIVILEGES "
"WHERE USER_NAME = CURRENT_USER AND IS_VALID = 'TRUE' AND OBJECT_TYPE = 'SYSTEMPRIVILEGE'" );
ResultSetRef rsPrivileges = stmt->executeQuery( reinterpret_cast<const char16_t *>( sql.unicode() ) );
ResultSetRef rsPrivileges = stmt->executeQuery( reinterpret_cast<const char16_t *>( sql.utf16() ) );
while ( rsPrivileges->next() )
{
QString privType = QgsHanaUtils::toQString( *rsPrivileges->getString( 1 ) );
Expand Down
2 changes: 1 addition & 1 deletion src/providers/hana/qgshanaresultset.cpp
Expand Up @@ -27,7 +27,7 @@ QgsHanaResultSet::QgsHanaResultSet( ResultSetRef &&resultSet )

QgsHanaResultSetRef QgsHanaResultSet::create( StatementRef &stmt, const QString &sql )
{
QgsHanaResultSetRef ret( new QgsHanaResultSet( stmt->executeQuery( reinterpret_cast<const char16_t *>( sql.unicode() ) ) ) );
QgsHanaResultSetRef ret( new QgsHanaResultSet( stmt->executeQuery( reinterpret_cast<const char16_t *>( sql.utf16() ) ) ) );
return ret;
}

Expand Down

0 comments on commit fa35981

Please sign in to comment.