Author: cito
Date: Sat Nov 21 06:55:01 2015
New Revision: 566

Log:
Use py3c compatibility layer for str/unicode issue

See https://py3c.readthedocs.org for more information about py3c.

Modified:
   trunk/module/pgmodule.c

Modified: trunk/module/pgmodule.c
==============================================================================
--- trunk/module/pgmodule.c     Fri Nov 20 16:44:55 2015        (r565)
+++ trunk/module/pgmodule.c     Sat Nov 21 06:55:01 2015        (r566)
@@ -53,9 +53,6 @@
 #define Py_InitModule4 Py_InitModule4_64
 #endif
 
-/* taken from fileobject.c */
-#define BUF(v) PyBytes_AS_STRING((PyBytesObject *)(v))
-
 /* default values */
 #define MODULE_NAME                    "pgsql"
 #define PG_ARRAYSIZE                   1
@@ -290,7 +287,7 @@
        PyObject *err = NULL;
        PyObject *str;
 
-       if (!(str = PyUnicode_FromString(msg)))
+       if (!(str = PyStr_FromString(msg)))
                err = NULL;
        else
        {
@@ -302,7 +299,7 @@
                if (result)
                {
                        char *sqlstate = PQresultErrorField(result, 
PG_DIAG_SQLSTATE);
-                       str = sqlstate ? PyUnicode_FromStringAndSize(sqlstate, 
5) : NULL;
+                       str = sqlstate ? PyStr_FromStringAndSize(sqlstate, 5) : 
NULL;
                }
                else
                        str = NULL;
@@ -477,7 +474,7 @@
                                /* create the footer */
                                sprintf(p, "(%d row%s)", m, m == 1 ? "" : "s");
                                /* return the result */
-                               result = PyUnicode_FromString(buffer);
+                               result = PyStr_FromString(buffer);
                                free(buffer);
                                return result;
                        }
@@ -498,7 +495,7 @@
                }
        }
        else
-               return PyUnicode_FromString("(nothing selected)");
+               return PyStr_FromString("(nothing selected)");
 }
 
 /* --------------------------------------------------------------------- */
@@ -666,7 +663,8 @@
        /* allocate buffer and runs read */
        buffer = PyBytes_FromStringAndSize((char *) NULL, size);
 
