Drizzled Public API Documentation

drizzle_plugin::json_server Namespace Reference

Classes

class  DBAccess
 
class  HttpHandler
 
class  HTTPServer
 
class  JsonServer
 
class  SQLExecutor
 
class  SQLGenerator
 
class  SQLToJsonGenerator
 

Functions

bool updateSchema (Session *, set_var *var)
 
bool updateTable (Session *, set_var *var)
 
void updateMaxThreads (Session *, sql_var_t)
 
static in_port_t getPort (void)
 
void process_request (struct evhttp_request *req, void *)
 
void process_root_request (struct evhttp_request *req, void *)
 
void process_api01_version_req (struct evhttp_request *req, void *)
 
void process_version_req (struct evhttp_request *req, void *)
 
void process_sql_req (struct evhttp_request *req, void *)
 
void process_json_req (struct evhttp_request *req, void *)
 
static void shutdown_event (int fd, short, void *arg)
 
static void run (struct event_base *base)
 
static int json_server_init (drizzled::module::Context &context)
 
static void init_options (drizzled::module::option_context &context)
 

Variables

static const string DEFAULT_SCHEMA = "test"
 
static const string DEFAULT_TABLE = ""
 
static const string JSON_SERVER_VERSION = "0.3"
 
static const uint32_t DEFAULT_MAX_THREADS = 32
 
static const bool DEFAULT_ALLOW_DROP_TABLE =false
 
bool allow_drop_table
 
string default_schema
 
string default_table
 
uint32_t max_threads
 
uint32_t clone_max_threads =0
 
static port_constraint port
 
JsonServerserver =NULL
 

Detailed Description

Json Server Plugin namespace

Json Server Plugin Namespace

Function Documentation

void drizzle_plugin::json_server::process_json_req ( struct evhttp_request *  req,
void *   
)

Transform a HTTP request for sql transaction and return results based on input json document.

Todo:
allow DBA to set whether to use strict mode for parsing json (should get rid of white space), especially for POST of course.
Parameters
reqshould contain a "table" parameter in request uri. "query", "_id" and "schema" are optional.

Definition at line 324 of file json_server.cc.

References drizzle_plugin::json_server::DBAccess::execute(), drizzle_plugin::json_server::HttpHandler::getInputJson(), drizzle_plugin::json_server::DBAccess::getOutputJson(), drizzle_plugin::json_server::HttpHandler::getOutputJson(), drizzle_plugin::json_server::HttpHandler::getSchema(), drizzle_plugin::json_server::HttpHandler::getTable(), drizzle_plugin::json_server::HttpHandler::handleRequest(), process_json_req(), drizzle_plugin::json_server::HttpHandler::sendResponse(), drizzle_plugin::json_server::HttpHandler::setOutputJson(), and drizzle_plugin::json_server::HttpHandler::validate().

Referenced by process_json_req().