Drizzled Public API Documentation

drizzled::plugin::QueryRewriter Class Reference

#include <query_rewrite.h>

Inheritance diagram for drizzled::plugin::QueryRewriter:
drizzled::plugin::Plugin

List of all members.

Public Types

typedef std::pair< const
std::string, const std::string > 
map_key
typedef std::map< const
map_key, plugin::Plugin * > 
map
typedef std::vector< Plugin * > vector

Public Member Functions

 QueryRewriter (std::string name_arg)
virtual void rewrite (const std::string &schema, std::string &to_rewrite)=0
virtual void shutdownPlugin ()
virtual void prime ()
virtual void startup (drizzled::Session &)
void activate ()
void deactivate ()
bool isActive () const
const std::string & getName () const
void setModule (module::Module *module)
const std::string & getTypeName () const
virtual bool removeLast () const
const std::string & getModuleName () const

Static Public Member Functions

static bool addPlugin (QueryRewriter *in_rewriter)
static void removePlugin (QueryRewriter *in_rewriter)
static void rewriteQuery (const std::string &schema, std::string &to_rewrite)

Private Member Functions

 QueryRewriter (const QueryRewriter &)
QueryRewriteroperator= (const QueryRewriter &)

Detailed Description

Class which rewrites queries

Definition at line 44 of file query_rewrite.h.


Member Function Documentation

virtual void drizzled::plugin::QueryRewriter::rewrite ( const std::string &  schema,
std::string &  to_rewrite 
) [pure virtual]

Rewrite a query in the form of a std::string

Parameters:
[in]schemathe schema the current session is in
[out]to_rewritestring representing the query to rewrite
void drizzled::plugin::QueryRewriter::rewriteQuery ( const std::string &  schema,
std::string &  to_rewrite 
) [static]

Take a query to be rewritten and go through all the rewriters that are registered as plugins and let the enabled ones rewrite they query. TODO: does it make sense to have multiple rewriters?

Parameters:
[in]schemathe schema the current session is
[out]to_rewritethe query to rewrite

Definition at line 66 of file query_rewrite.cc.

Referenced by drizzled::Session::readAndStoreQuery().


The documentation for this class was generated from the following files: