Patch applied.  Thanks.

---------------------------------------------------------------------------


Laurent FAILLIE wrote:
> Hello Bruce,
> 
> there is a contextual diff of my patch w/ the current
> (I hope) snapshot of postgresql.
> 
> I test it on my own database, but I found another bug
> w/ SEQUENCE this time. I have created a new ticket,
> #918 for this as it's totaly a separate problem.
> 
> Bye
> 
> Laurent
> 
> ------
> 
> *** pg_dump.c.org     Tue Mar 25 10:33:01 2003
> --- pg_dump.c Tue Mar 25 11:42:17 2003
> ***************
> *** 605,610 ****
> --- 605,618 ----
>   
>       /* Now sort the output nicely */
>       SortTocByOID(g_fout);
> + 
> +             /*
> +              * Procedural languages have to be declared just
> after
> +              * database and schema creation, before they are
> used.
> +              */
> +     MoveToStart(g_fout, "ACL LANGUAGE");
> +     MoveToStart(g_fout, "PROCEDURAL LANGUAGE");
> +     MoveToStart(g_fout, "FUNC PROCEDURAL LANGUAGE");
>       MoveToStart(g_fout, "SCHEMA");
>       MoveToStart(g_fout, "DATABASE");
>       MoveToEnd(g_fout, "TABLE DATA");
> ***************
> *** 3626,3632 ****
>               {
>                       char       *tmp = strdup(fmtId(lanname));
>   
> !                     dumpACL(fout, "LANGUAGE", tmp, lanname,
>                                       finfo[fidx].pronamespace->nspname,
>                                       NULL, lanacl, lanoid);
>                       free(tmp);
> --- 3634,3640 ----
>               {
>                       char       *tmp = strdup(fmtId(lanname));
>   
> !                     dumpACL(fout, "ACL LANGUAGE", tmp, lanname,
>                                       finfo[fidx].pronamespace->nspname,
>                                       NULL, lanacl, lanoid);
>                       free(tmp);
> ***************
> *** 3732,3737 ****
> --- 3740,3746 ----
>       char       *prosecdef;
>       char       *lanname;
>       char       *rettypename;
> +     char       *funcproclang;       /* Boolean : is this
> function a PLang handler ? */
>   
>       if (finfo->dumped)
>               goto done;
> ***************
> *** 3747,3753 ****
>               appendPQExpBuffer(query,
>                                                 "SELECT proretset, prosrc, probin, "
>                                                 "provolatile, proisstrict, 
> prosecdef, "
> !                                               "(SELECT lanname FROM 
> pg_catalog.pg_language
> WHERE oid = prolang) as lanname "
>                                                 "FROM pg_catalog.pg_proc "
>                                                 "WHERE oid = '%s'::pg_catalog.oid",
>                                                 finfo->oid);
> --- 3756,3763 ----
>               appendPQExpBuffer(query,
>                                                 "SELECT proretset, prosrc, probin, "
>                                                 "provolatile, proisstrict, 
> prosecdef, "
> !                                               "(SELECT lanname FROM 
> pg_catalog.pg_language
> WHERE oid = prolang) as lanname, "
> !                                               "exists (SELECT 'x' FROM
> pg_catalog.pg_language WHERE lanplcallfoid =
> pg_catalog.pg_proc.oid) as funcproclang "
>                                                 "FROM pg_catalog.pg_proc "
>                                                 "WHERE oid = '%s'::pg_catalog.oid",
>                                                 finfo->oid);
> ***************
> *** 3759,3765 ****
>                "case when proiscachable then 'i' else 'v' end as
> provolatile, "
>                                                 "proisstrict, "
>                                                 "'f'::boolean as prosecdef, "
> !                                               "(SELECT lanname FROM pg_language 
> WHERE oid
> = prolang) as lanname "
>                                                 "FROM pg_proc "
>                                                 "WHERE oid = '%s'::oid",
>                                                 finfo->oid);
> --- 3769,3776 ----
>                "case when proiscachable then 'i' else 'v' end as
> provolatile, "
>                                                 "proisstrict, "
>                                                 "'f'::boolean as prosecdef, "
> !                                               "(SELECT lanname FROM pg_language 
> WHERE oid
> = prolang) as lanname, "
> !                                               "exists (SELECT 'x' FROM pg_language 
> WHERE
> lanplcallfoid = pg_proc.oid) as funcproclang "
>                                                 "FROM pg_proc "
>                                                 "WHERE oid = '%s'::oid",
>                                                 finfo->oid);
> ***************
> *** 3771,3777 ****
>                "case when proiscachable then 'i' else 'v' end as
> provolatile, "
>                                                 "'f'::boolean as proisstrict, "
>                                                 "'f'::boolean as prosecdef, "
> !                                               "(SELECT lanname FROM pg_language 
> WHERE oid
> = prolang) as lanname "
>                                                 "FROM pg_proc "
>                                                 "WHERE oid = '%s'::oid",
>                                                 finfo->oid);
> --- 3782,3789 ----
>                "case when proiscachable then 'i' else 'v' end as
> provolatile, "
>                                                 "'f'::boolean as proisstrict, "
>                                                 "'f'::boolean as prosecdef, "
> !                                               "(SELECT lanname FROM pg_language 
> WHERE oid
> = prolang) as lanname, "
> !                                               "exists (SELECT 'x' FROM pg_language 
> WHERE
> lanplcallfoid = pg_proc.oid) as funcproclang "
>                                                 "FROM pg_proc "
>                                                 "WHERE oid = '%s'::oid",
>                                                 finfo->oid);
> ***************
> *** 3802,3807 ****
> --- 3814,3820 ----
>       proisstrict = PQgetvalue(res, 0, PQfnumber(res,
> "proisstrict"));
>       prosecdef = PQgetvalue(res, 0, PQfnumber(res,
> "prosecdef"));
>       lanname = PQgetvalue(res, 0, PQfnumber(res,
> "lanname"));
> +     funcproclang = PQgetvalue(res, 0, PQfnumber(res,
> "funcproclang"));
>   
>       /*
>        * See backend/commands/define.c for details of how
> the 'AS' clause is
> ***************
> *** 3872,3878 ****
>   
>       ArchiveEntry(fout, finfo->oid, funcsig_tag,
>                                finfo->pronamespace->nspname,
> !                              finfo->usename, "FUNCTION", NULL,
>                                q->data, delqry->data,
>                                NULL, NULL, NULL);
>   
> --- 3885,3891 ----
>   
>       ArchiveEntry(fout, finfo->oid, funcsig_tag,
>                                finfo->pronamespace->nspname,
> !                              finfo->usename,
> strcmp(funcproclang,"t")?"FUNCTION":"FUNC PROCEDURAL
> LANGUAGE", NULL,
>                                q->data, delqry->data,
>                                NULL, NULL, NULL);
>   
> ***************
> *** 5024,5034 ****
>       PQExpBuffer sql, grantee, grantor, privs, privswgo;
>       bool            found_owner_privs = false;
>   
>       if (strlen(acls) == 0)
>               return;                                 /* object has default 
> permissions */
>   
>   #define MKENTRY(grantor, command) \
> !     ArchiveEntry(fout, objoid, tag, nspname, grantor ?
> grantor : "", "ACL", NULL, command, "", NULL, NULL,
> NULL)
>   
>       sql = createPQExpBuffer();
>       grantee = createPQExpBuffer();
> --- 5037,5057 ----
>       PQExpBuffer sql, grantee, grantor, privs, privswgo;
>       bool            found_owner_privs = false;
>   
> +             /* acl_lang is a flag only true if we are dumping
> language's ACL,
> +              * so we can set 'type' to a value that is
> suitable to build
> +              * SQL requests as for other types.
> +              */
> +     bool       acl_lang = false;
> +     if(!strcmp(type,"ACL LANGUAGE")){
> +             type = "LANGUAGE";
> +             acl_lang = true;
> +     }
> + 
>       if (strlen(acls) == 0)
>               return;                                 /* object has default 
> permissions */
>   
>   #define MKENTRY(grantor, command) \
> !     ArchiveEntry(fout, objoid, tag, nspname, grantor ?
> grantor : "", acl_lang ? "ACL LANGUAGE" : "ACL" ,
> NULL, command, "", NULL, NULL, NULL)
>   
>       sql = createPQExpBuffer();
>       grantee = createPQExpBuffer();
> 
> 
> =====
> The misspelling master is on the Web.
>    _________  100 % Dictionnary Free !
>   /        /(
>  /  Dico  / / Pleins d'autres fautes sur
> /________/ /  http://go.to/destroyedlolo
> (#######( /   http://destroyedlolo.homeunix.org:8080
> Quoi, des fautes d'orthographe! Pas possible ;-D.
> 
> ___________________________________________________________
> Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en fran?ais !
> Yahoo! Mail : http://fr.mail.yahoo.com
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 3: if posting/reading through Usenet, please send an appropriate
> subscribe-nomail command to [EMAIL PROTECTED] so that your
> message can get through to the mailing list cleanly
> 

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  [EMAIL PROTECTED]               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073


---------------------------(end of broadcast)---------------------------
TIP 1: subscribe and unsubscribe commands go to [EMAIL PROTECTED]

Reply via email to