fastcgi++
|
Class for storing query data to be passed to and retrieved from statements. More...
#include <query.hpp>
Public Member Functions | |
unsigned int | insertId () const |
Returns the insert ID returned from the query or 0 if nothing. | |
unsigned int | rows () const |
Returns the rows affected/available from the query or 0 if nothing. | |
bool | busy () const |
Returns true if copies of this query still exist (query is still working in another thread). | |
Error | error () const |
Return the error object associated with the query. | |
void | setCallback (boost::function< void()> callback=boost::function< void()>()) |
Set the callback function to be called at the end of the query. | |
bool | isCallback () |
Return true if a callback is associated with this query. | |
boost::function< void()> | getCallback () |
Get the callback function. | |
void | keepAlive (bool x) |
Set true if you want the query to not be cancelled when the original object is destroyed. | |
void | cancel () |
Call this function to cancel the query. | |
void | enableRows () |
Call this function to enable the retrieval of a row count (affected/available rows) | |
void | enableInsertId () |
Call this function to enable the retrieval of an auto-increment insert ID. | |
void | reset () |
Resets the object as though it was destroyed and reconstructed anew. |
Protected Member Functions | |
void | setResults (void *results) |
Set's the shared data to point to the passed pointer. | |
void | setParameters (void *parameters) |
Set's the shared data to point to the passed pointer. | |
void * | relinquishResults () |
Relinquishes control over the result data. | |
void * | relinquishParameters () |
Relinquishes control over the parameter data. | |
void * | results () |
Return a void pointer to the result set. | |
const void * | results () const |
Return a const void pointer to the result set. | |
void * | parameters () |
Return a void pointer to the parameter set. | |
const void * | parameters () const |
Return a const void pointer to the parameter set. |
Private Member Functions | |
Query () | |
Query (const Query &x) |
Class for storing query data to be passed to and retrieved from statements.
This will contain all data associated with an individual query. With it one can retrieve results, set arguments, and set various query parameters that can be checked/set with the public access functions.
This class needs to be given two template parameters regarding its results and parameters. The types may be derived from either Data::Set or Data::SetContainer. The class will be specialized accordingly. Should there be no parameters (or results) simply pass a type void for that parameter.
Parameters | Parameters type |
Results | Results type |
ParametersParent | Parent type of the parameters. This gets automatically set and used for specialization. |
ResultsParent | Parent type of the results. This gets automatically set and used for specialization. |
|
inlineprivate |
|
inlineprivate |
|
inlineinherited |
Returns true if copies of this query still exist (query is still working in another thread).
Definition at line 263 of file query.hpp.
References ASql::QueryPar::m_sharedData.
|
inlineinherited |
Call this function to cancel the query.
This will cancel the query at the earliest opportunity. Calling a cancel will rollback any changes in the associated transaction.
Definition at line 301 of file query.hpp.
References ASql::QueryPar::m_sharedData.
Referenced by ASql::QueryPar::~QueryPar().
|
inlineinherited |
Call this function to enable the retrieval of an auto-increment insert ID.
Definition at line 311 of file query.hpp.
References ASql::QueryPar::m_sharedData.
|
inlineinherited |
Call this function to enable the retrieval of a row count (affected/available rows)
Definition at line 304 of file query.hpp.
References ASql::QueryPar::m_sharedData.
|
inlineinherited |
Return the error object associated with the query.
Note this will be a default Error object if there was no error.
Definition at line 269 of file query.hpp.
References ASql::QueryPar::m_sharedData.
|
inlineinherited |
Get the callback function.
Definition at line 285 of file query.hpp.
References ASql::QueryPar::m_sharedData.
Referenced by ASql::ConnectionPar< T >::intHandler().
|
inlineinherited |
Returns the insert ID returned from the query or 0 if nothing.
Definition at line 253 of file query.hpp.
References ASql::QueryPar::m_sharedData.
|
inlineinherited |
Return true if a callback is associated with this query.
Definition at line 282 of file query.hpp.
References ASql::QueryPar::m_sharedData.
Referenced by ASql::ConnectionPar< T >::intHandler().
|
inlineinherited |
Set true if you want the query to not be cancelled when the original object is destroyed.
Note that the default is to cancel and this must be called from the original query object.
Definition at line 294 of file query.hpp.
References ASql::QueryPar::FLAG_KEEPALIVE, and ASql::QueryPar::m_flags.
Referenced by ASql::QueryPar::reset().
|
inlineprotectedinherited |
Return a void pointer to the parameter set.
Usually you would keep the original typed pointer around but if you lost it for some reason you can use this and cast it.
Reimplemented in ASql::Query< Parameters, void, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Parameters > >::type, void >, ASql::Query< Parameters, void, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, void >, ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Results > >::type >, and ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::Set, Results > >::type >.
Definition at line 228 of file query.hpp.
References ASql::QueryPar::m_sharedData.
Referenced by ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::Set, Results > >::type >::createParameters(), ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Results > >::type >::createParameters(), ASql::Query< Parameters, void, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, void >::createParameters(), ASql::Query< Parameters, void, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Parameters > >::type, void >::createParameters(), ASql::ConnectionPar< T >::intHandler(), ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::Set, Results > >::type >::parameters(), ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Results > >::type >::parameters(), ASql::Query< Parameters, void, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, void >::parameters(), ASql::Query< Parameters, void, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Parameters > >::type, void >::parameters(), and ASql::QueryPar::setParameters().
|
inlineprotectedinherited |
Return a const void pointer to the parameter set.
Usually you would keep the original typed pointer around but if you lost it for some reason you can use this and cast it.
Reimplemented in ASql::Query< Parameters, void, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Parameters > >::type, void >, ASql::Query< Parameters, void, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, void >, ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Results > >::type >, and ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::Set, Results > >::type >.
Definition at line 235 of file query.hpp.
References ASql::QueryPar::m_sharedData.
|
inlineprotectedinherited |
Relinquishes control over the parameter data.
Calling this will disassociate the query object (and it's copies) from the parameter data but won't delete it. Use this if you are done with your query object but want to keep your parameter data around. The end result in the query object (and it's copies) is to have no parameter data associated with it.
Reimplemented in ASql::Query< Parameters, void, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Parameters > >::type, void >, ASql::Query< Parameters, void, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, void >, ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Results > >::type >, and ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::Set, Results > >::type >.
Definition at line 207 of file query.hpp.
References ASql::QueryPar::m_sharedData.
Referenced by ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::Set, Results > >::type >::relinquishParameters(), ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Results > >::type >::relinquishParameters(), ASql::Query< Parameters, void, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, void >::relinquishParameters(), and ASql::Query< Parameters, void, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Parameters > >::type, void >::relinquishParameters().
|
inlineprotectedinherited |
Relinquishes control over the result data.
Calling this will disassociate the query object (and it's copies) from the result data but won't delete it. Use this if you are done with your query object but want to keep your result data around. The end result in the query object (and it's copies) is to have no result data associated with it.
Reimplemented in ASql::Query< void, Results, void, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Results > >::type >, ASql::Query< void, Results, void, typename boost::enable_if< boost::is_base_of< Data::Set, Results > >::type >, ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Results > >::type >, and ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::Set, Results > >::type >.
Definition at line 195 of file query.hpp.
References ASql::QueryPar::m_sharedData.
Referenced by ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::Set, Results > >::type >::relinquishResults(), ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Results > >::type >::relinquishResults(), ASql::Query< void, Results, void, typename boost::enable_if< boost::is_base_of< Data::Set, Results > >::type >::relinquishResults(), and ASql::Query< void, Results, void, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Results > >::type >::relinquishResults().
|
inlineinherited |
Resets the object as though it was destroyed and reconstructed anew.
Definition at line 318 of file query.hpp.
References ASql::QueryPar::FLAG_ORIGINAL, ASql::QueryPar::keepAlive(), ASql::QueryPar::m_flags, and ASql::QueryPar::m_sharedData.
|
inlineprotectedinherited |
Return a void pointer to the result set.
Usually you would keep the original typed pointer around but if you lost it for some reason you can use this and cast it.
Reimplemented in ASql::Query< void, Results, void, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Results > >::type >, ASql::Query< void, Results, void, typename boost::enable_if< boost::is_base_of< Data::Set, Results > >::type >, ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Results > >::type >, and ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::Set, Results > >::type >.
Definition at line 214 of file query.hpp.
References ASql::QueryPar::m_sharedData.
Referenced by ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::Set, Results > >::type >::createResults(), ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Results > >::type >::createResults(), ASql::Query< void, Results, void, typename boost::enable_if< boost::is_base_of< Data::Set, Results > >::type >::createResults(), ASql::Query< void, Results, void, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Results > >::type >::createResults(), ASql::ConnectionPar< T >::intHandler(), ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::Set, Results > >::type >::results(), ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Results > >::type >::results(), ASql::Query< void, Results, void, typename boost::enable_if< boost::is_base_of< Data::Set, Results > >::type >::results(), ASql::Query< void, Results, void, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Results > >::type >::results(), and ASql::QueryPar::setResults().
|
inlineprotectedinherited |
Return a const void pointer to the result set.
Usually you would keep the original typed pointer around but if you lost it for some reason you can use this and cast it.
Reimplemented in ASql::Query< void, Results, void, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Results > >::type >, ASql::Query< void, Results, void, typename boost::enable_if< boost::is_base_of< Data::Set, Results > >::type >, ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Results > >::type >, and ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::Set, Results > >::type >.
Definition at line 221 of file query.hpp.
References ASql::QueryPar::m_sharedData.
|
inlineinherited |
Returns the rows affected/available from the query or 0 if nothing.
Note that if using for the number of rows from a query this will represent the number of rows available before a LIMIT.
Definition at line 260 of file query.hpp.
References ASql::QueryPar::m_sharedData.
|
inlineinherited |
Set the callback function to be called at the end of the query.
Note that this will be called even if there is an error or the query can cancelled.
Definition at line 275 of file query.hpp.
References ASql::QueryPar::callback(), and ASql::QueryPar::m_sharedData.
Referenced by ASql::ConnectionPar< T >::intHandler().
|
inlineprotectedinherited |
Set's the shared data to point to the passed pointer.
Note that the QueryPar class assumes responsibility for destroying the parameter set unless explicitly released with relinquishParameters().
[in] | parameters | A pointer to the parameter data |
Definition at line 183 of file query.hpp.
References ASql::QueryPar::m_sharedData, and ASql::QueryPar::parameters().
Referenced by ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::Set, Results > >::type >::createParameters(), ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Results > >::type >::createParameters(), ASql::Query< Parameters, void, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, void >::createParameters(), ASql::Query< Parameters, void, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Parameters > >::type, void >::createParameters(), ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::Set, Results > >::type >::setParameters(), ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Results > >::type >::setParameters(), ASql::Query< Parameters, void, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, void >::setParameters(), and ASql::Query< Parameters, void, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Parameters > >::type, void >::setParameters().
|
inlineprotectedinherited |
Set's the shared data to point to the passed pointer.
Note that the QueryPar class assumes responsibility for destroying the result set unless explicitly released with relinquishResults().
[out] | results | A pointer to the result data |
Definition at line 174 of file query.hpp.
References ASql::QueryPar::m_sharedData, and ASql::QueryPar::results().
Referenced by ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::Set, Results > >::type >::createResults(), ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Results > >::type >::createResults(), ASql::Query< void, Results, void, typename boost::enable_if< boost::is_base_of< Data::Set, Results > >::type >::createResults(), ASql::Query< void, Results, void, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Results > >::type >::createResults(), ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::Set, Results > >::type >::setResults(), ASql::Query< Parameters, Results, typename boost::enable_if< boost::is_base_of< Data::Set, Parameters > >::type, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Results > >::type >::setResults(), ASql::Query< void, Results, void, typename boost::enable_if< boost::is_base_of< Data::Set, Results > >::type >::setResults(), and ASql::Query< void, Results, void, typename boost::enable_if< boost::is_base_of< Data::SetContainer, Results > >::type >::setResults().