File tree 1 file changed +11
-1
lines changed
1 file changed +11
-1
lines changed Original file line number Diff line number Diff line change @@ -102,14 +102,20 @@ QgsDataSourceURI::QgsDataSourceURI( QString uri )
102
102
int start = i;
103
103
QString col;
104
104
while ( i < uri.length () && uri[i] != ' )' )
105
+ {
106
+ if ( uri[i] == ' \\ ' )
107
+ i++;
105
108
i++;
109
+ }
106
110
107
111
if ( i == uri.length () )
108
112
{
109
113
QgsDebugMsg ( " closing parenthesis missing" );
110
114
}
111
115
112
116
mGeometryColumn = uri.mid ( start, i - start );
117
+ mGeometryColumn .replace ( " \\ )" , " )" );
118
+ mGeometryColumn .replace ( " \\\\ " , " \\ " );
113
119
114
120
i++;
115
121
}
@@ -584,9 +590,13 @@ QString QgsDataSourceURI::uri() const
584
590
theUri += QString ( " selectatid=false" );
585
591
}
586
592
593
+ QString columnName ( mGeometryColumn );
594
+ columnName.replace ( " \\ " , " \\\\ " );
595
+ columnName.replace ( " )" , " \\ )" );
596
+
587
597
theUri += QString ( " table=%1%2 sql=%3" )
588
598
.arg ( quotedTablename () )
589
- .arg ( mGeometryColumn .isNull () ? QString () : QString ( " (%1)" ).arg ( mGeometryColumn ) )
599
+ .arg ( mGeometryColumn .isNull () ? QString () : QString ( " (%1)" ).arg ( columnName ) )
590
600
.arg ( mSql );
591
601
592
602
return theUri;
You can’t perform that action at this time.
0 commit comments