Thread: quick question about PreparedStatements
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
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 | +------------------------------+---------------------------------------------+
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
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 > > >
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
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 >