<class name="QSqlDriver" doc="/**
&lt;p&gt;The &lt;a href=&quot;QSqlDriver.html#QSqlDriver(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QSqlDriver&lt;/tt&gt;&lt;/a&gt; class is an abstract base class for accessing specific SQL databases.&lt;/p&gt;
&lt;p&gt;This class should not be used directly. Use &lt;a href=&quot;QSqlDatabase.html&quot;&gt;&lt;tt&gt;QSqlDatabase&lt;/tt&gt;&lt;/a&gt; instead.&lt;/p&gt;
&lt;p&gt;If you want to create your own SQL drivers, you can subclass this class and reimplement its pure virtual functions and those virtual functions that you need. See &lt;a href=&quot;%2E%2E/sql-driver.html#how-to-write-your-own-database-driver&quot;&gt;How to Write Your Own Database Driver&lt;/tt&gt;&lt;/a&gt; for more information.&lt;/p&gt;

@see &lt;a href=&quot;QSqlDatabase.html&quot;&gt;&lt;tt&gt;QSqlDatabase&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QSqlResult.html&quot;&gt;&lt;tt&gt;QSqlResult&lt;/tt&gt;&lt;/a&gt; */">
    <method name="public QSqlDriver(com.trolltech.qt.core.QObject parent)" doc="/**
&lt;p&gt;Constructs a new driver with the given &lt;tt&gt;parent&lt;/tt&gt;.&lt;/p&gt;
 */"/>
    <method name="public QSqlDriver()" doc="/**
&lt;p&gt;Equivalent to &lt;a href=&quot;QSqlDriver.html#QSqlDriver(com.trolltech.qt.core.QObject)&quot;&gt;&lt;tt&gt;QSqlDriver&lt;/tt&gt;&lt;/a&gt;(0). */"/>
    <method name="public final boolean isOpenError()" doc="/**
&lt;p&gt;Returns true if the there was an error opening the database connection; otherwise returns false.&lt;/p&gt;
 */"/>
    <method name="public final com.trolltech.qt.sql.QSqlError lastError()" doc="/**
&lt;p&gt;Returns a &lt;a href=&quot;QSqlError.html&quot;&gt;&lt;tt&gt;QSqlError&lt;/tt&gt;&lt;/a&gt; object which contains information about the last error that occurred on the database.&lt;/p&gt;

@see &lt;a href=&quot;QSqlDriver.html#setLastError(com.trolltech.qt.sql.QSqlError)&quot;&gt;&lt;tt&gt;setLastError&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public boolean beginTransaction()" doc="/**
&lt;p&gt;This function is called to begin a transaction. If successful, return true, otherwise return false. The default implementation does nothing and returns false.&lt;/p&gt;

@see &lt;a href=&quot;QSqlDriver.html#commitTransaction()&quot;&gt;&lt;tt&gt;commitTransaction&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QSqlDriver.html#rollbackTransaction()&quot;&gt;&lt;tt&gt;rollbackTransaction&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract void close()" doc="/**
&lt;p&gt;Derived classes must reimplement this pure virtual function in order to close the database connection. Return true on success, false on failure.&lt;/p&gt;

@see &lt;a href=&quot;QSqlDriver.html#open(java.lang.String, java.lang.String, java.lang.String, java.lang.String, int, java.lang.String)&quot;&gt;&lt;tt&gt;open&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QSqlDriver.html#setOpen(boolean)&quot;&gt;&lt;tt&gt;setOpen&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public boolean commitTransaction()" doc="/**
&lt;p&gt;This function is called to commit a transaction. If successful, return true, otherwise return false. The default implementation does nothing and returns false.&lt;/p&gt;

@see &lt;a href=&quot;QSqlDriver.html#beginTransaction()&quot;&gt;&lt;tt&gt;beginTransaction&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QSqlDriver.html#rollbackTransaction()&quot;&gt;&lt;tt&gt;rollbackTransaction&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public abstract com.trolltech.qt.sql.QSqlResult createResult()" doc="/**
&lt;p&gt;Creates an empty SQL result on the database. Derived classes must reimplement this function and return a &lt;a href=&quot;QSqlResult.html&quot;&gt;&lt;tt&gt;QSqlResult&lt;/tt&gt;&lt;/a&gt; object appropriate for their database to the caller.&lt;/p&gt;
 */"/>
    <method name="public java.lang.String escapeIdentifier(java.lang.String identifier, com.trolltech.qt.sql.QSqlDriver.IdentifierType type)" doc="/**
