QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
Public Types | Public Member Functions | Static Public Member Functions | List of all members
QgsDataSourceUri Class Reference

Class for storing the component parts of a RDBMS data source URI (e.g. More...

#include <qgsdatasourceuri.h>

Public Types

enum  SslMode {
  SslPrefer , SslDisable , SslAllow , SslRequire ,
  SslVerifyCa , SslVerifyFull
}
 Available SSL connection modes. More...
 

Public Member Functions

 QgsDataSourceUri ()
 
 QgsDataSourceUri (const QByteArray &uri)
 Constructor for QgsDataSourceUri which parses an input encoded uri). More...
 
 QgsDataSourceUri (const QString &uri)
 Constructor for QgsDataSourceUri which parses an input uri string. More...
 
QString authConfigId () const
 Returns any associated authentication configuration ID stored in the URI. More...
 
void clearSchema ()
 Clears the schema stored in the URI. More...
 
QString connectionInfo (bool expandAuthConfig=true) const
 Returns the connection part of the URI. More...
 
QString database () const
 Returns the database name stored in the URI. More...
 
void disableSelectAtId (bool flag)
 Set to true to disable selection by feature ID. More...
 
QString driver () const
 Returns the driver name stored in the URI. More...
 
QByteArray encodedUri () const
 Returns the complete encoded URI as a byte array. More...
 
QString geometryColumn () const
 Returns the name of the geometry column stored in the URI, if set. More...
 
bool hasParam (const QString &key) const
 Returns true if a parameter with the specified key exists. More...
 
QString host () const
 Returns the host name stored in the URI. More...
 
QString httpHeader (const QString &key)
 Returns the http header value according to key. More...
 
QgsHttpHeadershttpHeaders ()
 Returns http headers. More...
 
QgsHttpHeaders httpHeaders () const
 Returns http headers. More...
 
QString keyColumn () const
 Returns the name of the (primary) key column for the referenced table. More...
 
QString param (const QString &key) const
 Returns a generic parameter value corresponding to the specified key. More...
 
QSet< QString > parameterKeys () const
 Returns parameter keys used in the uri: specialized ones ("table", "schema", etc.) or generic parameters. More...
 
QStringList params (const QString &key) const
 Returns multiple generic parameter values corresponding to the specified key. More...
 
QString password () const
 Returns the password stored in the URI. More...
 
QString port () const
 Returns the port stored in the URI. More...
 
QString quotedTablename () const
 Returns the URI's table name, escaped and quoted. More...
 
int removeParam (const QString &key)
 Removes a generic parameter by key. More...
 
QString schema () const
 Returns the schema stored in the URI. More...
 
bool selectAtIdDisabled () const
 Returns whether the selection by feature ID is disabled. More...
 
QString service () const
 Returns the service name associated with the URI. More...
 
void setAuthConfigId (const QString &authcfg)
 Sets the authentication configuration ID for the URI. More...
 
void setConnection (const QString &aHost, const QString &aPort, const QString &aDatabase, const QString &aUsername, const QString &aPassword, SslMode sslmode=SslPrefer, const QString &authConfigId=QString())
 Sets all connection related members at once. More...
 
void setConnection (const QString &aService, const QString &aDatabase, const QString &aUsername, const QString &aPassword, SslMode sslmode=SslPrefer, const QString &authConfigId=QString())
 Sets all connection related members at once (for a service case). More...
 
void setDatabase (const QString &database)
 Sets the URI database name. More...
 
void setDataSource (const QString &aSchema, const QString &aTable, const QString &aGeometryColumn, const QString &aSql=QString(), const QString &aKeyColumn=QString())
 Sets all data source related members at once. More...
 
void setDriver (const QString &driver)
 Sets the driver name stored in the URI. More...
 
void setEncodedUri (const QByteArray &uri)
 Sets the complete encoded uri. More...
 
void setEncodedUri (const QString &uri)
 Sets the complete encoded uri from a string value. More...
 
void setGeometryColumn (const QString &geometryColumn)
 Sets geometry column name to geometryColumn. More...
 
void setHttpHeaders (const QgsHttpHeaders &headers)
 Sets headers to headers. More...
 
void setKeyColumn (const QString &column)
 Sets the name of the (primary) key column. More...
 
void setParam (const QString &key, const QString &value)
 Sets a generic parameter value on the URI. More...
 
void setParam (const QString &key, const QStringList &value)
 Sets a generic parameter list value on the URI. More...
 
void setPassword (const QString &password)
 Sets the password for the URI. More...
 
void setSchema (const QString &schema)
 Sets the scheme for the URI. More...
 
void setSql (const QString &sql)
 Sets the sql filter for the URI. More...
 
void setSrid (const QString &srid)
 Sets the spatial reference ID associated with the URI. More...
 
void setTable (const QString &table)
 Sets table to table. More...
 
void setUseEstimatedMetadata (bool flag)
 Sets whether estimated metadata should be used for the connection. More...
 
void setUsername (const QString &username)
 Sets the username for the URI. More...
 
void setWkbType (Qgis::WkbType type)
 Sets the WKB type associated with the URI. More...
 
QString sql () const
 Returns the SQL filter stored in the URI, if set. More...
 
QString srid () const
 Returns the spatial reference ID associated with the URI. More...
 
SslMode sslMode () const
 Returns the SSL mode associated with the URI. More...
 
QString table () const
 Returns the table name stored in the URI. More...
 
QString uri (bool expandAuthConfig=true) const
 Returns the complete URI as a string. More...
 
bool useEstimatedMetadata () const
 Returns true if estimated metadata should be used for the connection. More...
 
QString username () const
 Returns the username stored in the URI. More...
 
Qgis::WkbType wkbType () const
 Returns the WKB type associated with the URI. More...
 

Static Public Member Functions

static SslMode decodeSslMode (const QString &sslMode)
 Decodes SSL mode string into enum value. More...
 
static QString encodeSslMode (SslMode sslMode)
 Encodes SSL mode enum value into a string. More...
 
static QString removePassword (const QString &aUri, bool hide=false)
 Removes the password element from a URI. More...
 

Detailed Description

Class for storing the component parts of a RDBMS data source URI (e.g.

a Postgres data source).

This structure stores the database connection information, including host, database, user name, password, schema, password, and SQL where clause.

Definition at line 37 of file qgsdatasourceuri.h.

Member Enumeration Documentation

◆ SslMode

Available SSL connection modes.

Enumerator
SslPrefer 
SslDisable 
SslAllow 
SslRequire 
SslVerifyCa 
SslVerifyFull 

Definition at line 45 of file qgsdatasourceuri.h.

Constructor & Destructor Documentation

◆ QgsDataSourceUri() [1/3]

QgsDataSourceUri::QgsDataSourceUri ( )

Definition at line 32 of file qgsdatasourceuri.cpp.

◆ QgsDataSourceUri() [2/3]

QgsDataSourceUri::QgsDataSourceUri ( const QString &  uri)

Constructor for QgsDataSourceUri which parses an input uri string.

Definition at line 37 of file qgsdatasourceuri.cpp.

◆ QgsDataSourceUri() [3/3]

QgsDataSourceUri::QgsDataSourceUri ( const QByteArray &  uri)

Constructor for QgsDataSourceUri which parses an input encoded uri).

Note
not available in Python bindings

Member Function Documentation

◆ authConfigId()

QString QgsDataSourceUri::authConfigId ( ) const

Returns any associated authentication configuration ID stored in the URI.

Definition at line 319 of file qgsdatasourceuri.cpp.

◆ clearSchema()

void QgsDataSourceUri::clearSchema ( )

Clears the schema stored in the URI.

Definition at line 438 of file qgsdatasourceuri.cpp.

◆ connectionInfo()

QString QgsDataSourceUri::connectionInfo ( bool  expandAuthConfig = true) const

Returns the connection part of the URI.

Definition at line 542 of file qgsdatasourceuri.cpp.

◆ database()

QString QgsDataSourceUri::database ( ) const

Returns the database name stored in the URI.

Definition at line 344 of file qgsdatasourceuri.cpp.

◆ decodeSslMode()

