Обсуждение: quick question about PreparedStatements

Поиск
Список
Период
Сортировка

quick question about PreparedStatements

От
Felipe Schnack
Дата:
  Can I use a single PreparedStatement to create various ResultSets and get data from all of them at the same time?

--

 /~\ The ASCII        Felipe Schnack (felipes@ritterdosreis.br)
 \ / Ribbon Campaign  Analista de Sistemas
  X  Against HTML     Cel.: 51-91287530
 / \ Email!           Linux Counter #281893

Centro Universitário Ritter dos Reis
http://www.ritterdosreis.br
ritter@ritterdosreis.br
Fone: 51-32303341

Re: quick question about PreparedStatements

От
Paul Thomas
Дата:
On 24/07/2003 19:55 Felipe Schnack wrote:
>   Can I use a single PreparedStatement to create various ResultSets and
> get data from all of them at the same time?

I don't think so. The Javadoc for Statement says:

"By default, only one ResultSet object per Statement object can be open at
the same time"

To me, this suggests that some db's may allow multiple ResultSets per
Statement but that such extensions would be non-portable. Looking at the
source for AbstactJdbc1Statement, it has

protected java.sql.ResultSet result = null;

So it looks like PG has the one ResultSet to one Statement implementation.

HTH

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

Re: quick question about PreparedStatements

От
Felipe Schnack
Дата:
I don't know, maybe I just don't understand something about Prep. Statements, but why they have a reference to a
ResultSetit has created? To me make more sense the opposite, the ResultSets reference the Statement... 
  Anyone can confirm I can only have one resultset per statement?

On Fri, 25 Jul 2003 09:06:58 +0100
Paul Thomas <paul@tmsl.demon.co.uk> wrote:

>
> On 24/07/2003 19:55 Felipe Schnack wrote:
> >   Can I use a single PreparedStatement to create various ResultSets and
> > get data from all of them at the same time?
>
> I don't think so. The Javadoc for Statement says:
>
> "By default, only one ResultSet object per Statement object can be open at
> the same time"
>
> To me, this suggests that some db's may allow multiple ResultSets per
> Statement but that such extensions would be non-portable. Looking at the
> source for AbstactJdbc1Statement, it has
>
> protected java.sql.ResultSet result = null;
>
> So it looks like PG has the one ResultSet to one Statement implementation.
>
> 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 3: if posting/reading through Usenet, please send an appropriate
>       subscribe-nomail command to majordomo@postgresql.org so that your
>       message can get through to the mailing list cleanly


--

 /~\ The ASCII        Felipe Schnack (felipes@ritterdosreis.br)
 \ / Ribbon Campaign  Analista de Sistemas
  X  Against HTML     Cel.: 51-91287530
 / \ Email!           Linux Counter #281893

Centro Universitário Ritter dos Reis
http://www.ritterdosreis.br
ritter@ritterdosreis.br
Fone: 51-32303341

Re: quick question about PreparedStatements

От
Barry Lind
Дата:
Yes you can only have one active result set per statement.

--Barry

Felipe Schnack wrote:
>   I don't know, maybe I just don't understand something about Prep. Statements, but why they have a reference to a
ResultSetit has created? To me make more sense the opposite, the ResultSets reference the Statement... 
>   Anyone can confirm I can only have one resultset per statement?
>
> On Fri, 25 Jul 2003 09:06:58 +0100
> Paul Thomas <paul@tmsl.demon.co.uk> wrote:
>
>
>>On 24/07/2003 19:55 Felipe Schnack wrote:
>>
>>>  Can I use a single PreparedStatement to create various ResultSets and
>>>get data from all of them at the same time?
>>
>>I don't think so. The Javadoc for Statement says:
>>
>>"By default, only one ResultSet object per Statement object can be open at
>>the same time"
>>
>>To me, this suggests that some db's may allow multiple ResultSets per
>>Statement but that such extensions would be non-portable. Looking at the
>>source for AbstactJdbc1Statement, it has
>>
>>protected java.sql.ResultSet result = null;
>>
>>So it looks like PG has the one ResultSet to one Statement implementation.
>>
>>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 3: if posting/reading through Usenet, please send an appropriate
>>      subscribe-nomail command to majordomo@postgresql.org so that your
>>      message can get through to the mailing list cleanly
>
>
>



Re: quick question about PreparedStatements

От
Felipe Schnack
Дата:
Hm... ok, but (just curious) this is a backend or driver limitation?

On Wed, 06 Aug 2003 19:57:37 -0700
Barry Lind <blind@xythos.com> wrote:

> Yes you can only have one active result set per statement.
>
> --Barry
>
> Felipe Schnack wrote:
> >   I don't know, maybe I just don't understand something about Prep. Statements, but why they have a reference to a
ResultSetit has created? To me make more sense the opposite, the ResultSets reference the Statement... 
> >   Anyone can confirm I can only have one resultset per statement?
> >
> > On Fri, 25 Jul 2003 09:06:58 +0100
> > Paul Thomas <paul@tmsl.demon.co.uk> wrote:
> >
> >
> >>On 24/07/2003 19:55 Felipe Schnack wrote:
> >>
> >>>  Can I use a single PreparedStatement to create various ResultSets and
> >>>get data from all of them at the same time?
> >>
> >>I don't think so. The Javadoc for Statement says:
> >>
> >>"By default, only one ResultSet object per Statement object can be open at
> >>the same time"
> >>
> >>To me, this suggests that some db's may allow multiple ResultSets per
> >>Statement but that such extensions would be non-portable. Looking at the
> >>source for AbstactJdbc1Statement, it has
> >>
> >>protected java.sql.ResultSet result = null;
> >>
> >>So it looks like PG has the one ResultSet to one Statement implementation.
> >>
> >>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 3: if posting/reading through Usenet, please send an appropriate
> >>      subscribe-nomail command to majordomo@postgresql.org so that your
> >>      message can get through to the mailing list cleanly
> >
> >
> >
>
>



 /~\ The ASCII        Felipe Schnack (felipes@ritterdosreis.br)
 \ / Ribbon Campaign  Analista de Sistemas
  X  Against HTML     Cel.: 51-91287530
 / \ Email!           Linux Counter #281893

Centro Universitário Ritter dos Reis
http://www.ritterdosreis.br
ritter@ritterdosreis.br
Fone: 51-32303341

Re: quick question about PreparedStatements

От
Barry Lind
Дата:
Felipe,

Sort of both.  If you are not using cursors then the limitation is in
the driver, if you are using cursors or future use of the v3 fe/be
protocol then the limitation is on the server.

thanks,
--Barry

Felipe Schnack wrote:
>   Hm... ok, but (just curious) this is a backend or driver limitation?
>
> On Wed, 06 Aug 2003 19:57:37 -0700
> Barry Lind <blind@xythos.com> wrote:
>
>
>>Yes you can only have one active result set per statement.
>>
>>--Barry
>>
>>Felipe Schnack wrote:
>>
>>>  I don't know, maybe I just don't understand something about Prep. Statements, but why they have a reference to a
ResultSetit has created? To me make more sense the opposite, the ResultSets reference the Statement... 
>>>  Anyone can confirm I can only have one resultset per statement?
>>>
>>>On Fri, 25 Jul 2003 09:06:58 +0100
>>>Paul Thomas <paul@tmsl.demon.co.uk> wrote:
>>>
>>>
>>>
>>>>On 24/07/2003 19:55 Felipe Schnack wrote:
>>>>
>>>>
>>>>> Can I use a single PreparedStatement to create various ResultSets and
>>>>>get data from all of them at the same time?
>>>>
>>>>I don't think so. The Javadoc for Statement says:
>>>>
>>>>"By default, only one ResultSet object per Statement object can be open at
>>>>the same time"
>>>>
>>>>To me, this suggests that some db's may allow multiple ResultSets per
>>>>Statement but that such extensions would be non-portable. Looking at the
>>>>source for AbstactJdbc1Statement, it has
>>>>
>>>>protected java.sql.ResultSet result = null;
>>>>
>>>>So it looks like PG has the one ResultSet to one Statement implementation.
>>>>
>>>>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 3: if posting/reading through Usenet, please send an appropriate
>>>>     subscribe-nomail command to majordomo@postgresql.org so that your
>>>>     message can get through to the mailing list cleanly
>>>
>>>
>>>
>>
>
>
>
>  /~\ The ASCII        Felipe Schnack (felipes@ritterdosreis.br)
>  \ / Ribbon Campaign  Analista de Sistemas
>   X  Against HTML     Cel.: 51-91287530
>  / \ Email!           Linux Counter #281893
>
> Centro Universitário Ritter dos Reis
> http://www.ritterdosreis.br
> ritter@ritterdosreis.br
> Fone: 51-32303341
>