libgdamm: Gnome::Gda::Statement Class Reference
Single SQL statement. More...
Public Types | |
typedef std::vector< const Glib::RefPtr< Holder > > | HolderVector |
Public Types inherited from Glib::Object | |
typedef void(* | DestroyNotify) (gpointer data) |
Public Types inherited from sigc::trackable | |
typedef internal::func_destroy_notify | func_destroy_notify |
Public Member Functions | |
Statement (Statement&& src) noexcept | |
Statement& | operator= (Statement&& src) noexcept |
virtual | ~Statement () noexcept |
GdaStatement* | gobj () |
Provides access to the underlying C GObject. More... | |
const GdaStatement* | gobj () const |
Provides access to the underlying C GObject. More... | |
GdaStatement* | gobj_copy () |
Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More... | |
Glib::RefPtr< Statement > | copy () const |
Copy constructor. More... | |
Glib::ustring | serialize () const |
Creates a string representing the contents of stmt. More... | |
bool | get_parameters (Glib::RefPtr< Set >& out_params) |
Get a new Gda::Set object which groups all the execution parameters which stmt needs. More... | |
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 HolderVector& params_used) const |
Renders stmt as an SQL statement, with some control on how it is rendered. More... | |
SqlStatementType | get_statement_type () const |
Get the type of statement held by stmt. More... | |
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. More... | |
bool | check_structure () const |
Checks that stmt's structure is correct. More... | |
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. More... | |
bool | normalize (const Glib::RefPtr< Connection >& cnc) |
"Normalizes" some parts of stmt, see gda_sql_statement_normalize() for more information. More... | |
Glib::PropertyProxy< gpointer > | property_structure () |
Glib::PropertyProxy_ReadOnly< gpointer > | property_structure () const |
Glib::SignalProxy2< void, const Glib::RefPtr< Connection >&, bool > | signal_checked () |
Glib::SignalProxy0< void > | signal_reset () |
Public Member Functions inherited from Glib::Object | |
Object (const Object &)=delete | |
Object & | operator= (const Object &)=delete |
Object (Object &&src) noexcept | |
Object & | operator= (Object &&src) noexcept |
void * | get_data (const QueryQuark &key) |
void | set_data (const Quark &key, void *data) |
void | set_data (const Quark &key, void *data, DestroyNotify notify) |
void | remove_data (const QueryQuark &quark) |
void * | steal_data (const QueryQuark &quark) |
Glib::RefPtr< Glib::Object > | wrap (GObject *object, bool take_copy=false) |
Public Member Functions inherited from Glib::ObjectBase | |
ObjectBase (const ObjectBase &)=delete | |
ObjectBase & | operator= (const ObjectBase &)=delete |
void | set_property_value (const Glib::ustring &property_name, const Glib::ValueBase &value) |
void | get_property_value (const Glib::ustring &property_name, Glib::ValueBase &value) const |
void | set_property (const Glib::ustring &property_name, const PropertyType &value) |
void | get_property (const Glib::ustring &property_name, PropertyType &value) const |
void | connect_property_changed (const Glib::ustring &property_name, const sigc::slot< void > &slot) |
sigc::connection | connect_property_changed_with_return (const Glib::ustring &property_name, const sigc::slot< void > &slot) |
void | freeze_notify () |
void | thaw_notify () |
virtual void | reference () const |
virtual void | unreference () const |
GObject * | gobj () |
const GObject * | gobj () const |
GObject * | gobj_copy () const |
Public Member Functions inherited from sigc::trackable | |
trackable () | |
trackable (const trackable &src) | |
trackable (trackable &&src) noexcept | |
~trackable () | |
void | add_destroy_notify_callback (void *data, func_destroy_notify func) const |
void | notify_callbacks () |
trackable & | operator= (const trackable &src) |
trackable & | operator= (trackable &&src) noexcept |
void | remove_destroy_notify_callback (void *data) const |
Static Public Member Functions | |
static GType | get_type () |
Get the GType for this class, for use with the underlying GObject type system. More... | |
static Glib::RefPtr< Statement > | create () |
Protected Member Functions | |
Statement () | |
virtual void | on_checked (const Glib::RefPtr< Connection >& cnc, bool valid) |
This is a default handler for the signal signal_checked(). More... | |
virtual void | on_reset () |
This is a default handler for the signal signal_reset(). More... | |
Protected Member Functions inherited from Glib::Object | |
Object () | |
Object (const Glib::ConstructParams &construct_params) | |
Object (GObject *castitem) | |
virtual | ~Object () noexcept |
Protected Member Functions inherited from Glib::ObjectBase | |
ObjectBase () | |
ObjectBase (const char *custom_type_name) | |
ObjectBase (const std::type_info &custom_type_info) | |
ObjectBase (ObjectBase &&src) noexcept | |
ObjectBase & | operator= (ObjectBase &&src) noexcept |
virtual | ~ObjectBase () noexcept=0 |
void | initialize (GObject *castitem) |
void | initialize_move (GObject *castitem, Glib::ObjectBase *previous_wrapper) |
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. More... | |
Detailed Description
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:
- prepare it for a future execution, the preparation step involves converting the GdaStatement object into a structure used by the database's own API, see Gda::Connection::statement_prepare()
- execute it using Gda::Connection::statement_execute_select() if it is known that the statement is a selection statement, Gda::Connection::statement_execute_non_select() if it is not a selection statement, or Gda::Connection::statement_execute() when the type of expected result is unknown. Note that it is possible to use the same Gda::Statement object at the same time with several Gda::Connection objects.
Member Typedef Documentation
typedef std::vector< const Glib::RefPtr<Holder> > Gnome::Gda::Statement::HolderVector |
Constructor & Destructor Documentation
|
noexcept |
|
virtualnoexcept |
|
protected |
Member Function Documentation
bool Gnome::Gda::Statement::check_structure | ( | ) | const |
Checks that stmt's structure is correct.
- Returns
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.
- Parameters
-
cnc A Gda::Connection object, or 0
.
- Returns
true
if every object actually exists in cnc's database.
Glib::RefPtr<Statement> Gnome::Gda::Statement::copy | ( | ) | const |
Copy constructor.
- Returns
- A the new copy of orig.
|
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
.
- Parameters
-
out_params A place to store a new Gda::Set object, or 0
.
- Returns
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
- Returns
- The statement type.
|
static |
Get the GType for this class, for use with the underlying GObject type system.
|
inline |
Provides access to the underlying C GObject.
|
inline |
Provides access to the underlying C GObject.
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.
- Returns
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.
- Parameters
-
cnc A Gda::Connection object.
- Returns
true
if no error occurred.
|
protectedvirtual |
This is a default handler for the signal signal_checked().
|
protectedvirtual |
This is a default handler for the signal signal_reset().
Glib::PropertyProxy< gpointer > Gnome::Gda::Statement::property_structure | ( | ) |
- Returns
- A PropertyProxy that allows you to get or set the value of the property, or receive notification when the value of the property changes.
Glib::PropertyProxy_ReadOnly< gpointer > Gnome::Gda::Statement::property_structure | ( | ) | const |
- Returns
- A PropertyProxy_ReadOnly that allows you to get the value of the property, or receive notification when the value of the property changes.
Glib::ustring Gnome::Gda::Statement::serialize | ( | ) | const |
Creates a string representing the contents of stmt.
- Returns
- A string containing the serialized version of stmt.
Glib::SignalProxy2< void,const Glib::RefPtr<Connection>&,bool > Gnome::Gda::Statement::signal_checked | ( | ) |
- Slot Prototype:
void on_my_checked(const Glib::RefPtr<Connection>& cnc, bool valid)
Glib::SignalProxy0< void > Gnome::Gda::Statement::signal_reset | ( | ) |
- Slot Prototype:
void on_my_reset()
Glib::ustring Gnome::Gda::Statement::to_sql | ( | ) | const |
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 HolderVector& | 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().
- Parameters
-
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 params used to do the rendering, or 0
.
- Returns
- A new string if no error occurred.
Friends And Related Function Documentation
|
related |
A Glib::wrap() method for this object.
- Parameters
-
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.
- Returns
- A C++ instance that wraps this C instance.
The documentation for this class was generated from the following file:
- libgdamm/statement.h