Single SQL statement. More...
Public Types | |
typedef Glib::ListHandle < const Glib::RefPtr< Holder > > | HolderSList |
Public Member Functions | |
virtual | ~Statement () |
GdaStatement* | gobj () |
Provides access to the underlying C GObject. | |
const GdaStatement* | gobj () const |
Provides access to the underlying C GObject. | |
GdaStatement* | gobj_copy () |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. | |
Glib::RefPtr< Statement > | copy () const |
Copy constructor. | |
Glib::ustring | serialize () const |
Creates a string representing the contents of stmt. | |
bool | get_parameters (Glib::RefPtr< Set >& out_params) |
Get a new Gda::Set object which groups all the execution parameters which stmt needs. | |
Glib::ustring | to_sql () const |
Glib::ustring | to_sql (const Glib::RefPtr< const Set >& params) const |
Glib::ustring | to_sql (const Glib::RefPtr< Connection >& cnc, const Glib::RefPtr< const Set >& params, StatementSqlFlag flags, const HolderSList& params_used) const |
Renders stmt as an SQL statement, with some control on how it is rendered. | |
SqlStatementType | get_statement_type () const |
Get the type of statement held by stmt. | |
bool | is_useless () const |
Tells if stmt is composed only of spaces (that is it has no real SQL code), and is completely useless as such. | |
bool | check_structure () const |
Checks that stmt's structure is correct. | |
bool | check_validity (const Glib::RefPtr< Connection >& cnc) const |
If cnc is not 0 then checks that every object (table, field, function) used in stmt actually exists in cnc's database. | |
bool | normalize (const Glib::RefPtr< Connection >& cnc) |
"Normalizes" some parts of stmt, see gda_sql_statement_normalize() for more information. | |
Glib::PropertyProxy< gpointer > | property_structure () |
You rarely need to use properties because there are get_ and set_ methods for almost all of them. | |
Glib::PropertyProxy_ReadOnly < gpointer > | property_structure () const |
You rarely need to use properties because there are get_ and set_ methods for almost all of them. | |
Glib::SignalProxy2< void, const Glib::RefPtr< Connection > &, bool > | signal_checked () |
Glib::SignalProxy0< void > | signal_reset () |
Static Public Member Functions | |
static Glib::RefPtr< Statement > | create () |
Protected Member Functions | |
Statement () | |
virtual void | on_checked (const Glib::RefPtr< Connection >& cnc, bool valid) |
virtual void | on_reset () |
Related Functions | |
(Note that these are not member functions.) | |
Glib::RefPtr < Gnome::Gda::Statement > | wrap (GdaStatement* object, bool take_copy=false) |
A Glib::wrap() method for this object. |
Single SQL statement.
The Gda::Statement represents a single SQL statement (multiple statements can be grouped in a Batch object).
A Gda::Statement can either be built "manually" by building a Gda::SqlStatement structure, or from an SQL statement using a Gda::SqlParser object. A GdaConnection can use a GdaStatement to:
typedef Glib::ListHandle< const Glib::RefPtr<Holder> > Gnome::Gda::Statement::HolderSList |
virtual Gnome::Gda::Statement::~Statement | ( | ) | [virtual] |
Gnome::Gda::Statement::Statement | ( | ) | [protected] |
bool Gnome::Gda::Statement::check_structure | ( | ) | const |
Checks that stmt's structure is correct.
true
if stmt's structure is correct. bool Gnome::Gda::Statement::check_validity | ( | const Glib::RefPtr< Connection >& | cnc ) | const |
If cnc is not 0
then checks that every object (table, field, function) used in stmt actually exists in cnc's database.
If cnc is 0
, then cleans anything related to cnc in stmt.
See gda_sql_statement_check_validity() for more information.
cnc | A Gda::Connection object, or 0 . |
true
if every object actually exists in cnc's database. Glib::RefPtr<Statement> Gnome::Gda::Statement::copy | ( | ) | const |
Copy constructor.
static Glib::RefPtr<Statement> Gnome::Gda::Statement::create | ( | ) | [static] |
bool Gnome::Gda::Statement::get_parameters | ( | Glib::RefPtr< Set >& | out_params ) |
Get a new Gda::Set object which groups all the execution parameters which stmt needs.
This new object is returned though out_params.
Note that if stmt does not need any parameter, then out_params is set to 0
.
out_params | A place to store a new Gda::Set object, or 0 . |
true
if no error occurred. SqlStatementType Gnome::Gda::Statement::get_statement_type | ( | ) | const |
Get the type of statement held by stmt.
It returns GDA_SQL_STATEMENT_NONE if stmt does not hold any statement
const GdaStatement* Gnome::Gda::Statement::gobj | ( | ) | const [inline] |
Provides access to the underlying C GObject.
Reimplemented from Glib::ObjectBase.
GdaStatement* Gnome::Gda::Statement::gobj | ( | ) | [inline] |
Provides access to the underlying C GObject.
Reimplemented from Glib::ObjectBase.
GdaStatement* Gnome::Gda::Statement::gobj_copy | ( | ) |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
bool Gnome::Gda::Statement::is_useless | ( | ) | const |
Tells if stmt is composed only of spaces (that is it has no real SQL code), and is completely useless as such.
true
if executing stmt does nothing. bool Gnome::Gda::Statement::normalize | ( | const Glib::RefPtr< Connection >& | cnc ) |
"Normalizes" some parts of stmt, see gda_sql_statement_normalize() for more information.
cnc | A Gda::Connection object. |
true
if no error occurred. virtual void Gnome::Gda::Statement::on_checked | ( | const Glib::RefPtr< Connection >& | cnc, |
bool | valid | ||
) | [protected, virtual] |
virtual void Gnome::Gda::Statement::on_reset | ( | ) | [protected, virtual] |
Glib::PropertyProxy_ReadOnly<gpointer> Gnome::Gda::Statement::property_structure | ( | ) | const |
You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::PropertyProxy<gpointer> Gnome::Gda::Statement::property_structure | ( | ) |
You rarely need to use properties because there are get_ and set_ methods for almost all of them.
Glib::ustring Gnome::Gda::Statement::serialize | ( | ) | const |
Creates a string representing the contents of stmt.
Glib::SignalProxy2< void,const Glib::RefPtr<Connection>&,bool > Gnome::Gda::Statement::signal_checked | ( | ) |
void on_my_checked(const Glib::RefPtr<Connection>& cnc, bool valid)
Glib::SignalProxy0< void > Gnome::Gda::Statement::signal_reset | ( | ) |
void on_my_reset()
Glib::ustring Gnome::Gda::Statement::to_sql | ( | const Glib::RefPtr< const Set >& | params ) | const |
Glib::ustring Gnome::Gda::Statement::to_sql | ( | const Glib::RefPtr< Connection >& | cnc, |
const Glib::RefPtr< const Set >& | params, | ||
StatementSqlFlag | flags, | ||
const HolderSList & | params_used | ||
) | const |
Renders stmt as an SQL statement, with some control on how it is rendered.
If cnc is not 0
, then the rendered SQL will better be suited to be used by cnc (in particular it may include some SQL tweaks and/or proprietary extensions specific to the database engine used by cnc): in this case the result is similar to calling Gda::Connection::statement_to_sql().
cnc | A Gda::Connection object, or 0 . |
params | Parameters contained in a single Gda::Set object. |
flags | A set of flags to control the rendering. |
params_used | A place to store the list of actual Gda::Holder objects in used to do the rendering, or 0 . |
Glib::ustring Gnome::Gda::Statement::to_sql | ( | ) | const |
Glib::RefPtr< Gnome::Gda::Statement > wrap | ( | GdaStatement * | object, |
bool | take_copy = false |
||
) | [related] |
A Glib::wrap() method for this object.
object | The C instance. |
take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref. |