GdaPStmt

GdaPStmt — Prepared statement's base class

Synopsis

#include <libgda/providers-support/gda-pstmt.h>

                    GdaPStmt;
void                gda_pstmt_set_gda_statement         (GdaPStmt *pstmt,
                                                         GdaStatement *stmt);
GdaStatement *      gda_pstmt_get_gda_statement         (GdaPStmt *pstmt);
void                gda_pstmt_copy_contents             (GdaPStmt *src,
                                                         GdaPStmt *dest);

Object Hierarchy

  GObject
   +----GdaPStmt

Description

The GdaPStmt represents the association between a GdaStatement statement and a prepared statement which is database dependent and is an in-memory representation of a statement. Using prepared statement has the following advantages:

  • the parsing of the SQL has to be done only once, which improves performances if the statement has to be executed more than once

  • if a statement has been prepared, then it means it is syntactically correct and has been understood by the database's API

  • it is possible to use variables in prepared statement which eliminates the risk of SQL code injection

The GdaPStmt is not intended to be instantiated, but subclassed by database provider's implementation. Once created, the database provider's implementation can decide to associate (for future lookup) to a GdaStatement object in a connection using gda_connection_add_prepared_statement().

The GdaPStmt object can keep a reference to the GdaStatement object (which can be set and get using the gda_pstmt_set_gda_statement() and gda_pstmt_get_gda_statement()), however that reference if a weak one (which means it will be lost if the GdaStatement object is destroyed).

Details

GdaPStmt

typedef struct _GdaPStmt GdaPStmt;


gda_pstmt_set_gda_statement ()

void                gda_pstmt_set_gda_statement         (GdaPStmt *pstmt,
                                                         GdaStatement *stmt);

Informs pstmt that it corresponds to the preparation of the stmt statement

pstmt :

a GdaPStmt object

stmt :

a GdaStatement object

gda_pstmt_get_gda_statement ()

GdaStatement *      gda_pstmt_get_gda_statement         (GdaPStmt *pstmt);

Get a pointer to the GdaStatement which led to the creation of this prepared statement.

Note: if that statement has been modified since the creation of pstmt, then this method will return NULL

pstmt :

a GdaPStmt object

Returns :

the GdaStatement. [transfer none]

gda_pstmt_copy_contents ()

void                gda_pstmt_copy_contents             (GdaPStmt *src,
                                                         GdaPStmt *dest);

Copies src's data to dest

src :

a GdaPStmt object

dest :

a GdaPStmt object