QgsDataSourceUri::SslMode QgsDataSourceUri::decodeSslMode ( const QString &  sslMode)
static

Decodes SSL mode string into enum value.

If the string is not recognized, SslPrefer is returned.

Since
QGIS 3.2

Definition at line 823 of file qgsdatasourceuri.cpp.

◆ disableSelectAtId()

void QgsDataSourceUri::disableSelectAtId ( bool  flag)

Set to true to disable selection by feature ID.

Definition at line 422 of file qgsdatasourceuri.cpp.

◆ driver()

QString QgsDataSourceUri::driver ( ) const

Returns the driver name stored in the URI.

Definition at line 364 of file qgsdatasourceuri.cpp.

◆ encodedUri()

QByteArray QgsDataSourceUri::encodedUri ( ) const

Returns the complete encoded URI as a byte array.

Definition at line 678 of file qgsdatasourceuri.cpp.

◆ encodeSslMode()

QString QgsDataSourceUri::encodeSslMode ( QgsDataSourceUri::SslMode  sslMode)
static

Encodes SSL mode enum value into a string.

Since
QGIS 3.2

Definition at line 841 of file qgsdatasourceuri.cpp.

◆ geometryColumn()

QString QgsDataSourceUri::geometryColumn ( ) const

Returns the name of the geometry column stored in the URI, if set.

Definition at line 389 of file qgsdatasourceuri.cpp.

◆ hasParam()

bool QgsDataSourceUri::hasParam ( const QString &  key) const

Returns true if a parameter with the specified key exists.

Definition at line 926 of file qgsdatasourceuri.cpp.

◆ host()

QString QgsDataSourceUri::host ( ) const

Returns the host name stored in the URI.

Definition at line 339 of file qgsdatasourceuri.cpp.

◆ httpHeader()

QString QgsDataSourceUri::httpHeader ( const QString &  key)
inline

Returns the http header value according to key.

Since
QGIS 3.26

Definition at line 346 of file qgsdatasourceuri.h.

◆ httpHeaders() [1/2]

QgsHttpHeaders & QgsDataSourceUri::httpHeaders ( )
inline

Returns http headers.

Since
QGIS 3.26

Definition at line 340 of file qgsdatasourceuri.h.

◆ httpHeaders() [2/2]

QgsHttpHeaders QgsDataSourceUri::httpHeaders ( ) const
inline

Returns http headers.

Definition at line 333 of file qgsdatasourceuri.h.

◆ keyColumn()

QString QgsDataSourceUri::keyColumn ( ) const

Returns the name of the (primary) key column for the referenced table.

Definition at line 394 of file qgsdatasourceuri.cpp.

◆ param()

QString QgsDataSourceUri::param ( const QString &  key) const

Returns a generic parameter value corresponding to the specified key.

Definition at line 900 of file qgsdatasourceuri.cpp.

◆ parameterKeys()

QSet< QString > QgsDataSourceUri::parameterKeys ( ) const

Returns parameter keys used in the uri: specialized ones ("table", "schema", etc.) or generic parameters.

Since
QGIS 3.26

Definition at line 939 of file qgsdatasourceuri.cpp.

◆ params()

QStringList QgsDataSourceUri::params ( const QString &  key) const

Returns multiple generic parameter values corresponding to the specified key.

Definition at line 913 of file qgsdatasourceuri.cpp.

◆ password()

QString QgsDataSourceUri::password ( ) const

Returns the password stored in the URI.

Definition at line 349 of file qgsdatasourceuri.cpp.

◆ port()

QString QgsDataSourceUri::port ( ) const

Returns the port stored in the URI.

Definition at line 359 of file qgsdatasourceuri.cpp.

◆ quotedTablename()

QString QgsDataSourceUri::quotedTablename ( ) const

Returns the URI's table name, escaped and quoted.

Definition at line 737 of file qgsdatasourceuri.cpp.

◆ removeParam()

int QgsDataSourceUri::removeParam ( const QString &  key)

Removes a generic parameter by key.

Note
Calling this method removes all the occurrences of key, and returns the number of parameters removed.

Definition at line 879 of file qgsdatasourceuri.cpp.

