Diff for /sql/pgsql/parser3pgsql.C between versions 1.1 and 1.5

version 1.1, 2001/09/21 15:44:37 version 1.5, 2002/02/08 07:28:25
Line 1 Line 1
 /** @file  /** @file
         Parser PgSQL driver.          Parser PgSQL driver.
   
         Copyright(c) 2001 ArtLebedev Group(http://www.artlebedev.com)          Copyright(c) 2001, 2002 ArtLebedev Group(http://www.artlebedev.com)
   
         Author: Alexander Petrosyan <paf@design.ru>(http://design.ru/paf)          Author: Alexander Petrosyan <paf@design.ru>(http://design.ru/paf)
   
Line 63  public: Line 63  public:
         /// get api version          /// get api version
         int api_version() { return SQL_DRIVER_API_VERSION; }          int api_version() { return SQL_DRIVER_API_VERSION; }
         /// initialize driver by loading sql dynamic link library          /// initialize driver by loading sql dynamic link library
         const char *initialize(const char *dlopen_file_spec) {          const char *initialize(char *dlopen_file_spec) {
                 return dlopen_file_spec?                  return dlopen_file_spec?
                         dlink(dlopen_file_spec):"client library column is empty";                          dlink(dlopen_file_spec):"client library column is empty";
         }          }
Line 123  public: Line 123  public:
         unsigned int quote(          unsigned int quote(
                 SQL_Driver_services&, void *connection,                  SQL_Driver_services&, void *connection,
                 char *to, const char *from, unsigned int length) {                  char *to, const char *from, unsigned int length) {
                 /*                  if(to) { // store mode
                         it's already UNTAINT_TIMES_BIGGER                          unsigned int result=length;
                 */                          while(length--) {
                 unsigned int result=length;                                  switch(*from) {
                 while(length--) {                                  case '\'': // "'" -> "''"
                         switch(*from) {                                          *to++='\''; result++;
                         case '\'': // "'" -> "''"                                          break;
                                 *to++='\'';                                  case '\\': // "\" -> "\\"
                                 break;                                          *to++='\''; result++;
                         case '\\': // "\" -> "\\"                                          break;
                                 *to++='\'';                                  }
                                 break;                                  *to++=*from++;
                         }                          }
                         *to++=*from++;                          return result;
                 }                  } else // estimate mode
                 return result;                          return length*2;
         }          }
         void query(          void query(
                 SQL_Driver_services& services, void *connection,                   SQL_Driver_services& services, void *connection, 
Line 425  private: // conn client library funcs li Line 425  private: // conn client library funcs li
   
 extern "C" SQL_Driver *SQL_DRIVER_CREATE() {  extern "C" SQL_Driver *SQL_DRIVER_CREATE() {
         return new PgSQL_Driver();          return new PgSQL_Driver();
 }  
   
   }

Removed from v.1.1  
changed lines
  Added in v.1.5


E-mail: