[Fwd: Patch suggestion for gnucash 1.8.8 (ports/finance/gnucash) postgres backend.]

Perry Smith pedz at easesoftware.net
Mon Jul 26 23:21:39 EDT 2004


There also needs to be an if test for the case that encoding is the 
empty string -- either that or track down how the locale gets clobbered 
on a Mac system.  By the time this code executes on my mac, locale has 
been set to "C/En_US/C/C/C".

On Jul 26, 2004, at 10:03 PM, Richard Schilling wrote:

> I'm also sending this patch file to this list so it can be considered 
> for adoption.
>
> Richard Schilling
>
>
> -------- Original Message --------
> Subject: Patch suggestion for gnucash 1.8.8 (ports/finance/gnucash) 
> postgres backend.
> Date: Mon, 26 Jul 2004 20:00:19 -0700
> From: Richard Schilling <rschi at rsmba.biz>
> Organization: Richard Schilling, MBA
> To: gnome at FreeBSD.org
>
>
> I have created a patch that you can put into the "files" subdirectory 
> of
> the gnucash port.  It's attached.
>
> Gnucash, when creating a database for the Postgres backend uses the
> value returned from nl_langinfo(CODESET) to build up SQL queries.  In
> particular the value returned from nl_langinfo(CODESET) is used to set
> the encoding in the Postgres database in the following SQL command:
>
>       CREATE DATABASE gnucash_database_name WITH ENCODING 'US-ASCII';
>
> nl_langinfo(CODESET) returns the string "US-ASCII" on my BSD system.
> When US-ASCII is used to build up SQL queries for the Postgres backend,
> Postgres generates an error because "US-ASCII" is not allowed to be 
> used
> as an option in Postgres SQL.
>
> Would you be willing to Patch the gnucash code to substitute US-ASCII
> with SQL_ASCII as it is used?  The effected file is:
>
> work/gnucash-1.8.8/src/backend/postgres/PostgresBackend.c, line 2100.
>
>
> Thanks.
>
> Richard Schilling
> (206) 774-5951
>
>
>
>
> *** src/backend/postgres/PostgresBackend.orig	Mon Jul 26 17:17:45 2004
> --- src/backend/postgres/PostgresBackend.c	Mon Jul 26 17:33:16 2004
> ***************
> *** 2104,2109 ****
> --- 2104,2114 ----
>            if (!strcmp (encoding, "ANSI_X3.4-1968"))
>              encoding = "SQL_ASCII";
>
> +          if (!strcmp(encoding, "US-ASCII"))
> +            encoding = "SQL_ASCII";
> +
> +          printf("\nDatabase encoding is: %s.\n", encoding);
> +
>            /* create the database */
>            p = be->buff; *p =0;
>            p = stpcpy (p, "CREATE DATABASE ");
>
> _______________________________________________
> gnucash-devel mailing list
> gnucash-devel at gnucash.org
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel



More information about the gnucash-devel mailing list