From owner-freebsd-ports@FreeBSD.ORG Mon Dec 27 16:17:26 2004 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3A56116A4CE for ; Mon, 27 Dec 2004 16:17:26 +0000 (GMT) Received: from gwmail1.grupos.com.br (gwmail1.grupos.com.br [66.90.64.125]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9B94943D31 for ; Mon, 27 Dec 2004 16:17:25 +0000 (GMT) (envelope-from marcus@corp.grupos.com.br) Received: from corp.grupos.com.br (unknown [150.162.166.55]) by gwmail1.grupos.com.br (Postfix) with ESMTP id 9E4523C9F4 for ; Mon, 27 Dec 2004 14:17:24 -0200 (BRST) Received: from [192.168.1.3] (200-102-019-244.fnsce7006.dsl.brasiltelecom.net.br [200.102.19.244]) by corp.grupos.com.br (Postfix) with ESMTP id 9162820A22 for ; Mon, 27 Dec 2004 14:17:23 -0200 (BRST) Message-ID: <41D0358F.7050206@corp.grupos.com.br> Date: Mon, 27 Dec 2004 14:17:19 -0200 From: Marcus Grando User-Agent: Mozilla Thunderbird 1.0 (X11/20041206) X-Accept-Language: en-us, en MIME-Version: 1.0 To: ports@freebsd.org References: <41CFFBC0.5070309@comsys.com.ua> In-Reply-To: <41CFFBC0.5070309@comsys.com.ua> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: /usr/ports/databases/py-MySQL X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 27 Dec 2004 16:17:26 -0000 From databases/py-MySQL/pkg-message ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ WARNING: This port is a very old Python MySQL interface which doesn't actively maintained by its authors anymore. Some efforts were required to make it working with newest versions of MySQL, and it is highly likely that further MySQL development would make hard or even impossible to get this module working in the future. The better port named py-MySQLdb available, which should be used in all cases where compatability and future maintainability is desirable. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Regards Sergey Smitienko wrote: > Make py-MySQL compile and work with mysql-4-client libraries installed. > btw, I'm not sure, but I guess py-MySQL must be linked against > libmysqlclient_r.so.12 (not included in the patch). > > ldd /usr/local/lib/python2.2/site-packages/MySQLmodule.so: > libmysqlclient.so.12 => > /usr/local/lib/mysql/libmysqlclient.so.12 (0x4811d000) > > > --- work/MySQLmodule-1.4/MySQLmodule.c Mon Dec 27 15:05:56 2004 > +++ MySQLmodule.c Mon Dec 27 15:04:12 2004 > @@ -512,7 +512,8 @@ > DBH->dbh_use_result = 0; > DBH->handle = &DBH->connection; > DBH->sth = NULL; > - if (!(mysql_connect(DBH->handle, dbhost, dbuser, dbpass))) { > + mysql_init(DBH->handle); > + if (!(mysql_real_connect(DBH->handle, dbhost, dbuser, dbpass, NULL, > 0, NULL, 0l))) { > if (mysql_error(DBH->handle)[0] != 0) { > PyErr_SetString(MySQLError,mysql_error(DBH->handle)); > } else { > @@ -735,12 +736,20 @@ > PyObject *args; > { > char *dbname; > - > + char query[512]; > + int rc; > if (!PyArg_ParseTuple(args, "s:create", &dbname)) return NULL; > if (self->sth && clear_channel(self->sth)) return NULL; > Py_XDECREF(self->sth); > self->sth = NULL; > - if (mysql_create_db(self->handle, dbname)) { > + > + rc = snprintf(query, sizeof(query), "CREATE DATABASE %s", dbname); > + if (rc > sizeof(query)-1) { > + PyErr_SetString(MySQLError,"Database name too long"); > + return NULL; > + } > + > + if (mysql_query(self->handle, query)) { > PyErr_SetString(MySQLError, mysql_error(self->handle)); > return NULL; > } > @@ -867,12 +876,21 @@ > PyObject *args; > { > char *dbname; > + char query[512]; > + int rc; > > if (!PyArg_ParseTuple(args, "s:drop", &dbname)) return NULL; > if (self->sth && clear_channel(self->sth)) return NULL; > Py_XDECREF(self->sth); > self->sth = NULL; > - if (mysql_drop_db(self->handle, dbname)) { > + > + rc = snprintf(query, sizeof(query), "DROP DATABASE %s", dbname); > + if (rc > sizeof(query)-1) { > + PyErr_SetString(MySQLError,"Database name too long"); > + return NULL; > + } > + > + if (mysql_query(self->handle, dbname)) { > PyErr_SetString(MySQLError, mysql_error(self->handle)); > return NULL; > } > _______________________________________________ > freebsd-ports@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-ports > To unsubscribe, send any mail to "freebsd-ports-unsubscribe@freebsd.org" -- Marcus Grando Grupos Internet S/A marcus(at)corp.grupos.com.br