pg.ddx.io  pgsql-interfaces@postgresql.org mailing list archive  
help / color / mirror / Atom feed
["Dean Arnold" <darnold@earthlink.net>] Re: Array Binding Status?
2+ messages / 1 participants
[nested] [flat]

* ["Dean Arnold" <darnold@earthlink.net>] Re: Array Binding Status?
@ 2002-11-30 17:53 Jason E. Stewart <jason@openinformatics.com>
  2002-12-11 07:21 ` Re: ["Dean Arnold" <darnold@earthlink.net>] Re: Array Binding Status? Jason E. Stewart <jason@openinformatics.com>
  0 siblings, 1 reply; 2+ messages in thread

From: Jason E. Stewart @ 2002-11-30 17:53 UTC (permalink / raw)
  To: pgsql-interfaces

I'm included a piece of a discussion that was had on the Perl DBI
mailing list a while back. A new feature was added that enable
applications to pass off arrays of placeholder values for each
placeholder in a prepared SQL statement instead of only a single value
for each placeholder.

This meant a significant speed-up for things like large INSERT
statements.

My question is does Postgres have the necessary abilities to handle
this feature?

Thanks ahead of time,
jas.
> > Thanks Andrew,
> > 
> > The question isn't whether the current DBD::Pg supports the behavior,
> > it doesn't, the issue is whether the Postgres C API has an ability to
> > do these array-based inserts.
> > 
> > I would definately have to modify DBD::Pg's C code to support this. 
> > 
> > I was just wondering from Dean and Jeff what kind of C API methods did
> > they need to use to get it working for ODBC.
> 
> It's all part of the ODBC spec/API. 
> 
> Jeff
> 

Or check the Oracle OCI array binding (the function names
escape me at the moment).

The deeper issue is whether the DBMS supports a bulk
operation, esp in a transactional context. E.g., Teradata
has bulk operation utilities ala SQLLoader, but
currently doesn't support bulk operations in a
regular SQL connection. 

While adding an iterative
query execution into the C API code will help some,
the big boosts occur when the DBMS can gobble
up a stream of 1,000+ placeholder tuples at once
(and esp. for INSERT, dump 'em directly to disk),
as e.g. Oracle and DB2 do.

Dean

^ permalink  raw  reply  [nested|flat] 2+ messages in thread

* Re: ["Dean Arnold" <darnold@earthlink.net>] Re: Array Binding Status?
  2002-11-30 17:53 ["Dean Arnold" <darnold@earthlink.net>] Re: Array Binding Status? Jason E. Stewart <jason@openinformatics.com>
@ 2002-12-11 07:21 ` Jason E. Stewart <jason@openinformatics.com>
  0 siblings, 0 replies; 2+ messages in thread

From: Jason E. Stewart @ 2002-12-11 07:21 UTC (permalink / raw)
  To: pgsql-interfaces

Hi,

I never heard back about this.

Does anyone know if the postgres C API and the server backend have the
ability to handle this?

Thanks,
jas.

"Jason E. Stewart" <jason@openinformatics.com> writes:

> Hi all,
> 
> I'm included a piece of a discussion that was had on the Perl DBI
> mailing list a while back. A new feature was added that enable
> applications to pass off arrays of placeholder values for each
> placeholder in a prepared SQL statement instead of only a single value
> for each placeholder.
> 
> This meant a significant speed-up for things like large INSERT
> statements.
> 
> My question is does Postgres have the necessary abilities to handle
> this feature?
> 
> Thanks ahead of time,
> jas.
> 
> From: "Dean Arnold" <darnold@earthlink.net>
> Subject: Re: Array Binding Status?
> To: "DBI-dev" <dbi-dev@perl.org>, Andrew_Brown@adc.com,
>   "Jason E. Stewart" <jason@openinformatics.com>,
>   "Jeff Urlwin" <jurlwin@bellatlantic.net>
> Date: Fri, 8 Mar 2002 07:08:35 -0800
> 
> > > Thanks Andrew,
> > > 
> > > The question isn't whether the current DBD::Pg supports the behavior,
> > > it doesn't, the issue is whether the Postgres C API has an ability to
> > > do these array-based inserts.
> > > 
> > > I would definately have to modify DBD::Pg's C code to support this. 
> > > 
> > > I was just wondering from Dean and Jeff what kind of C API methods did
> > > they need to use to get it working for ODBC.
> > 
> > It's all part of the ODBC spec/API. 
> > 
> > Jeff
> > 
> 
> Or check the Oracle OCI array binding (the function names
> escape me at the moment).
> 
> The deeper issue is whether the DBMS supports a bulk
> operation, esp in a transactional context. E.g., Teradata
> has bulk operation utilities ala SQLLoader, but
> currently doesn't support bulk operations in a
> regular SQL connection. 
> 
> While adding an iterative
> query execution into the C API code will help some,
> the big boosts occur when the DBMS can gobble
> up a stream of 1,000+ placeholder tuples at once
> (and esp. for INSERT, dump 'em directly to disk),
> as e.g. Oracle and DB2 do.
> 
> Dean
> 
> 
> 
> ----------
> 
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 2: you can get off all lists at once with the unregister command
>     (send "unregister YourEmailAddressHere" to majordomo@postgresql.org)



^ permalink  raw  reply  [nested|flat] 2+ messages in thread


end of thread, other threads:[~2002-12-11 07:21 UTC | newest]

Thread overview: 2+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2002-11-30 17:53 ["Dean Arnold" <darnold@earthlink.net>] Re: Array Binding Status? Jason E. Stewart <jason@openinformatics.com>
2002-12-11 07:21 ` Jason E. Stewart <jason@openinformatics.com>

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox