24#include <tqvaluelist.h>
27#include <tqguardedptr.h>
29#include <kexidb/fieldlist.h>
30#include <kexidb/schemadata.h>
31#include <kexidb/indexschema.h>
32#include <kexidb/relationship.h>
42class KEXI_DB_EXPORT TableSchema : public FieldList, public SchemaData
45 typedef TQPtrList<TableSchema> List;
48 TableSchema( const TQString & name);
49 TableSchema( const SchemaData& sdata);
55 TableSchema( const TableSchema& ts, bool copyId = true);
61 TableSchema( const TableSchema& ts, int setId);
63 virtual ~TableSchema();
90 const IndexSchema::ListIterator indicesIterator() const
91 { return IndexSchema::ListIterator(m_indices); }
93 const IndexSchema::List* indices() { return &m_indices; }
102 TQString debugString( bool includeTableName);
105 virtual TQString debugString();
130 void setKexiDBSystem( bool set);
134 virtual bool isNative() const { return m_native || m_isKexiDBSystem; }
137 virtual void setNative( bool set);
147 Field* anyNonPKField();
153 bool setLookupFieldSchema( const TQString& fieldName, LookupFieldSchema *lookupFieldSchema );
167 const TQPtrVector<LookupFieldSchema>& lookupFieldsList();
173 IndexSchema::List m_indices;
175 TQGuardedPtr<Connection> m_conn;
189 void init( const TableSchema& ts, bool copyId);
191 bool m_isKexiDBSystem : 1;
193 friend class Connection;
200class KEXI_DB_EXPORT InternalTableSchema : public TableSchema
203 InternalTableSchema( const TQString& name);
204 InternalTableSchema( const TableSchema& ts);
205 virtual ~InternalTableSchema();
Provides database connection, allowing queries and data modification.
FieldList(bool owner=false)
Provides information about database index that can be created for a database table.
Provides information about lookup field's setup.
KexiDB::QuerySchema provides information about database query.
Connection * connection() const
IndexSchema * primaryKey() const
virtual bool isNative() const
QuerySchema * m_query cached query schema that is defined by "select * from <this_table_name>"
TQPtrListIterator< TableSchema > ListIterator Iterator for tables list.
virtual FieldList & insertField(uint index, Field *field)
TQPtrList< TableSchema > List Type of tables list.
bool isKexiDBSystem() const
virtual void removeField(KexiDB::Field *field)
High-level database connectivity library with database backend drivers.
|