| From: | Andrew Dunstan <andrew(at)dunslane(dot)net> |
|---|---|
| To: | Marc Munro <marc(at)bloodnok(dot)com> |
| Cc: | pgsql-hackers(at)postgresql(dot)org |
| Subject: | Re: b64_encode and decode |
| Date: | 2008-06-12 23:07:01 |
| Message-ID: | 4851AC15.5020009@dunslane.net |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-hackers |
Marc Munro wrote:
> I require base64 or some similar encoding scheme from a C language
> extension and need it to be as fast as reasonably possible. In
> src/backend/utils/adt/encode.c there are functions b64_encode and
> b64_decode which would be ideal but these are defined static and so are
> not available to my code.
>
> I know I could call these functions indirectly by calling binary_ecncode
> through DirectFunctionCalln() but this is a whole lot more complexity
> and overhead than I'd like.
>
> I note that /contrib/pgcrypto/pgp-armor.c appears to have its own copies
> of these 2 functions and now I have elected to do the same.
>
> So, would there be any chance of redefining the base64 functions in
> encode.c as extern to eliminate this redundancy?
>
>
>
Just how much complexity do you think calling binary_encode involves?
You can probably do the whole thing in one or two lines of code.
cheers
andrew
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Tom Lane | 2008-06-12 23:10:54 | Re: b64_encode and decode |
| Previous Message | Tom Lane | 2008-06-12 22:59:19 | Re: Options for protocol level cursors |