◆ removePassword()

QString QgsDataSourceUri::removePassword ( const QString &  aUri,
bool  hide = false 
)
static

Removes the password element from a URI.

Parameters
aUriA data source uri
hidetrue to replace the password value with 'xxxxxxxx', false to remove password (key and value) (since QGIS 3.34)
Returns
The data source uri without the password

Definition at line 233 of file qgsdatasourceuri.cpp.

◆ schema()

QString QgsDataSourceUri::schema ( ) const

Returns the schema stored in the URI.

Definition at line 374 of file qgsdatasourceuri.cpp.

◆ selectAtIdDisabled()

bool QgsDataSourceUri::selectAtIdDisabled ( ) const

Returns whether the selection by feature ID is disabled.

Definition at line 428 of file qgsdatasourceuri.cpp.

◆ service()

QString QgsDataSourceUri::service ( ) const

Returns the service name associated with the URI.

Definition at line 334 of file qgsdatasourceuri.cpp.

◆ setAuthConfigId()

void QgsDataSourceUri::setAuthConfigId ( const QString &  authcfg)

Sets the authentication configuration ID for the URI.

Definition at line 793 of file qgsdatasourceuri.cpp.

◆ setConnection() [1/2]

void QgsDataSourceUri::setConnection ( const QString &  aHost,
const QString &  aPort,
const QString &  aDatabase,
const QString &  aUsername,
const QString &  aPassword,
SslMode  sslmode = SslPrefer,
const QString &  authConfigId = QString() 
)

Sets all connection related members at once.

Definition at line 748 of file qgsdatasourceuri.cpp.

◆ setConnection() [2/2]

void QgsDataSourceUri::setConnection ( const QString &  aService,
const QString &  aDatabase,
const QString &  aUsername,
const QString &  aPassword,
SslMode  sslmode = SslPrefer,
const QString &  authConfigId = QString() 
)

Sets all connection related members at once (for a service case).

Definition at line 765 of file qgsdatasourceuri.cpp.

◆ setDatabase()

void QgsDataSourceUri::setDatabase ( const QString &  database)

Sets the URI database name.

Definition at line 798 of file qgsdatasourceuri.cpp.

◆ setDataSource()

void QgsDataSourceUri::setDataSource ( const QString &  aSchema,
const QString &  aTable,
const QString &  aGeometryColumn,
const QString &  aSql = QString(),
const QString &  aKeyColumn = QString() 
)

Sets all data source related members at once.

The aSql argument represents a subset filter string to be applied to the source, and should take the form of a SQL "where" clause (e.g. "VALUE > 5", "CAT IN (1,2,3)").

Definition at line 780 of file qgsdatasourceuri.cpp.

◆ setDriver()

void QgsDataSourceUri::setDriver ( const QString &  driver)

Sets the driver name stored in the URI.

Definition at line 400 of file qgsdatasourceuri.cpp.

◆ setEncodedUri() [1/2]

void QgsDataSourceUri::setEncodedUri ( const QByteArray &  uri)

Sets the complete encoded uri.

Note
not available in Python bindings

Definition at line 700 of file qgsdatasourceuri.cpp.

◆ setEncodedUri() [2/2]

void QgsDataSourceUri::setEncodedUri ( const QString &  uri)

Sets the complete encoded uri from a string value.

Definition at line 730 of file qgsdatasourceuri.cpp.

◆ setGeometryColumn()

void QgsDataSourceUri::setGeometryColumn ( const QString &  geometryColumn)

Sets geometry column name to geometryColumn.

Since
QGIS 3.10

Definition at line 458 of file qgsdatasourceuri.cpp.

◆ setHttpHeaders()

void QgsDataSourceUri::setHttpHeaders ( const QgsHttpHeaders headers)
inline

Sets headers to headers.

Since
QGIS 3.26

Definition at line 352 of file qgsdatasourceuri.h.

◆ setKeyColumn()

void QgsDataSourceUri::setKeyColumn ( const QString &  column)

Sets the name of the (primary) key column.

Definition at line 406 of file qgsdatasourceuri.cpp.

◆ setParam() [1/2]

void QgsDataSourceUri::setParam ( const QString &  key,
const QString &  value 
)

Sets a generic parameter value on the URI.

Note
If a parameter with the specified key already exists, another is inserted and the existing value is left unchanged.

Definition at line 855 of file qgsdatasourceuri.cpp.

◆ setParam() [2/2]

void QgsDataSourceUri::setParam ( const QString &  key,
const QStringList &  value 
)

Sets a generic parameter list value on the URI.

Note
available in Python as setParamList

Definition at line 871 of file qgsdatasourceuri.cpp.

◆ setPassword()

void QgsDataSourceUri::setPassword ( const QString &  password)

Sets the password for the URI.

Definition at line 354 of file qgsdatasourceuri.cpp.

◆ setSchema()

void QgsDataSourceUri::setSchema ( const QString &  schema)

Sets the scheme for the URI.

Definition at line 443 of file qgsdatasourceuri.cpp.

◆ setSql()

void QgsDataSourceUri::setSql ( const QString &  sql)

Sets the sql filter for the URI.

The sql represents a subset filter string to be applied to the source, and should take the form of a SQL "where" clause (e.g. "VALUE > 5", "CAT IN (1,2,3)").

See also
sql()

Definition at line 433 of file qgsdatasourceuri.cpp.

◆ setSrid()

void QgsDataSourceUri::setSrid ( const QString &  srid)

Sets the spatial reference ID associated with the URI.

Definition at line 818 of file qgsdatasourceuri.cpp.

◆ setTable()

void QgsDataSourceUri::setTable ( const QString &  table)

Sets table to table.

Since
QGIS 3.10

Definition at line 463 of file qgsdatasourceuri.cpp.

◆ setUseEstimatedMetadata()

void QgsDataSourceUri::setUseEstimatedMetadata ( bool  flag)

Sets whether estimated metadata should be used for the connection.

Definition at line 412 of file qgsdatasourceuri.cpp.

◆ setUsername()

void QgsDataSourceUri::setUsername ( const QString &  username)

Sets the username for the URI.

Definition at line 329 of file qgsdatasourceuri.cpp.

◆ setWkbType()

void QgsDataSourceUri::setWkbType ( Qgis::WkbType  type)

Sets the WKB type associated with the URI.

Definition at line 808 of file qgsdatasourceuri.cpp.

◆ sql()

QString QgsDataSourceUri::sql ( ) const

Returns the SQL filter stored in the URI, if set.

This represents a subset filter string to be applied to the source, and takes the form of a SQL "where" clause (e.g. "VALUE > 5", "CAT IN (1,2,3)").

See also
setSql()

Definition at line 384 of file qgsdatasourceuri.cpp.

◆ srid()

QString QgsDataSourceUri::srid ( ) const

Returns the spatial reference ID associated with the URI.

Definition at line 813 of file qgsdatasourceuri.cpp.

◆ sslMode()

QgsDataSourceUri::SslMode QgsDataSourceUri::sslMode ( ) const

Returns the SSL mode associated with the URI.

Definition at line 369 of file qgsdatasourceuri.cpp.

◆ table()

QString QgsDataSourceUri::table ( ) const

Returns the table name stored in the URI.

Definition at line 379 of file qgsdatasourceuri.cpp.

◆ uri()

QString QgsDataSourceUri::uri ( bool  expandAuthConfig = true) const

Returns the complete URI as a string.

Definition at line 604 of file qgsdatasourceuri.cpp.

◆ useEstimatedMetadata()

bool QgsDataSourceUri::useEstimatedMetadata ( ) const

Returns true if estimated metadata should be used for the connection.

Definition at line 417 of file qgsdatasourceuri.cpp.

◆ username()

QString QgsDataSourceUri::username ( ) const

Returns the username stored in the URI.

Definition at line 324 of file qgsdatasourceuri.cpp.

◆ wkbType()

Qgis::WkbType QgsDataSourceUri::wkbType ( ) const

Returns the WKB type associated with the URI.

Definition at line 803 of file qgsdatasourceuri.cpp.


The documentation for this class was generated from the following files: