|
|
base class for all Capabilities implemented by a plugin
Central access point to all functionality of the single database.
That means it provides a list of all queries and tables, and is able to execute a command query and to return a recordset for a given query.
Tables and queries can be accessed by name, and the class can provide collection objects for both.
Manages the connection state to a SQL engine.
Basically stores all authentication tokens and opens/closes connection as needed.
It is also a collection of database objects, allowing
typedef QValueList<TablePtr> |
typedef QValueList<QueryPtr> |
base class for all 'real' data access objects.
It mostly provide shared support (with automatic deallocation) It inherits from KShared.
Table, Query and Recordset are DatabaseObject.
A Plugin handles all connections related to a DBMS (Postgres, MySQL, and so on).
This class allows traversal of the list of available connections, and can be queryed about general informations and implemented capabilities trough provides
The Plugin is also responsible of creating "capability objects", that is objects that can implement a specific capabilities.
Actually whe have found the following capabilities:
This object manages all available plugins, and can create connections to servers or databases.
In more detail:
It knows its name, its datatype, constraints when available (like null/not null) and, when it is part of a record, its value.
The field object can manage only the data type of the underlying column. Conversion operators are provided for all common C++ datatypes. If a conversion is not allowed, a KDB::ConversionException is raised.
It is responsibility of the plugin to instantiate a correct field object for the underlying datatype. For datatypes not supported natively by C++, the Plugin can handle either QStrings or QByteArrays.
The datatype supported are the following:
All numeric types are handled both in signed and unsigned form.
Things such fields involved, ordering, if primary or not and so on.
enum |
These are all the datatypes natively supported by libkdbcore. Conversion to and from QT/C++ native types is provided by the library. See KDB::Field for further details on kdbcore type system
enum |
These are all currently known capabilities of a DBMS that a plugin can support. Plugins are queryable about the supported capabilities trough KDB::Plugin::provides and implementations are available trough KDB::Plugin::createObject
Base class for all KDB objects. It inherits QObject and provide base error reporting
A recordset can be obtained directly by the database (trough KDB::Database::openRecordset ("Select * from blah") ) or from an existing table or query.
There are two types of recordsets: read only or updatable. the type can be queryed trough updatable
an updatable recordset can be asked to build new records, as well as delete existing ones. Updates are allowed in the KDB::Record class
representation of a stored query. trough this object we access the fields and parameters of the query, if any.
typedef QList<Field> |
typedef QList<Index> |
Representation of a database table.
Trough this object we access the fields and indices of a given table (when available). This object will allow building of new fields and indexes, as well as editing of the table data using openRecordset
Generated by: pradu@server.rete.casa on Fri Jul 28 15:15:55 2000, using kdoc 2.0a36. |