--- parser3/src/sql/pa_sql_driver.h 2005/08/09 08:14:53 1.43 +++ parser3/src/sql/pa_sql_driver.h 2017/11/15 22:48:58 1.49 @@ -1,7 +1,7 @@ /** @file Parser: sql driver interface. - Copyright (c) 2001-2005 ArtLebedev Group (http://www.artlebedev.com) + Copyright (c) 2001-2017 Art. Lebedev Studio (http://www.artlebedev.com) Author: Alexandr Petrosian (http://paf.design.ru) @@ -26,20 +26,26 @@ #ifndef PA_SQL_DRIVER_H #define PA_SQL_DRIVER_H -static const char * const IDENT_SQL_DRIVER_H="$Date: 2005/08/09 08:14:53 $"; +#define IDENT_PA_SQL_DRIVER_H "$Id: pa_sql_driver.h,v 1.49 2017/11/15 22:48:58 moko Exp $" #include #include #include +#include /* 1..8 not logged 9 introducing placeholders + 10 limit fixed (default: SQL_NO_LIMIT [ULONG_MAX]), path to document_root added */ -#define SQL_DRIVER_API_VERSION 9 +#define SQL_DRIVER_API_VERSION 10 +//#define SQL_DRIVER_API_VERSION 9 #define SQL_DRIVER_CREATE create /* used in driver implementation */ #define SQL_DRIVER_CREATE_NAME "create" /* could not figure out how to # it :( */ +#define SQL_NO_LIMIT ULONG_MAX +//#define SQL_NO_LIMIT 0 + /// fields are freed elsewhere class SQL_Error { bool fdefined; @@ -81,6 +87,8 @@ public: virtual void *realloc(void *ptr, size_t size) =0; /// $request:charset virtual const char* request_charset() =0; + /// $request:document-root + virtual const char* request_document_root() =0; /// transcoder. /// WARNING: can store pointers to charset names to speedup name-to-instance resolving /// so do NOT pass pointers to local vars and change those vars after that @@ -126,16 +134,6 @@ public: bool were_updated; }; - /** allocated using our allocator, - @todo never freed - */ - static void *operator new(size_t size) { - void *result=::malloc(size); - if(!result) - abort(); - - return result; - } /// get api version virtual int api_version() =0; /// initialize driver by loading sql dynamic link library