ports/84522: databases/gtksql syntax error fixed
Dominik Brettnacher
domi at saargate.de
Wed Aug 3 16:10:25 UTC 2005
>Number: 84522
>Category: ports
>Synopsis: databases/gtksql syntax error fixed
>Confidential: no
>Severity: non-critical
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: maintainer-update
>Submitter-Id: current-users
>Arrival-Date: Wed Aug 03 16:10:22 GMT 2005
>Closed-Date:
>Last-Modified:
>Originator: Dominik Brettnacher
>Release: FreeBSD 5.4-RC1 i386
>Organization:
>Environment:
System: FreeBSD saargate.de 5.4-RC1 FreeBSD 5.4-RC1 #0: Sun Apr 3 15:40:32 UTC 2005 root at harlow.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
>Description:
databases/gtksql failed to build with WITH_PGSQL=yes (i.e. with
support for PostgreSQL) because of multi-line string literals
in the C source -- newer gcc versions don't support multi-line literals.
>How-To-Repeat:
>Fix:
diff -urN /usr/ports/databases/gtksql/files/patch-postgres.c gtksql/files/patch-postgres.c
--- /usr/ports/databases/gtksql/files/patch-postgres.c Sat Apr 21 13:43:04 2001
+++ gtksql/files/patch-postgres.c Wed Aug 3 17:23:47 2005
@@ -1,5 +1,5 @@
---- postgres.c.orig Sat Apr 21 19:16:37 2001
-+++ postgres.c Sat Apr 21 19:16:47 2001
+--- postgres.c.orig Sat Jun 5 15:05:36 1999
++++ postgres.c Wed Aug 3 17:22:55 2005
@@ -18,7 +18,7 @@
#include <libpq-fe.h>
@@ -9,3 +9,47 @@
#include "common.h"
#include "status.h"
+@@ -129,14 +129,7 @@
+ PGresult *table_info;
+ char query[512];
+
+- sprintf(query, "SELECT a.attnum, a.attname, t.typname, a.attlen,
+- a.atttypmod, a.attnotnull, a.atthasdef
+- FROM pg_class c, pg_attribute a, pg_type t
+- WHERE c.relname = '%s' AND
+- a.attnum > 0 AND
+- a.attrelid = c.oid AND
+- a.atttypid = t.oid
+- ORDER BY attnum", tbf->name);
++ sprintf(query, "SELECT a.attnum, a.attname, t.typname, a.attlen, a.atttypmod, a.attnotnull, a.atthasdef FROM pg_class c, pg_attribute a, pg_type t WHERE c.relname = '%s' AND a.attnum > 0 AND a.attrelid = c.oid AND a.atttypid = t.oid ORDER BY attnum", tbf->name);
+
+ table_info = PQexec(conn, query);
+ if ((table_info == NULL) ||
+@@ -183,11 +176,7 @@
+ if (rnotnull[0] == 't')
+ strcat(type_str, " not null");
+ if (rhasdef[0] == 't') {
+- sprintf(buf, "SELECT d.adsrc
+- FROM pg_attrdef d, pg_class c
+- WHERE c.relname = '%s' AND
+- c.oid = d.adrelid AND
+- d.adnum = %s",
++ sprintf(buf, "SELECT d.adsrc FROM pg_attrdef d, pg_class c WHERE c.relname = '%s' AND c.oid = d.adrelid AND d.adnum = %s",
+ tbf->name, PQgetvalue(table_info, i, 0));
+ table_info2 = PQexec(conn, buf);
+ if ((table_info2 == NULL) ||
+@@ -240,13 +229,7 @@
+ PGresult *tables;
+ char query[512];
+
+- sprintf(query, "SELECT usename, relname, relkind, relhasrules
+- FROM pg_class, pg_user
+- WHERE relkind = 'r' AND
+- relname !~ '^pg_' AND
+- relname !~ '^xin[vx][0-9]+' AND
+- usesysid = relowner
+- ORDER BY relname");
++ sprintf(query, "SELECT usename, relname, relkind, relhasrules FROM pg_class, pg_user WHERE relkind = 'r' AND relname !~ '^pg_' AND relname !~ '^xin[vx][0-9]+' AND usesysid = relowner ORDER BY relname");
+
+ tables = PQexec(conn->conn, query);
+ if ((tables == NULL) || (PQresultStatus(tables) != PGRES_TUPLES_OK)) {
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list