&lt;p&gt;Returns the &lt;tt&gt;identifier&lt;/tt&gt; escaped according to the database rules. &lt;tt&gt;identifier&lt;/tt&gt; can either be a table name or field name, dependent on &lt;tt&gt;type&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;The default implementation does nothing.&lt;/p&gt;
 */"/>
    <method name="public java.lang.String formatValue(com.trolltech.qt.sql.QSqlField field, boolean trimStrings)" doc="/**
&lt;p&gt;Returns a string representation of the &lt;tt&gt;field&lt;/tt&gt; value for the database. This is used, for example, when constructing INSERT and UPDATE statements.&lt;/p&gt;
&lt;p&gt;The default implementation returns the value formatted as a string according to the following rules:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If &lt;tt&gt;field&lt;/tt&gt; is character data, the value is returned enclosed in single quotation marks, which is appropriate for many SQL databases. Any embedded single-quote characters are escaped (replaced with two single-quote characters). If &lt;tt&gt;trimStrings&lt;/tt&gt; is true (the default is false), all trailing whitespace is trimmed from the field.&lt;/li&gt;
&lt;li&gt;If &lt;tt&gt;field&lt;/tt&gt; is date/time data, the value is formatted in ISO format and enclosed in single quotation marks. If the date/time data is invalid, &amp;quot;NULL&amp;quot; is returned.&lt;/li&gt;
&lt;li&gt;If &lt;tt&gt;field&lt;/tt&gt; is &lt;a href=&quot;%2E%2E/core/QByteArray.html&quot;&gt;bytearray&lt;/tt&gt;&lt;/a&gt; data, and the driver can edit binary fields, the value is formatted as a hexadecimal string.&lt;/li&gt;
&lt;li&gt;For any other field type, toString() is called on its value and the result of this is returned.&lt;/li&gt;
&lt;/ul&gt;

@see &lt;tt&gt;QVariant::toString&lt;/tt&gt; */"/>
    <method name="public final java.lang.String formatValue(com.trolltech.qt.sql.QSqlField field)" doc="/**
&lt;p&gt;Equivalent to &lt;a href=&quot;QSqlDriver.html#formatValue(com.trolltech.qt.sql.QSqlField, boolean)&quot;&gt;&lt;tt&gt;formatValue&lt;/tt&gt;&lt;/a&gt;(&lt;tt&gt;field&lt;/tt&gt;, false). */"/>
    <method name="public java.lang.Object handle()" doc="/**
&lt;p&gt;Returns the low-level database handle wrapped in a &lt;a href=&quot;%2E%2E/porting4.html#qvariant&quot;&gt;&lt;tt&gt;QVariant&lt;/tt&gt;&lt;/a&gt; or an invalid variant if there is no handle.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; Use this with uttermost care and only if you know what you're doing.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; The handle returned here can become a stale pointer if the connection is modified (for example, if you close the connection).&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Warning:&lt;/b&gt; The handle can be NULL if the connection is not open yet.&lt;/p&gt;
&lt;p&gt;The handle returned here is database-dependent, you should query the type name of the variant before accessing it.&lt;/p&gt;
&lt;p&gt;This example retrieves the handle for a connection to sqlite:&lt;/p&gt;
&lt;pre&gt;    QSqlDatabase db = ...;
    QVariant v = db.driver()-&amp;gt;handle();
    if (v.isValid() &amp;amp;&amp;amp; qstrcmp(v.typeName(), &amp;quot;sqlite3*&amp;quot;)) {
        &lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt; v.data() returns a pointer to the handle
        sqlite3 *handle = *static_cast&amp;lt;sqlite3 **&amp;gt;(v.data());
        if (handle != 0) { &lt;span class=&quot;comment&quot;&gt;//&lt;/span&gt; check that it is not NULL
            ...
        }
    }&lt;/pre&gt;
&lt;p&gt;This snippet returns the handle for PostgreSQL or MySQL:&lt;/p&gt;
&lt;pre&gt;    if (v.typeName() == &amp;quot;PGconn*&amp;quot;) {
        PGconn *handle = *static_cast&amp;lt;PGconn **&amp;gt;(v.data());
        if (handle != 0) ...
    }

    if (v.typeName() == &amp;quot;MYSQL*&amp;quot;) {
        MYSQL *handle = *static_cast&amp;lt;MYSQL **&amp;gt;(v.data());
        if (handle != 0) ...
    }&lt;/pre&gt;

@see &lt;tt&gt;QSqlResult::handle&lt;/tt&gt; */"/>
    <method name="public abstract boolean hasFeature(com.trolltech.qt.sql.QSqlDriver.DriverFeature f)" doc="/**
&lt;p&gt;Returns true if the driver supports feature &lt;tt&gt;f&lt;/tt&gt;; otherwise returns false.&lt;/p&gt;
&lt;p&gt;Note that some databases need to be &lt;a href=&quot;QSqlDriver.html#open(java.lang.String, java.lang.String, java.lang.String, java.lang.String, int, java.lang.String)&quot;&gt;&lt;tt&gt;open&lt;/tt&gt;&lt;/a&gt; before this can be determined.&lt;/p&gt;

@see &lt;a href=&quot;QSqlDriver.html#DriverFeature-enum&quot;&gt;&lt;tt&gt;DriverFeature&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public boolean isOpen()" doc="/**
&lt;p&gt;Returns true if the database connection is open; otherwise returns false.&lt;/p&gt;
 */"/>
    <method name="public abstract boolean open(java.lang.String db, java.lang.String user, java.lang.String password, java.lang.String host, int port, java.lang.String connOpts)" doc="/**
&lt;p&gt;Derived classes must reimplement this pure virtual function to open a database connection on database &lt;tt&gt;db&lt;/tt&gt;, using user name &lt;tt&gt;user&lt;/tt&gt;, password &lt;tt&gt;password&lt;/tt&gt;, host &lt;tt&gt;host&lt;/tt&gt;, port &lt;tt&gt;port&lt;/tt&gt; and connection options &lt;tt&gt;connOpts&lt;/tt&gt;.&lt;/p&gt;
&lt;p&gt;The function must return true on success and false on failure.&lt;/p&gt;

@see &lt;a href=&quot;QSqlDriver.html#setOpen(boolean)&quot;&gt;&lt;tt&gt;setOpen&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public final boolean open(java.lang.String db, java.lang.String user, java.lang.String password, java.lang.String host, int port)" doc="/**
&lt;p&gt;Equivalent to &lt;a href=&quot;QSqlDriver.html#open(java.lang.String, java.lang.String, java.lang.String, java.lang.String, int, java.lang.String)&quot;&gt;open&lt;/tt&gt;&lt;/a&gt;(&lt;tt&gt;db&lt;/tt&gt;, &lt;tt&gt;user&lt;/tt&gt;, &lt;tt&gt;password&lt;/tt&gt;, &lt;tt&gt;host&lt;/tt&gt;, &lt;tt&gt;port&lt;/tt&gt;, QString()). */"/>
    <method name="public final boolean open(java.lang.String db, java.lang.String user, java.lang.String password, java.lang.String host)" doc="/**
&lt;p&gt;Equivalent to &lt;a href=&quot;QSqlDriver.html#open(java.lang.String, java.lang.String, java.lang.String, java.lang.String, int, java.lang.String)&quot;&gt;open&lt;/tt&gt;&lt;/a&gt;(&lt;tt&gt;db&lt;/tt&gt;, &lt;tt&gt;user&lt;/tt&gt;, &lt;tt&gt;password&lt;/tt&gt;, &lt;tt&gt;host&lt;/tt&gt;, -1, QString()). */"/>
    <method name="public final boolean open(java.lang.String db, java.lang.String user, java.lang.String password)" doc="/**
&lt;p&gt;Equivalent to &lt;a href=&quot;QSqlDriver.html#open(java.lang.String, java.lang.String, java.lang.String, java.lang.String, int, java.lang.String)&quot;&gt;open&lt;/tt&gt;&lt;/a&gt;(&lt;tt&gt;db&lt;/tt&gt;, &lt;tt&gt;user&lt;/tt&gt;, &lt;tt&gt;password&lt;/tt&gt;, QString(), -1, QString()). */"/>
    <method name="public final boolean open(java.lang.String db, java.lang.String user)" doc="/**
&lt;p&gt;Equivalent to &lt;a href=&quot;QSqlDriver.html#open(java.lang.String, java.lang.String, java.lang.String, java.lang.String, int, java.lang.String)&quot;&gt;open&lt;/tt&gt;&lt;/a&gt;(&lt;tt&gt;db&lt;/tt&gt;, &lt;tt&gt;user&lt;/tt&gt;, QString(), QString(), -1, QString()). */"/>
    <method name="public final boolean open(java.lang.String db)" doc="/**
&lt;p&gt;Equivalent to &lt;a href=&quot;QSqlDriver.html#open(java.lang.String, java.lang.String, java.lang.String, java.lang.String, int, java.lang.String)&quot;&gt;open&lt;/tt&gt;&lt;/a&gt;(&lt;tt&gt;db&lt;/tt&gt;, QString(), QString(), QString(), -1, QString()). */"/>
    <method name="public com.trolltech.qt.sql.QSqlIndex primaryIndex(java.lang.String tableName)" doc="/**
&lt;p&gt;Returns the primary index for table &lt;tt&gt;tableName&lt;/tt&gt;. Returns an empty &lt;a href=&quot;QSqlIndex.html&quot;&gt;&lt;tt&gt;QSqlIndex&lt;/tt&gt;&lt;/a&gt; if the table doesn't have a primary index. The default implementation returns an empty index.&lt;/p&gt;
 */"/>
    <method name="public com.trolltech.qt.sql.QSqlRecord record(java.lang.String tableName)" doc="/**
&lt;p&gt;Returns a &lt;a href=&quot;QSqlRecord.html&quot;&gt;&lt;tt&gt;QSqlRecord&lt;/tt&gt;&lt;/a&gt; populated with the names of the fields in table &lt;tt&gt;tableName&lt;/tt&gt;. If no such table exists, an empty record is returned. The default implementation returns an empty record.&lt;/p&gt;
 */"/>
    <method name="public boolean rollbackTransaction()" doc="/**
&lt;p&gt;This function is called to rollback a transaction. If successful, return true, otherwise return false. The default implementation does nothing and returns false.&lt;/p&gt;

@see &lt;a href=&quot;QSqlDriver.html#beginTransaction()&quot;&gt;&lt;tt&gt;beginTransaction&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QSqlDriver.html#commitTransaction()&quot;&gt;&lt;tt&gt;commitTransaction&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="protected void setLastError(com.trolltech.qt.sql.QSqlError e)" doc="/**
&lt;p&gt;This function is used to set the value of the last error, &lt;tt&gt;e&lt;/tt&gt;, that occurred on the database.&lt;/p&gt;

@see &lt;a href=&quot;QSqlDriver.html#lastError()&quot;&gt;&lt;tt&gt;lastError&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="protected void setOpen(boolean o)" doc="/**
&lt;p&gt;This function sets the open state of the database to &lt;tt&gt;o&lt;/tt&gt;. Derived classes can use this function to report the status of &lt;a href=&quot;QSqlDriver.html#open(java.lang.String, java.lang.String, java.lang.String, java.lang.String, int, java.lang.String)&quot;&gt;&lt;tt&gt;open&lt;/tt&gt;&lt;/a&gt;.&lt;/p&gt;

