Thread: FastPath

FastPath

From
Yi LIN
Date:
HI,

I want to call PQfn((PGconn*)conn, ...) in fe-exec.c from Java program
using FastPath. However, in Java codes the database connection is
pgsql.Connection which is total different from (PGconn*)connection in C.
How can I get and pass this parameter, conn? It is required that Java
connection is the same as C connection in the backend.

For your information, originally I want to call
(bytestream*)get_write_set(void)
in src/backend/replication/writeset.c.

Does anyone know how to solve this? Thanks in advance.

Regards,

Yi Lin


Re: FastPath

From
Paul Thomas
Date:
On 23/06/2003 23:04 Yi LIN wrote:
> HI,
>
> I want to call PQfn((PGconn*)conn, ...) in fe-exec.c from Java program
> using FastPath. However, in Java codes the database connection is
> pgsql.Connection which is total different from (PGconn*)connection in C.
> How can I get and pass this parameter, conn? It is required that Java
> connection is the same as C connection in the backend.
>
> For your information, originally I want to call
> (bytestream*)get_write_set(void)
> in src/backend/replication/writeset.c.
>
> Does anyone know how to solve this? Thanks in advance.

PGConnection.getFastpathAPI() might be what you're looking for.

HTH
  --
Paul Thomas
+------------------------------+---------------------------------------------+
| Thomas Micro Systems Limited | Software Solutions for the Smaller
Business |
| Computer Consultants         |
http://www.thomas-micro-systems-ltd.co.uk   |
+------------------------------+---------------------------------------------+

Re: FastPath

From
Yi LIN
Date:
HI, Thomas:

Thanks first!

On Tue, 24 Jun 2003, Paul Thomas wrote:

>
> On 23/06/2003 23:04 Yi LIN wrote:
> > HI,
> >
> > I want to call PQfn((PGconn*)conn, ...) in fe-exec.c from Java program
> > using FastPath. However, in Java codes the database connection is
> > pgsql.Connection which is total different from (PGconn*)connection in C.
> > How can I get and pass this parameter, conn? It is required that Java
> > connection is the same as C connection in the backend.
> >
> > For your information, originally I want to call
> > (bytestream*)get_write_set(void)
> > in src/backend/replication/writeset.c.
> >
> > Does anyone know how to solve this? Thanks in advance.
>
> PGConnection.getFastpathAPI() might be what you're looking for.

Suppose I want to call:
PQfn(conn, 1653, (int*)writeset, &bytes, 0, ar, 0); // in c, result
returned in writest.


should my Java codes look like:
((Fastpath)fp).fastpath(1653, false, null); // in Java ??

where, 1653 is fnid of
bytestream* get_write_set(void);

Regards,

Yi

>
> HTH
>   --
> Paul Thomas
> +------------------------------+---------------------------------------------+
> | Thomas Micro Systems Limited | Software Solutions for the Smaller
> Business |
> | Computer Consultants         |
> http://www.thomas-micro-systems-ltd.co.uk   |
> +------------------------------+---------------------------------------------+
>
> ---------------------------(end of broadcast)---------------------------
> TIP 8: explain analyze is your friend
>
>