-       if ((size = lo_read(self->pgcnx->cnx, self->lo_fd, BUF(buffer), size)) 
< 0)
+       if ((size = lo_read(self->pgcnx->cnx, self->lo_fd,
+           PyBytes_AS_STRING((PyBytesObject *)(buffer)), size)) < 0)
        {
                PyErr_SetString(PyExc_IOError, "error while reading.");
                Py_XDECREF(buffer);
@@ -917,7 +915,7 @@
 static PyObject *
 largeGetAttr(largeObject *self, PyObject *nameobj)
 {
-       const char *name = PyBytes_AsString(nameobj);
+       const char *name = PyStr_AsString(nameobj);
 
        /* list postgreSQL large object fields */
 
@@ -946,7 +944,7 @@
 
        /* error (status) message */
        if (!strcmp(name, "error"))
-               return PyUnicode_FromString(PQerrorMessage(self->pgcnx->cnx));
+               return PyStr_FromString(PQerrorMessage(self->pgcnx->cnx));
 
        /* attributes list */
        if (!strcmp(name, "__members__"))
@@ -955,9 +953,9 @@
 
                if (list)
                {
-                       PyList_SET_ITEM(list, 0, PyUnicode_FromString("oid"));
-                       PyList_SET_ITEM(list, 1, PyUnicode_FromString("pgcnx"));
-                       PyList_SET_ITEM(list, 2, PyUnicode_FromString("error"));
+                       PyList_SET_ITEM(list, 0, PyStr_FromString("oid"));
+                       PyList_SET_ITEM(list, 1, PyStr_FromString("pgcnx"));
+                       PyList_SET_ITEM(list, 2, PyStr_FromString("error"));
                }
 
                return list;
@@ -965,11 +963,11 @@
 
        /* module name */
        if (!strcmp(name, "__module__"))
-               return PyUnicode_FromString(MODULE_NAME);
+               return PyStr_FromString(MODULE_NAME);
 
        /* class name */
        if (!strcmp(name, "__class__"))
-               return PyUnicode_FromString("pglarge");
+               return PyStr_FromString("pglarge");
 
        /* seeks name in methods (fallback) */
        return PyObject_GenericGetAttr((PyObject *) self, nameobj);
@@ -1259,7 +1257,7 @@
                                                PQclear(result);
                                                if (ret[0])             /* 
return number of rows affected */
                                                {
-                                                       return 
PyUnicode_FromString(ret);
+                                                       return 
PyStr_FromString(ret);
                                                }
                                                Py_INCREF(Py_None);
                                                return Py_None;
@@ -1355,7 +1353,7 @@
        switch (PQgetline(self->cnx, line, MAX_BUFFER_SIZE))
        {
                case 0:
-                       str = PyUnicode_FromString(line);
+                       str = PyStr_FromString(line);
                        break;
                case 1:
                        PyErr_SetString(PyExc_MemoryError, "buffer overflow");
@@ -1405,7 +1403,7 @@
 static PyObject *
 queryRepr(queryObject *self)
 {
-       return PyUnicode_FromString("<pg query result>");
+       return PyStr_FromString("<pg query result>");
 }
 
 static PyObject *
@@ -1555,7 +1553,7 @@
                                else
                                        bufsiz = 0;
                        }
-                       else if (PyUnicode_Check(item))
+                       else if (PyStr_Check(item))
                        {
                                const char* t = PyBytes_AS_STRING(item);
                                while (*t && bufsiz)
@@ -1688,7 +1686,7 @@
        name = PQparameterStatus(self->cnx, name);
 
        if (name)
-               return PyUnicode_FromString(name);
+               return PyStr_FromString(name);
 
        /* unknown parameter, return None */
        Py_INCREF(Py_None);
@@ -2097,7 +2095,7 @@
                PyObject   *notify_result,
                                   *temp;
 
-               if (!(temp = PyUnicode_FromString(notify->relname)))
+               if (!(temp = PyStr_FromString(notify->relname)))
                        return NULL;
 
                if (!(notify_result = PyTuple_New(3)))
@@ -2114,7 +2112,7 @@
                PyTuple_SET_ITEM(notify_result, 1, temp);
 
                /* extra exists even in old versions that did not support it */
-               if (!(temp = PyUnicode_FromString(notify->extra)))
+               if (!(temp = PyStr_FromString(notify->extra)))
                {
                        Py_DECREF(notify_result);
                        return NULL;
@@ -2178,7 +2176,7 @@
 static PyObject *
 connGetAttr(connObject *self, PyObject *nameobj)
 {
-       const char *name = PyBytes_AsString(nameobj);
+       const char *name = PyStr_AsString(nameobj);
 
        /*
         * Although we could check individually, there are only a few
@@ -2201,7 +2199,7 @@
                char *r = PQhost(self->cnx);
                if (!r)
                        r = "localhost";
-               return PyUnicode_FromString(r);
+               return PyStr_FromString(r);
        }
 
        /* postmaster port */
@@ -2210,19 +2208,19 @@
 
        /* selected database */
        if (!strcmp(name, "db"))
-               return PyUnicode_FromString(PQdb(self->cnx));
+               return PyStr_FromString(PQdb(self->cnx));
 
        /* selected options */
        if (!strcmp(name, "options"))
-               return PyUnicode_FromString(PQoptions(self->cnx));
+               return PyStr_FromString(PQoptions(self->cnx));
 
        /* selected postgres tty */
        if (!strcmp(name, "tty"))
-               return PyUnicode_FromString(PQtty(self->cnx));
+               return PyStr_FromString(PQtty(self->cnx));
 
        /* error (status) message */
        if (!strcmp(name, "error"))
-               return PyUnicode_FromString(PQerrorMessage(self->cnx));
+               return PyStr_FromString(PQerrorMessage(self->cnx));
 
        /* connection status : 1 - OK, 0 - BAD */
        if (!strcmp(name, "status"))
@@ -2230,7 +2228,7 @@
 
        /* provided user name */
        if (!strcmp(name, "user"))
-               return PyUnicode_FromString(PQuser(self->cnx));
+               return PyStr_FromString(PQuser(self->cnx));
 
        /* protocol version */
        if (!strcmp(name, "protocol_version"))
@@ -2251,16 +2249,16 @@
 
                if (list)
                {
-                       PyList_SET_ITEM(list, 0, PyUnicode_FromString("host"));
-                       PyList_SET_ITEM(list, 1, PyUnicode_FromString("port"));
-                       PyList_SET_ITEM(list, 2, PyUnicode_FromString("db"));
-                       PyList_SET_ITEM(list, 3, 
PyUnicode_FromString("options"));
-                       PyList_SET_ITEM(list, 4, PyUnicode_FromString("tty"));
-                       PyList_SET_ITEM(list, 5, PyUnicode_FromString("error"));
-                       PyList_SET_ITEM(list, 6, 
PyUnicode_FromString("status"));
-                       PyList_SET_ITEM(list, 7, PyUnicode_FromString("user"));
-                       PyList_SET_ITEM(list, 8, 
PyUnicode_FromString("protocol_version"));
-                       PyList_SET_ITEM(list, 9, 
PyUnicode_FromString("server_version"));
+                       PyList_SET_ITEM(list, 0, PyStr_FromString("host"));
+                       PyList_SET_ITEM(list, 1, PyStr_FromString("port"));
+                       PyList_SET_ITEM(list, 2, PyStr_FromString("db"));
+                       PyList_SET_ITEM(list, 3, PyStr_FromString("options"));
+                       PyList_SET_ITEM(list, 4, PyStr_FromString("tty"));
+                       PyList_SET_ITEM(list, 5, PyStr_FromString("error"));
+                       PyList_SET_ITEM(list, 6, PyStr_FromString("status"));
+                       PyList_SET_ITEM(list, 7, PyStr_FromString("user"));
+                       PyList_SET_ITEM(list, 8, 
PyStr_FromString("protocol_version"));
+                       PyList_SET_ITEM(list, 9, 
PyStr_FromString("server_version"));
                }
 
                return list;
@@ -2561,7 +2559,7 @@
                                str = Py_None;
                        }
                        else
-                               str = 
PyUnicode_FromString(PQgetvalue(self->result, self->current_row, j));
+                               str = PyStr_FromString(PQgetvalue(self->result, 
self->current_row, j));
 
                        PyTuple_SET_ITEM(rowtuple, j, str);
                }
@@ -2666,7 +2664,7 @@
                return -1;
 
        /* gets field number */
-       if (PyUnicode_Check(param))
+       if (PyStr_Check(param))
                num = PQfnumber(self->result, PyBytes_AsString(param));
        else if (PyInt_Check(param))
                num = PyInt_AsLong(param);
@@ -2700,7 +2698,7 @@
        /* affects field information */
        PyTuple_SET_ITEM(result, 0, PyInt_FromLong(num));
        PyTuple_SET_ITEM(result, 1,
-               PyUnicode_FromString(PQfname(self->result, num)));
+               PyStr_FromString(PQfname(self->result, num)));
        PyTuple_SET_ITEM(result, 2,
                PyInt_FromLong(PQftype(self->result, num)));
 
@@ -2801,7 +2799,7 @@
        if ((num = sourceFieldindex(self, param, short_usage)) == -1)
                return NULL;
 
-       return PyUnicode_FromString(PQgetvalue(self->result,
+       return PyStr_FromString(PQgetvalue(self->result,
                                                                        
self->current_row, num));
 }
 
@@ -2836,7 +2834,7 @@
 static PyObject *
 sourceGetAttr(sourceObject *self, PyObject *nameobj)
 {
-       const char *name = PyBytes_AsString(nameobj);
+       const char *name = PyStr_AsString(nameobj);
 
        /* pg connection object */
        if (!strcmp(name, "pgcnx"))
@@ -2871,22 +2869,22 @@
        {
                PyObject *list = PyList_New(5);
 
-               PyList_SET_ITEM(list, 0, PyUnicode_FromString("pgcnx"));
-               PyList_SET_ITEM(list, 1, PyUnicode_FromString("arraysize"));
-               PyList_SET_ITEM(list, 2, PyUnicode_FromString("resulttype"));
-               PyList_SET_ITEM(list, 3, PyUnicode_FromString("ntuples"));
-               PyList_SET_ITEM(list, 4, PyUnicode_FromString("nfields"));
+               PyList_SET_ITEM(list, 0, PyStr_FromString("pgcnx"));
+               PyList_SET_ITEM(list, 1, PyStr_FromString("arraysize"));
+               PyList_SET_ITEM(list, 2, PyStr_FromString("resulttype"));
+               PyList_SET_ITEM(list, 3, PyStr_FromString("ntuples"));
+               PyList_SET_ITEM(list, 4, PyStr_FromString("nfields"));
 
                return list;
        }
 
        /* module name */
        if (!strcmp(name, "__module__"))
-               return PyUnicode_FromString(MODULE_NAME);
+               return PyStr_FromString(MODULE_NAME);
 
        /* class name */
        if (!strcmp(name, "__class__"))
-               return PyUnicode_FromString("pgsource");
+               return PyStr_FromString("pgsource");
 
        /* seeks name in methods (fallback) */
        return PyObject_GenericGetAttr((PyObject *) self, nameobj);
@@ -2917,7 +2915,7 @@
 static PyObject *
 sourceRepr(sourceObject *self)
 {
-       return PyUnicode_FromString("<pg source object>");
+       return PyStr_FromString("<pg source object>");
 }
 
 /* returns source object as string in human readable format */
@@ -2931,10 +2929,10 @@
                        return format_result(self->result);
                case RESULT_DDL:
                case RESULT_DML:
-                       return PyUnicode_FromString(PQcmdStatus(self->result));
+                       return PyStr_FromString(PQcmdStatus(self->result));
                case RESULT_EMPTY:
                default:
-                       return PyUnicode_FromString("(empty PostgreSQL source 
object)");
+                       return PyStr_FromString("(empty PostgreSQL source 
object)");
        }
 }
 
@@ -3121,7 +3119,7 @@
        for (i = 0; i < n; i++)
        {
                name = PQfname(self->result, i);
-               str = PyUnicode_FromString(name);
+               str = PyStr_FromString(name);
                PyTuple_SET_ITEM(fieldstuple, i, str);
        }
 
@@ -3155,7 +3153,7 @@
 
        /* gets fields name and builds object */
        name = PQfname(self->result, i);
-       return PyUnicode_FromString(name);
+       return PyStr_FromString(name);
 }
 
 /* gets fields number from name in last result */
@@ -3295,7 +3293,7 @@
                                                break;
 
                                        default:
-                                               val = PyUnicode_FromString(s);
+                                               val = PyStr_FromString(s);
                                                break;
                                }
 
@@ -3430,7 +3428,7 @@
                                                break;
 
                                        default:
-                                               val = PyUnicode_FromString(s);
+                                               val = PyStr_FromString(s);
                                                break;
                                }
 
@@ -3499,7 +3497,7 @@
 noticeGetAttr(noticeObject *self, PyObject *nameobj)
 {
        PGresult const *res = self->res;
-       const char *name = PyBytes_AsString(nameobj);
+       const char *name = PyStr_AsString(nameobj);
        int fieldcode;
 
        if (!res)
@@ -3525,7 +3523,7 @@
 
        /* full message */
        if (!strcmp(name, "message"))
-               return PyUnicode_FromString(PQresultErrorMessage(res));
+               return PyStr_FromString(PQresultErrorMessage(res));
 
        /* other possible fields */
        fieldcode = 0;
@@ -3541,7 +3539,7 @@
        {
                char *s = PQresultErrorField(res, fieldcode);
                if (s)
-                       return PyUnicode_FromString(s);
+                       return PyStr_FromString(s);
                else
                {
                        Py_INCREF(Py_None); return Py_None;
@@ -3554,12 +3552,12 @@
                PyObject *list = PyList_New(6);
                if (list)
                {
-                       PyList_SET_ITEM(list, 0, PyUnicode_FromString("pgcnx"));
-                       PyList_SET_ITEM(list, 1, 
PyUnicode_FromString("severity"));
-                       PyList_SET_ITEM(list, 2, 
PyUnicode_FromString("message"));
-                       PyList_SET_ITEM(list, 3, 
PyUnicode_FromString("primary"));
-                       PyList_SET_ITEM(list, 4, 
PyUnicode_FromString("detail"));
-                       PyList_SET_ITEM(list, 5, PyUnicode_FromString("hint"));
+                       PyList_SET_ITEM(list, 0, PyStr_FromString("pgcnx"));
+                       PyList_SET_ITEM(list, 1, PyStr_FromString("severity"));
+                       PyList_SET_ITEM(list, 2, PyStr_FromString("message"));
+                       PyList_SET_ITEM(list, 3, PyStr_FromString("primary"));
+                       PyList_SET_ITEM(list, 4, PyStr_FromString("detail"));
+                       PyList_SET_ITEM(list, 5, PyStr_FromString("hint"));
                }
                return list;
        }
@@ -3761,7 +3759,7 @@
 
        if (PyArg_ParseTuple(args, ""))
        {
-               ret = PyUnicode_FromString(decimal_point);
+               ret = PyStr_FromString(decimal_point);
        }
        else
        {
@@ -3867,7 +3865,7 @@
        old = pg_default_host;
 
        if (temp)
-               pg_default_host = PyUnicode_FromString(temp);
+               pg_default_host = PyStr_FromString(temp);
        else
        {
                Py_INCREF(Py_None);
@@ -3918,7 +3916,7 @@
        old = pg_default_base;
 
        if (temp)
-               pg_default_base = PyUnicode_FromString(temp);
+               pg_default_base = PyStr_FromString(temp);
        else
        {
                Py_INCREF(Py_None);
@@ -3969,7 +3967,7 @@
        old = pg_default_opt;
 
        if (temp)
-               pg_default_opt = PyUnicode_FromString(temp);
+               pg_default_opt = PyStr_FromString(temp);
        else
        {
                Py_INCREF(Py_None);
@@ -4021,7 +4019,7 @@
        old = pg_default_tty;
 
        if (temp)
-               pg_default_tty = PyUnicode_FromString(temp);
+               pg_default_tty = PyStr_FromString(temp);
        else
        {
                Py_INCREF(Py_None);
@@ -4074,7 +4072,7 @@
        old = pg_default_user;
 
        if (temp)
-               pg_default_user = PyUnicode_FromString(temp);
+               pg_default_user = PyStr_FromString(temp);
        else
        {
                Py_INCREF(Py_None);
@@ -4102,7 +4100,7 @@
        }
 
        if (temp)
-               pg_default_passwd = PyUnicode_FromString(temp);
+               pg_default_passwd = PyStr_FromString(temp);
        else
        {
                Py_INCREF(Py_None);
@@ -4278,7 +4276,7 @@
        PyDict_SetItemString(dict, "NotSupportedError", NotSupportedError);
 
        /* Make the version available */
-       v = PyUnicode_FromString(PyPgVersion);
+       v = PyStr_FromString(PyPgVersion);
        PyDict_SetItemString(dict, "version", v);
        PyDict_SetItemString(dict, "__version__", v);
        Py_DECREF(v);
_______________________________________________
PyGreSQL mailing list
[email protected]
https://mail.vex.net/mailman/listinfo.cgi/pygresql

Reply via email to