@see &lt;a href=&quot;QSqlDriver.html#open(java.lang.String, java.lang.String, java.lang.String, java.lang.String, int, java.lang.String)&quot;&gt;&lt;tt&gt;open&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QSqlDriver.html#setOpenError(boolean)&quot;&gt;&lt;tt&gt;setOpenError&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="protected void setOpenError(boolean e)" doc="/**
&lt;p&gt;This function sets the open error state of the database to &lt;tt&gt;e&lt;/tt&gt;. Derived classes can use this function to report the status of &lt;a href=&quot;QSqlDriver.html#open(java.lang.String, java.lang.String, java.lang.String, java.lang.String, int, java.lang.String)&quot;&gt;&lt;tt&gt;open&lt;/tt&gt;&lt;/a&gt;. Note that if &lt;tt&gt;e&lt;/tt&gt; is true the open state of the database is set to closed (i.e&amp;#x2e;, &lt;a href=&quot;QSqlDriver.html#isOpen()&quot;&gt;&lt;tt&gt;isOpen&lt;/tt&gt;&lt;/a&gt; returns false).&lt;/p&gt;

@see &lt;a href=&quot;QSqlDriver.html#isOpenError()&quot;&gt;&lt;tt&gt;isOpenError&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QSqlDriver.html#open(java.lang.String, java.lang.String, java.lang.String, java.lang.String, int, java.lang.String)&quot;&gt;&lt;tt&gt;open&lt;/tt&gt;&lt;/a&gt;
@see &lt;a href=&quot;QSqlDriver.html#setOpen(boolean)&quot;&gt;&lt;tt&gt;setOpen&lt;/tt&gt;&lt;/a&gt; */"/>
    <method name="public java.lang.String sqlStatement(com.trolltech.qt.sql.QSqlDriver.StatementType type, java.lang.String tableName, com.trolltech.qt.sql.QSqlRecord rec, boolean preparedStatement)" doc="/**
&lt;p&gt;Returns a SQL statement of type &lt;tt&gt;type&lt;/tt&gt; for the table &lt;tt&gt;tableName&lt;/tt&gt; with the values from &lt;tt&gt;rec&lt;/tt&gt;. If &lt;tt&gt;preparedStatement&lt;/tt&gt; is true, the string will contain placeholders instead of values.&lt;/p&gt;
&lt;p&gt;This method can be used to manipulate tables without having to worry about database-dependent SQL dialects. For non-prepared statements, the values will be properly escaped.&lt;/p&gt;
 */"/>
    <method name="public java.util.List&lt;java.lang.String&gt; tables(com.trolltech.qt.sql.QSql.TableType tableType)" doc="/**
&lt;p&gt;Returns a list of the names of the tables in the database. The default implementation returns an empty list.&lt;/p&gt;
&lt;p&gt;The &lt;tt&gt;tableType&lt;/tt&gt; argument describes what types of tables should be returned. Due to binary compatibility, the string contains the value of the enum QSql::TableTypes as text. An empty string should be treated as QSql::Tables for backward compatibility.&lt;/p&gt;
 */"/>
    <enum name="StatementType" doc="/**
&lt;p&gt;This enum contains a list of SQL statement (or clause) types the driver can create.&lt;/p&gt;

@see &lt;a href=&quot;QSqlDriver.html#sqlStatement(com.trolltech.qt.sql.QSqlDriver.StatementType, java.lang.String, com.trolltech.qt.sql.QSqlRecord, boolean)&quot;&gt;&lt;tt&gt;sqlStatement&lt;/tt&gt;&lt;/a&gt; */">
        <enum-value name="WhereStatement" doc="/**
&lt;p&gt;An SQL &lt;tt&gt;WHERE&lt;/tt&gt; statement (e.g&amp;#x2e;, &lt;tt&gt;WHERE f = 5&lt;/tt&gt;).&lt;/p&gt;
 */"/>
        <enum-value name="SelectStatement" doc="/**
&lt;p&gt;An SQL &lt;tt&gt;SELECT&lt;/tt&gt; statement (e.g&amp;#x2e;, &lt;tt&gt;SELECT f FROM t&lt;/tt&gt;).&lt;/p&gt;
 */"/>
        <enum-value name="UpdateStatement" doc="/**
&lt;p&gt;An SQL &lt;tt&gt;UPDATE&lt;/tt&gt; statement (e.g&amp;#x2e;, &lt;tt&gt;UPDATE TABLE t set f = 1&lt;/tt&gt;).&lt;/p&gt;
 */"/>
        <enum-value name="InsertStatement" doc="/**
&lt;p&gt;An SQL &lt;tt&gt;INSERT&lt;/tt&gt; statement (e.g&amp;#x2e;, &lt;tt&gt;INSERT INTO t (f) values (1)&lt;/tt&gt;).&lt;/p&gt;
 */"/>
        <enum-value name="DeleteStatement" doc="/**
&lt;p&gt;An SQL &lt;tt&gt;DELETE&lt;/tt&gt; statement (e.g&amp;#x2e;, &lt;tt&gt;DELETE FROM t&lt;/tt&gt;).&lt;/p&gt;
 */"/>
</enum>
    <enum name="IdentifierType" doc="/**
&lt;p&gt;This enum contains a list of SQL identifier types.&lt;/p&gt;
 */">
        <enum-value name="FieldName" doc="/**
&lt;p&gt;A SQL field name&lt;/p&gt;
 */"/>
        <enum-value name="TableName" doc="/**
&lt;p&gt;A SQL table name&lt;/p&gt;
 */"/>
</enum>
    <enum name="DriverFeature" doc="/**
&lt;p&gt;This enum contains a list of features a driver might support. Use &lt;a href=&quot;QSqlDriver.html#hasFeature(com.trolltech.qt.sql.QSqlDriver.DriverFeature)&quot;&gt;&lt;tt&gt;hasFeature&lt;/tt&gt;&lt;/a&gt; to query whether a feature is supported or not.&lt;/p&gt;
&lt;p&gt;More information about supported features can be found in the &lt;a href=&quot;%2E%2E/sql-driver.html&quot;&gt;Qt SQL driver&lt;/tt&gt;&lt;/a&gt; documentation.&lt;/p&gt;

@see &lt;a href=&quot;QSqlDriver.html#hasFeature(com.trolltech.qt.sql.QSqlDriver.DriverFeature)&quot;&gt;&lt;tt&gt;hasFeature&lt;/tt&gt;&lt;/a&gt; */">
        <enum-value name="Transactions" doc="/**
&lt;p&gt;Whether the driver supports SQL transactions.&lt;/p&gt;
 */"/>
        <enum-value name="QuerySize" doc="/**
&lt;p&gt;Whether the database is capable of reporting the size of a query. Note that some databases do not support returning the size (i.e&amp;#x2e; number of rows returned) of a query, in which case QSqlQuery::size() will return -1.&lt;/p&gt;
 */"/>
        <enum-value name="BLOB" doc="/**
&lt;p&gt;Whether the driver supports Binary Large Object fields.&lt;/p&gt;
 */"/>
        <enum-value name="Unicode" doc="/**
&lt;p&gt;Whether the driver supports Unicode strings if the database server does.&lt;/p&gt;
 */"/>
        <enum-value name="PreparedQueries" doc="/**
&lt;p&gt;Whether the driver supports prepared query execution.&lt;/p&gt;
 */"/>
        <enum-value name="NamedPlaceholders" doc="/**
&lt;p&gt;Whether the driver supports the use of named placeholders.&lt;/p&gt;
 */"/>
        <enum-value name="PositionalPlaceholders" doc="/**
&lt;p&gt;Whether the driver supports the use of positional placeholders.&lt;/p&gt;
 */"/>
        <enum-value name="LastInsertId" doc="/**
&lt;p&gt;Whether the driver supports returning the Id of the last touched row.&lt;/p&gt;
 */"/>
        <enum-value name="BatchOperations" doc="/**
&lt;p&gt;Whether the driver supports batched operations, see QSqlResult::execBatch()&lt;/p&gt;
 */"/>
        <enum-value name="SimpleLocking" doc="/**
&lt;p&gt;Whether the driver disallows a write lock on a table while other queries have a read lock on it.&lt;/p&gt;
 */"/>
        <enum-value name="LowPrecisionNumbers" doc="/**
&lt;p&gt;Whether the driver allows fetching numerical values with low precision.&lt;/p&gt;
 */"/>
</enum>
</class>
