On Mon, 15 Mar 2004 15:31:29 +0100 Andre Reitz <[EMAIL PROTECTED]> wrote:
> On Fri, 12 Mar 2004 17:27:12 +0100 > "Dittmar, Daniel" <[EMAIL PROTECTED]> wrote: > > > > > I've updated the python modules: > > Linux: ftp://ftp.sap.com/pub/sapdb/bin/linux/sapdb-python-linux-i386-7.4.03.33a.tgz > > Win32: ftp://ftp.sap.com/pub/sapdb/bin/win/sapdb-python-win32-7.4.03.33a.zip > > and the other platforms from http://www.sapdb.org/7.4/sap_db_downloads.htm > > > > Daniel Dittmar > > Found another bad Leak: > I am not really sure if the lines I added are really correct..... > but there is no leak with the testscripts below..... > > > vin77.c: (see: "/*<<<<was missing*/") > > > > static void > raiseSQLError ( > int code, > int pos, > tsp00_C5 sqlStateStr, > const char * msg) > { > ROUTINE_DBG_MSP00 ("raiseSQLError"); > PyObject * exception = PyInstance_New (SQLErrorType, NULL, NULL); > PyObject * errorCode = NULL; > PyObject * message = NULL; > PyObject * errorPos = NULL; > PyObject * sqlState = NULL; > > errorCode = PyInt_FromLong (code); > message = PyString_FromString (msg); > errorPos = PyInt_FromLong (pos); > sqlState = PyString_FromStringAndSize ((char *)sqlStateStr, sizeof (sqlState)); > if (exception != NULL) { > PyObject_SetAttrString (exception, LIT("errorCode"), errorCode) ; > PyObject_SetAttrString (exception, LIT("message"), message); > PyObject_SetAttrString (exception, LIT("errorPos"), errorPos); > PyObject_SetAttrString (exception, LIT("sqlState"), sqlState); > } > else { > exception = Py_BuildValue (LIT("NNNN"), errorCode, message, > errorPos, sqlState); > } > PyErr_SetObject (SQLErrorType, exception); > /*patch*/ > Py_DECREF(errorCode); /*<<<<was missing*/ > Py_DECREF(message); /*<<<<was missing*/ > Py_DECREF(errorPos); /*<<<<was missing*/ > Py_DECREF(sqlState); /*<<<<was missing*/ > Py_DECREF(exception); /*<<<<was missing*/ > } > > > An (I think so) also in : > > static void > raiseCommunicationError ( > int code, > const char * msg) > { > ROUTINE_DBG_MSP00 ("raiseCommunicationError"); > PyObject * exception = PyInstance_New (CommunicationErrorType, NULL, NULL); > PyObject * pycode = NULL; > PyObject * pymsg = NULL; > > pycode = PyInt_FromLong (code); > pymsg = PyString_FromString (msg); > if (exception != NULL) { > PyObject_SetAttrString (exception, LIT("errorCode"), pycode) ; > PyObject_SetAttrString (exception, LIT("message"), pymsg); > Py_XDECREF (pycode); > Py_XDECREF (pymsg); > } > else { > exception = Py_BuildValue (LIT("NN"), pycode, pymsg); > } > PyErr_SetObject (CommunicationErrorType, exception); > Py_DECREF(exception); /*<<<<was missing*/ > } > > > > > > ------------------------------------------------------------------------ > Testscripts to reproduce: > > #SQLError > connection=sapdb.connect("xxx","yyy","zzz") > while 1: > try: > rset=connection.sql("xxx") #makes an error > except Exception,err: > print "Error!" > print open("/proc/%i/status" % os.getpid()).read() > > > > #ConnectionError > > > while 1: > try: > connection=sapdb.connect("foo","bar","hans") #<<<invalid connecturl > except Exception,err: > print "Error!" > print open("/proc/%i/status" % os.getpid()).read() > > > > > > > > > > > -- > > Daniel Dittmar > > SAP Labs Berlin > > [EMAIL PROTECTED] > > > -- > __________________________________________________________________________ > > Als Technologieunternehmen konzipieren und entwickeln wir ma�geschneiderte Feedback- > und > Monitoring-Systeme - wie beispielsweise L�sungen f�r Beschwerde- und Ideenmanagement. > Mit dem Inquery� Survey Server bieten wir eine der leistungsf�higsten > Standardl�sungen f�r > Online-Umfragen mit dem Schwerpunkt auf der Messung von Kundenzufriedenheit an. > __________________________________________________________________________ > > > Inworks GmbH > Andre Reitz, Leiter Entwicklung > H�rvelsinger Weg 39, 89081 Ulm, Germany > Tel +49 (0) 731 / 93807-21 > Fax +49(0)731/93807-18 > Internet: http://www.inworks.de > > > > -- > MaxDB Discussion Mailing List > For list archives: http://lists.mysql.com/maxdb > To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED] > Hi Daniel, didn`t you check in the sources into sapdb743? Greetings and thank you very much for your help, Andre' -- __________________________________________________________________________ Als Technologieunternehmen konzipieren und entwickeln wir ma�geschneiderte Feedback- und Monitoring-Systeme - wie beispielsweise L�sungen f�r Beschwerde- und Ideenmanagement. Mit dem Inquery� Survey Server bieten wir eine der leistungsf�higsten Standardl�sungen f�r Online-Umfragen mit dem Schwerpunkt auf der Messung von Kundenzufriedenheit an. __________________________________________________________________________ Inworks GmbH Andre Reitz, Leiter Entwicklung H�rvelsinger Weg 39, 89081 Ulm, Germany Tel +49 (0) 731 / 93807-21 Fax +49(0)731/93807-18 Internet: http://www.inworks.de -- MaxDB Discussion Mailing List For list archives: http://lists.mysql.com/maxdb To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]
