Diff for /parser3/src/main/pa_sql_driver_manager.C between versions 1.65 and 1.67

version 1.65, 2002/09/04 14:59:54 version 1.67, 2002/12/09 11:14:55
Line 59  public: Line 59  public:
                 one can simply 'throw' from dynamic library.                  one can simply 'throw' from dynamic library.
                 [sad story: one can not longjump/throw due to some bug in gcc as of 3.2.1 version]                  [sad story: one can not longjump/throw due to some bug in gcc as of 3.2.1 version]
         */          */
         virtual void _throw(const char *comment) {           virtual void _throw(const SQL_Exception& aexception) { 
                   // converting SQL_exception to parser Exception
                 // hiding passwords and addresses from accidental show [imagine user forgot @exception]                  // hiding passwords and addresses from accidental show [imagine user forgot @exception]
 #ifdef PA_WITH_SJLJ_EXCEPTIONS  #ifdef PA_WITH_SJLJ_EXCEPTIONS
                 throw                  throw
 #else  #else
                 e=                  fexception=
 #endif  #endif
                         Exception("sql.connect",                           Exception(aexception.ftype, 
                                 &url_without_login(pool(), furl),                                  aexception.fproblem_source?static_cast<const String*>(aexception.fproblem_source)
                                 comment);                                           :&url_without_login(pool(), furl),
                                   aexception.fcomment); 
   
 #ifndef PA_WITH_SJLJ_EXCEPTIONS  #ifndef PA_WITH_SJLJ_EXCEPTIONS
                 longjmp(mark, 1);                  longjmp(mark, 1);
Line 76  public: Line 78  public:
         }          }
         virtual void propagate_exception() {          virtual void propagate_exception() {
 #ifndef PA_WITH_SJLJ_EXCEPTIONS  #ifndef PA_WITH_SJLJ_EXCEPTIONS
                 throw e;                  throw fexception;
 #endif  #endif
         }          }
   
 private:  private:
         const String& furl;          const String& furl;
         Exception e;          Exception fexception;
 };  };
   
 // helpers  // helpers

Removed from v.1.65  
changed lines
  Added in v.1.67


E-mail: