QGIS API Documentation 3.32.0-Lima (311a8cb8a6)
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)
 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 30 of file qgsdatasourceuri.cpp.

◆ QgsDataSourceUri() [2/3]

QgsDataSourceUri::QgsDataSourceUri ( const QString &  uri)

Constructor for QgsDataSourceUri which parses an input uri string.

Definition at line 35 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 259 of file qgsdatasourceuri.cpp.

◆ clearSchema()

void QgsDataSourceUri::clearSchema ( )

Clears the schema stored in the URI.

Definition at line 378 of file qgsdatasourceuri.cpp.

◆ connectionInfo()

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

Returns the connection part of the URI.

Definition at line 482 of file qgsdatasourceuri.cpp.

◆ database()

QString QgsDataSourceUri::database ( ) const

Returns the database name stored in the URI.

Definition at line 284 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 761 of file qgsdatasourceuri.cpp.

◆ disableSelectAtId()

void QgsDataSourceUri::disableSelectAtId ( bool  flag)

Set to true to disable selection by feature ID.

Definition at line 362 of file qgsdatasourceuri.cpp.

◆ driver()

QString QgsDataSourceUri::driver ( ) const

Returns the driver name stored in the URI.

Since
QGIS 2.16

Definition at line 304 of file qgsdatasourceuri.cpp.

◆ encodedUri()

QByteArray QgsDataSourceUri::encodedUri ( ) const

Returns the complete encoded URI as a byte array.

Definition at line 618 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 779 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 329 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 864 of file qgsdatasourceuri.cpp.

◆ host()

QString QgsDataSourceUri::host ( ) const

Returns the host name stored in the URI.

Definition at line 279 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 344 of file qgsdatasourceuri.h.

◆ httpHeaders() [1/2]

QgsHttpHeaders & QgsDataSourceUri::httpHeaders ( )
inline

Returns http headers.

Since
QGIS 3.26

Definition at line 338 of file qgsdatasourceuri.h.

◆ httpHeaders() [2/2]

QgsHttpHeaders QgsDataSourceUri::httpHeaders ( ) const
inline

Returns http headers.

Definition at line 331 of file qgsdatasourceuri.h.

◆ keyColumn()

QString QgsDataSourceUri::keyColumn ( ) const

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

Definition at line 334 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 838 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 877 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 851 of file qgsdatasourceuri.cpp.

◆ password()

QString QgsDataSourceUri::password ( ) const

Returns the password stored in the URI.

Definition at line 289 of file qgsdatasourceuri.cpp.

◆ port()

QString QgsDataSourceUri::port ( ) const

Returns the port stored in the URI.

Definition at line 299 of file qgsdatasourceuri.cpp.

◆ quotedTablename()

QString QgsDataSourceUri::quotedTablename ( ) const

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

Definition at line 675 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 817 of file qgsdatasourceuri.cpp.

◆ removePassword()

QString QgsDataSourceUri::removePassword ( const QString &  aUri)
static

Removes the password element from a URI.

Definition at line 225 of file qgsdatasourceuri.cpp.

◆ schema()

QString QgsDataSourceUri::schema ( ) const

Returns the schema stored in the URI.

Definition at line 314 of file qgsdatasourceuri.cpp.

◆ selectAtIdDisabled()

bool QgsDataSourceUri::selectAtIdDisabled ( ) const

Returns whether the selection by feature ID is disabled.

Definition at line 368 of file qgsdatasourceuri.cpp.

◆ service()

QString QgsDataSourceUri::service ( ) const

Returns the service name associated with the URI.

Definition at line 274 of file qgsdatasourceuri.cpp.

◆ setAuthConfigId()

void QgsDataSourceUri::setAuthConfigId ( const QString &  authcfg)

Sets the authentication configuration ID for the URI.

Definition at line 731 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 686 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 703 of file qgsdatasourceuri.cpp.

◆ setDatabase()

void QgsDataSourceUri::setDatabase ( const QString &  database)

Sets the URI database name.

Definition at line 736 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 718 of file qgsdatasourceuri.cpp.

◆ setDriver()

void QgsDataSourceUri::setDriver ( const QString &  driver)

Sets the driver name stored in the URI.

Since
QGIS 2.16

Definition at line 340 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 640 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 670 of file qgsdatasourceuri.cpp.

◆ setGeometryColumn()

void QgsDataSourceUri::setGeometryColumn ( const QString &  geometryColumn)

Sets geometry column name to geometryColumn.

Since
QGIS 3.10

Definition at line 398 of file qgsdatasourceuri.cpp.

◆ setHttpHeaders()

void QgsDataSourceUri::setHttpHeaders ( const QgsHttpHeaders headers)
inline

Sets headers to headers.

Since
QGIS 3.26

Definition at line 350 of file qgsdatasourceuri.h.

◆ setKeyColumn()

void QgsDataSourceUri::setKeyColumn ( const QString &  column)

Sets the name of the (primary) key column.

Definition at line 346 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 793 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 809 of file qgsdatasourceuri.cpp.

◆ setPassword()

void QgsDataSourceUri::setPassword ( const QString &  password)

Sets the password for the URI.

Definition at line 294 of file qgsdatasourceuri.cpp.

◆ setSchema()

void QgsDataSourceUri::setSchema ( const QString &  schema)

Sets the scheme for the URI.

Since
QGIS 2.12

Definition at line 383 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 373 of file qgsdatasourceuri.cpp.

◆ setSrid()

void QgsDataSourceUri::setSrid ( const QString &  srid)

Sets the spatial reference ID associated with the URI.

Definition at line 756 of file qgsdatasourceuri.cpp.

◆ setTable()

void QgsDataSourceUri::setTable ( const QString &  table)

Sets table to table.

Since
QGIS 3.10

Definition at line 403 of file qgsdatasourceuri.cpp.

◆ setUseEstimatedMetadata()

void QgsDataSourceUri::setUseEstimatedMetadata ( bool  flag)

Sets whether estimated metadata should be used for the connection.

Definition at line 352 of file qgsdatasourceuri.cpp.

◆ setUsername()

void QgsDataSourceUri::setUsername ( const QString &  username)

Sets the username for the URI.

Definition at line 269 of file qgsdatasourceuri.cpp.

◆ setWkbType()

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

Sets the WKB type associated with the URI.

Definition at line 746 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 324 of file qgsdatasourceuri.cpp.

◆ srid()

QString QgsDataSourceUri::srid ( ) const

Returns the spatial reference ID associated with the URI.

Definition at line 751 of file qgsdatasourceuri.cpp.

◆ sslMode()

QgsDataSourceUri::SslMode QgsDataSourceUri::sslMode ( ) const

Returns the SSL mode associated with the URI.

Definition at line 309 of file qgsdatasourceuri.cpp.

◆ table()

QString QgsDataSourceUri::table ( ) const

Returns the table name stored in the URI.

Definition at line 319 of file qgsdatasourceuri.cpp.

◆ uri()

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

Returns the complete URI as a string.

Definition at line 544 of file qgsdatasourceuri.cpp.

◆ useEstimatedMetadata()

bool QgsDataSourceUri::useEstimatedMetadata ( ) const

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

Definition at line 357 of file qgsdatasourceuri.cpp.

◆ username()

QString QgsDataSourceUri::username ( ) const

Returns the username stored in the URI.

Definition at line 264 of file qgsdatasourceuri.cpp.

◆ wkbType()

Qgis::WkbType QgsDataSourceUri::wkbType ( ) const

Returns the WKB type associated with the URI.

Definition at line 741 of file qgsdatasourceuri.cpp.


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