kexi

KexiDB::pqxxSqlCursor Class Reference

Inheritance diagram for KexiDB::pqxxSqlCursor:

KexiDB::Cursor KexiDB::Object List of all members.

Detailed Description

Definition at line 36 of file pqxxcursor.h.


Public Member Functions

virtual ~pqxxSqlCursor ()
virtual QVariant value (uint i)
virtual const char ** rowData () const
virtual void storeCurrentRow (RowData &data) const

Protected Member Functions

 pqxxSqlCursor (Connection *conn, const QString &statement=QString::null, uint options=NoOptions)
 pqxxSqlCursor (Connection *conn, QuerySchema &query, uint options=NoOptions)
virtual void drv_clearServerResult ()
virtual void drv_appendCurrentRecordToBuffer ()
virtual void drv_bufferMovePointerNext ()
virtual void drv_bufferMovePointerPrev ()
virtual void drv_bufferMovePointerTo (Q_LLONG to)
virtual bool drv_open ()
virtual bool drv_close ()
virtual void drv_getNextRecord ()
virtual void drv_getPrevRecord ()

Friends

class pqxxSqlConnection

Member Function Documentation

void pqxxSqlCursor::drv_appendCurrentRecordToBuffer (  )  [protected, virtual]

Stores currently fetched record's values in appropriate place of the buffer. Note for driver developers: This place can be computed using m_at. Do not change value of m_at or any other Cursor members, only change your internal structures like pointer to current row, etc. If your database engine's API function (for record fetching) do not allocates such a space, you want to allocate a space for current record. Otherwise, reuse existing structure, what could be more efficient. All functions like drv_appendCurrentRecordToBuffer() operates on the buffer, i.e. array of stored rows. You are not forced to have any particular fixed structure for buffer item or buffer itself - the structure is internal and only methods like storeCurrentRecord() visible to public.

Implements KexiDB::Cursor.

Definition at line 399 of file pqxxcursor.cpp.

void pqxxSqlCursor::drv_bufferMovePointerNext (  )  [protected, virtual]

Moves pointer (that points to the buffer) -- to next item in this buffer. Note for driver developers: probably just execute "your_pointer++" is enough.

Implements KexiDB::Cursor.

Definition at line 407 of file pqxxcursor.cpp.

void pqxxSqlCursor::drv_bufferMovePointerPrev (  )  [protected, virtual]

Like drv_bufferMovePointerNext() but execute "your_pointer--".

Implements KexiDB::Cursor.

Definition at line 415 of file pqxxcursor.cpp.

void pqxxSqlCursor::drv_bufferMovePointerTo ( Q_LLONG  to  )  [protected, virtual]

Moves pointer (that points to the buffer) to a new place: at.

Implements KexiDB::Cursor.

Definition at line 423 of file pqxxcursor.cpp.

void pqxxSqlCursor::drv_clearServerResult (  )  [protected, virtual]

Clears an internal member that is used to storing last result code, the same that is returend by serverResult().

Implements KexiDB::Cursor.

Definition at line 390 of file pqxxcursor.cpp.

bool pqxxSqlCursor::drv_open (  )  [protected, virtual]

Implements KexiDB::Cursor.

Definition at line 131 of file pqxxcursor.cpp.

const char ** pqxxSqlCursor::rowData (  )  const [virtual]

[PROTOTYPE]

Returns:
current record data or NULL if there is no current records.

Implements KexiDB::Cursor.

Definition at line 346 of file pqxxcursor.cpp.

void pqxxSqlCursor::storeCurrentRow ( RowData data  )  const [virtual]

Puts current record's data into data (makes a deep copy). This have unspecified behaviour if the cursor is not at valid record. Note: For reimplementation in driver's code. Shortly, this method translates a row data from internal representation (probably also used in buffer) to simple public RecordData representation.

Implements KexiDB::Cursor.

Definition at line 372 of file pqxxcursor.cpp.

QVariant pqxxSqlCursor::value ( uint  i  )  [virtual]

Returns:
a value stored in column number i (counting from 0). Is has unspecified behaviour if the cursor is not at valid record. Note for driver developers: If i is >= than m_fieldCount, null QVariant value should be returned. To return a value typically you can use a pointer to internal structure that contain current row data (buffered or unbuffered).

Implements KexiDB::Cursor.

Definition at line 250 of file pqxxcursor.cpp.


The documentation for this class was generated from the following files:
KDE Home | KDE Accessibility Home | Description of Access Keys