pg.ddx.io pgsql-interfaces@postgresql.org mailing list archive
help / color / mirror / Atom feedwhere to close statement ?
9+ messages / 3 participants
[nested] [flat]
* where to close statement ?
@ 2000-04-18 12:24 Guillaume Rousse <Guillaume.Rousse@univ-reunion.fr>
0 siblings, 0 replies; 9+ messages in thread
From: Guillaume Rousse @ 2000-04-18 12:24 UTC (permalink / raw)
To: pgsql-interfaces
Hi.
Imagine the foolowing situation: i got one connection, and i have several
preparedStatements to execute, each with different parameters. Is is good
practice to close the connection in a finally() statement. But what about
statements and resultset ? Is there an advantage to close them explicitely :
-in the finally statement, before the connection.close() (see code A) ?
-in the try statement, between each statement execution for the resultset, and
between each redefinition for each preparedStatement (see code B) ?
code A:
Connection con=null;
PreparedStatement stmt=null;
Resulset rs=null;
try {
stmt=...
stmt.set...
rs=stmt.execute();
stmt.set...
rs=stmt.execute();
stmt=...
stmt.set...
rs=stmt.execute();
stmt.set...
rs=stmt.execute();
} finally {
rs.close();
stmt.close();
con.close()
}
code B:
Connection con=null;
try {
PreparedStatement stmt=...
stmt.set...
Resulset rs=stmt.execute();
rs.close();
stmt.set...
rs=stmt.execute();
rs.close();
stmt.close();
stmt=...
stmt.set...
rs=stmt.execute();
rs.close();
stmt.set...
rs=stmt.execute();
rs.close();
stmt;close();
} finally {
con.close()
}
--
Guillaume Rousse
Iremia - Université de la Réunion
Sleep doesn't exists. Just lack of cafeine.
^ permalink raw reply [nested|flat] 9+ messages in thread
* RE: where to close statement ?
@ 2000-04-18 13:15 Peter Mount <petermount@it.maidstone.gov.uk>
2000-04-18 13:56 ` RE: where to close statement ? Guillaume Rousse <Guillaume.Rousse@univ-reunion.fr>
0 siblings, 1 reply; 9+ messages in thread
From: Peter Mount @ 2000-04-18 13:15 UTC (permalink / raw)
To: 'Guillaume Rousse' <Guillaume.Rousse@univ-reunion.fr>; pgsql-interfaces
I test each one, and if not null, then call close, ie:
if(rs!=null) rs.close();
This allows for the statement to be open, but the failure being with the
ResultSet.
Peter
--
Peter Mount
Enterprise Support
Maidstone Borough Council
Any views stated are my own, and not those of Maidstone Borough Council.
-----Original Message-----
From: Guillaume Rousse [mailto:Guillaume.Rousse@univ-reunion.fr]
Sent: Tuesday, April 18, 2000 1:25 PM
To: pgsql-interfaces@postgresql.org
Subject: [INTERFACES] where to close statement ?
Hi.
Imagine the foolowing situation: i got one connection, and i have
several
preparedStatements to execute, each with different parameters. Is is
good
practice to close the connection in a finally() statement. But what
about
statements and resultset ? Is there an advantage to close them
explicitely :
-in the finally statement, before the connection.close() (see code A) ?
-in the try statement, between each statement execution for the
resultset, and
between each redefinition for each preparedStatement (see code B) ?
code A:
Connection con=null;
PreparedStatement stmt=null;
Resulset rs=null;
try {
stmt=...
stmt.set...
rs=stmt.execute();
stmt.set...
rs=stmt.execute();
stmt=...
stmt.set...
rs=stmt.execute();
stmt.set...
rs=stmt.execute();
} finally {
rs.close();
stmt.close();
con.close()
}
code B:
Connection con=null;
try {
PreparedStatement stmt=...
stmt.set...
Resulset rs=stmt.execute();
rs.close();
stmt.set...
rs=stmt.execute();
rs.close();
stmt.close();
stmt=...
stmt.set...
rs=stmt.execute();
rs.close();
stmt.set...
rs=stmt.execute();
rs.close();
stmt;close();
} finally {
con.close()
}
--
Guillaume Rousse
Iremia - Université de la Réunion
Sleep doesn't exists. Just lack of cafeine.
^ permalink raw reply [nested|flat] 9+ messages in thread
* RE: where to close statement ?
2000-04-18 13:15 RE: where to close statement ? Peter Mount <petermount@it.maidstone.gov.uk>
@ 2000-04-18 13:56 ` Guillaume Rousse <Guillaume.Rousse@univ-reunion.fr>
0 siblings, 0 replies; 9+ messages in thread
From: Guillaume Rousse @ 2000-04-18 13:56 UTC (permalink / raw)
To: pgsql-interfaces; +Cc: petermount@it.maidstone.gov.uk
All right, that's another way to close them, but it doesn't answer to the
question : where to close ?
Le mar, 18 avr 2000, Peter Mount a écrit :
> I test each one, and if not null, then call close, ie:
>
> if(rs!=null) rs.close();
>
> This allows for the statement to be open, but the failure being with the
> ResultSet.
>
> Peter
>
> --
> Peter Mount
> Enterprise Support
> Maidstone Borough Council
> Any views stated are my own, and not those of Maidstone Borough Council.
>
>
>
> -----Original Message-----
> From: Guillaume Rousse [mailto:Guillaume.Rousse@univ-reunion.fr]
> Sent: Tuesday, April 18, 2000 1:25 PM
> To: pgsql-interfaces@postgresql.org
> Subject: [INTERFACES] where to close statement ?
>
>
> Hi.
> Imagine the foolowing situation: i got one connection, and i have
> several
> preparedStatements to execute, each with different parameters. Is is
> good
> practice to close the connection in a finally() statement. But what
> about
> statements and resultset ? Is there an advantage to close them
> explicitely :
> -in the finally statement, before the connection.close() (see code A) ?
> -in the try statement, between each statement execution for the
> resultset, and
> between each redefinition for each preparedStatement (see code B) ?
>
> code A:
> Connection con=null;
> PreparedStatement stmt=null;
> Resulset rs=null;
>
> try {
> stmt=...
> stmt.set...
> rs=stmt.execute();
> stmt.set...
> rs=stmt.execute();
>
> stmt=...
> stmt.set...
> rs=stmt.execute();
> stmt.set...
> rs=stmt.execute();
> } finally {
> rs.close();
> stmt.close();
> con.close()
> }
>
> code B:
> Connection con=null;
>
> try {
> PreparedStatement stmt=...
> stmt.set...
> Resulset rs=stmt.execute();
> rs.close();
> stmt.set...
> rs=stmt.execute();
> rs.close();
> stmt.close();
>
> stmt=...
> stmt.set...
> rs=stmt.execute();
> rs.close();
> stmt.set...
> rs=stmt.execute();
> rs.close();
> stmt;close();
>
> } finally {
> con.close()
> }
> --
> Guillaume Rousse
> Iremia - Université de la Réunion
>
> Sleep doesn't exists. Just lack of cafeine.
--
Guillaume Rousse
Iremia - Université de la Réunion
Sleep doesn't exists. Just lack of cafeine.
^ permalink raw reply [nested|flat] 9+ messages in thread
* RE: where to close statement ?
@ 2000-04-18 14:04 Peter Mount <petermount@it.maidstone.gov.uk>
2000-04-18 15:14 ` RE: where to close statement ? Guillaume Rousse <Guillaume.Rousse@univ-reunion.fr>
2000-04-18 18:28 ` Re: where to close statement ? Joseph Shraibman <jks@p1.selectacast.net>
0 siblings, 2 replies; 9+ messages in thread
From: Peter Mount @ 2000-04-18 14:04 UTC (permalink / raw)
To: 'Guillaume Rousse' <Guillaume.Rousse@univ-reunion.fr>; pgsql-interfaces; +Cc: Peter Mount <petermount@it.maidstone.gov.uk>
Ah, forgot that bit. I put them under finally as it always gets run,
although you have to wrap them in a try{} win finally if the parent
method doesn't throw SQLException.
Peter
--
Peter Mount
Enterprise Support
Maidstone Borough Council
Any views stated are my own, and not those of Maidstone Borough Council.
-----Original Message-----
From: Guillaume Rousse [mailto:Guillaume.Rousse@univ-reunion.fr]
Sent: Tuesday, April 18, 2000 2:57 PM
To: pgsql-interfaces@postgresql.org
Cc: petermount@it.maidstone.gov.uk
Subject: RE: [INTERFACES] where to close statement ?
All right, that's another way to close them, but it doesn't answer to
the
question : where to close ?
Le mar, 18 avr 2000, Peter Mount a écrit :
> I test each one, and if not null, then call close, ie:
>
> if(rs!=null) rs.close();
>
> This allows for the statement to be open, but the failure being with
the
> ResultSet.
>
> Peter
>
> --
> Peter Mount
> Enterprise Support
> Maidstone Borough Council
> Any views stated are my own, and not those of Maidstone Borough
Council.
>
>
>
> -----Original Message-----
> From: Guillaume Rousse [mailto:Guillaume.Rousse@univ-reunion.fr]
> Sent: Tuesday, April 18, 2000 1:25 PM
> To: pgsql-interfaces@postgresql.org
> Subject: [INTERFACES] where to close statement ?
>
>
> Hi.
> Imagine the foolowing situation: i got one connection, and i have
> several
> preparedStatements to execute, each with different parameters. Is is
> good
> practice to close the connection in a finally() statement. But what
> about
> statements and resultset ? Is there an advantage to close them
> explicitely :
> -in the finally statement, before the connection.close() (see code A)
?
> -in the try statement, between each statement execution for the
> resultset, and
> between each redefinition for each preparedStatement (see code B) ?
>
> code A:
> Connection con=null;
> PreparedStatement stmt=null;
> Resulset rs=null;
>
> try {
> stmt=...
> stmt.set...
> rs=stmt.execute();
> stmt.set...
> rs=stmt.execute();
>
> stmt=...
> stmt.set...
> rs=stmt.execute();
> stmt.set...
> rs=stmt.execute();
> } finally {
> rs.close();
> stmt.close();
> con.close()
> }
>
> code B:
> Connection con=null;
>
> try {
> PreparedStatement stmt=...
> stmt.set...
> Resulset rs=stmt.execute();
> rs.close();
> stmt.set...
> rs=stmt.execute();
> rs.close();
> stmt.close();
>
> stmt=...
> stmt.set...
> rs=stmt.execute();
> rs.close();
> stmt.set...
> rs=stmt.execute();
> rs.close();
> stmt;close();
>
> } finally {
> con.close()
> }
> --
> Guillaume Rousse
> Iremia - Université de la Réunion
>
> Sleep doesn't exists. Just lack of cafeine.
--
Guillaume Rousse
Iremia - Université de la Réunion
Sleep doesn't exists. Just lack of cafeine.
^ permalink raw reply [nested|flat] 9+ messages in thread
* RE: where to close statement ?
2000-04-18 14:04 RE: where to close statement ? Peter Mount <petermount@it.maidstone.gov.uk>
@ 2000-04-18 15:14 ` Guillaume Rousse <Guillaume.Rousse@univ-reunion.fr>
1 sibling, 0 replies; 9+ messages in thread
From: Guillaume Rousse @ 2000-04-18 15:14 UTC (permalink / raw)
To: pgsql-interfaces; +Cc: Peter Mount <petermount@it.maidstone.gov.uk>
All right, we're near :-)
In this case, is there a benefice to close first resultset, then the statement,
then the connection over just closing the connection directly ?
Le mar, 18 avr 2000, Peter Mount a écrit :
> Ah, forgot that bit. I put them under finally as it always gets run,
> although you have to wrap them in a try{} win finally if the parent
> method doesn't throw SQLException.
>
> Peter
>
> --
> Peter Mount
> Enterprise Support
> Maidstone Borough Council
> Any views stated are my own, and not those of Maidstone Borough Council.
>
>
>
> -----Original Message-----
> From: Guillaume Rousse [mailto:Guillaume.Rousse@univ-reunion.fr]
> Sent: Tuesday, April 18, 2000 2:57 PM
> To: pgsql-interfaces@postgresql.org
> Cc: petermount@it.maidstone.gov.uk
> Subject: RE: [INTERFACES] where to close statement ?
>
>
> All right, that's another way to close them, but it doesn't answer to
> the
> question : where to close ?
>
> Le mar, 18 avr 2000, Peter Mount a écrit :
> > I test each one, and if not null, then call close, ie:
> >
> > if(rs!=null) rs.close();
> >
> > This allows for the statement to be open, but the failure being with
> the
> > ResultSet.
> >
> > Peter
> >
> > --
> > Peter Mount
> > Enterprise Support
> > Maidstone Borough Council
> > Any views stated are my own, and not those of Maidstone Borough
> Council.
> >
> >
> >
> > -----Original Message-----
> > From: Guillaume Rousse [mailto:Guillaume.Rousse@univ-reunion.fr]
> > Sent: Tuesday, April 18, 2000 1:25 PM
> > To: pgsql-interfaces@postgresql.org
> > Subject: [INTERFACES] where to close statement ?
> >
> >
> > Hi.
> > Imagine the foolowing situation: i got one connection, and i have
> > several
> > preparedStatements to execute, each with different parameters. Is is
> > good
> > practice to close the connection in a finally() statement. But what
> > about
> > statements and resultset ? Is there an advantage to close them
> > explicitely :
> > -in the finally statement, before the connection.close() (see code A)
> ?
> > -in the try statement, between each statement execution for the
> > resultset, and
> > between each redefinition for each preparedStatement (see code B) ?
> >
> > code A:
> > Connection con=null;
> > PreparedStatement stmt=null;
> > Resulset rs=null;
> >
> > try {
> > stmt=...
> > stmt.set...
> > rs=stmt.execute();
> > stmt.set...
> > rs=stmt.execute();
> >
> > stmt=...
> > stmt.set...
> > rs=stmt.execute();
> > stmt.set...
> > rs=stmt.execute();
> > } finally {
> > rs.close();
> > stmt.close();
> > con.close()
> > }
> >
> > code B:
> > Connection con=null;
> >
> > try {
> > PreparedStatement stmt=...
> > stmt.set...
> > Resulset rs=stmt.execute();
> > rs.close();
> > stmt.set...
> > rs=stmt.execute();
> > rs.close();
> > stmt.close();
> >
> > stmt=...
> > stmt.set...
> > rs=stmt.execute();
> > rs.close();
> > stmt.set...
> > rs=stmt.execute();
> > rs.close();
> > stmt;close();
> >
> > } finally {
> > con.close()
> > }
> > --
> > Guillaume Rousse
> > Iremia - Université de la Réunion
> >
> > Sleep doesn't exists. Just lack of cafeine.
> --
> Guillaume Rousse
> Iremia - Université de la Réunion
>
> Sleep doesn't exists. Just lack of cafeine.
--
Guillaume Rousse
Iremia - Université de la Réunion
Sleep doesn't exists. Just lack of cafeine.
^ permalink raw reply [nested|flat] 9+ messages in thread
* Re: where to close statement ?
2000-04-18 14:04 RE: where to close statement ? Peter Mount <petermount@it.maidstone.gov.uk>
@ 2000-04-18 18:28 ` Joseph Shraibman <jks@p1.selectacast.net>
2000-04-18 18:40 ` Re: where to close statement ? Guillaume Rousse <Guillaume.Rousse@univ-reunion.fr>
1 sibling, 1 reply; 9+ messages in thread
From: Joseph Shraibman @ 2000-04-18 18:28 UTC (permalink / raw)
To: Peter Mount <petermount@it.maidstone.gov.uk>; +Cc: 'Guillaume Rousse' <Guillaume.Rousse@univ-reunion.fr>; pgsql-interfaces
Peter Mount wrote:
> Ah, forgot that bit. I put them under finally as it always gets run,
> although you have to wrap them in a try{} win finally if the parent
> method doesn't throw SQLException.
>
> Peter
>
The problem with that is that close() itself can throw a SQLException so
you have to wrap it twice.
^ permalink raw reply [nested|flat] 9+ messages in thread
* Re: where to close statement ?
2000-04-18 14:04 RE: where to close statement ? Peter Mount <petermount@it.maidstone.gov.uk>
2000-04-18 18:28 ` Re: where to close statement ? Joseph Shraibman <jks@p1.selectacast.net>
@ 2000-04-18 18:40 ` Guillaume Rousse <Guillaume.Rousse@univ-reunion.fr>
0 siblings, 0 replies; 9+ messages in thread
From: Guillaume Rousse @ 2000-04-18 18:40 UTC (permalink / raw)
To: Joseph Shraibman <jks@p1.selectacast.net>; +Cc: pgsql-interfaces
Le mar, 18 avr 2000, vous avez écrit :
> Peter Mount wrote:
>
> > Ah, forgot that bit. I put them under finally as it always gets run,
> > although you have to wrap them in a try{} win finally if the parent
> > method doesn't throw SQLException.
> >
> > Peter
> >
>
> The problem with that is that close() itself can throw a SQLException so
> you have to wrap it twice.
so we have either :
finally {
try {
if (conn!=null) conn.close();
} catch (SQLException ignore) {}
}
or eventually :
inally {
try {
conn.close();
} catch (Exception ignore) {}
}
The second also deals with NullPointerException
--
Guillaume Rousse
Iremia - Université de la Réunion
Sleep doesn't exists. Just lack of cafeine.
^ permalink raw reply [nested|flat] 9+ messages in thread
* RE: where to close statement ?
@ 2000-04-18 15:21 Peter Mount <petermount@it.maidstone.gov.uk>
0 siblings, 0 replies; 9+ messages in thread
From: Peter Mount @ 2000-04-18 15:21 UTC (permalink / raw)
To: 'Guillaume Rousse' <Guillaume.Rousse@univ-reunion.fr>; pgsql-interfaces; +Cc: Peter Mount <petermount@it.maidstone.gov.uk>
With our current implementation, no there would be no benefit.
However, it's neater to close then in the order ResultSet, Statement
then Connection, as thats closer to the standard.
Tip: If your application is running for long periods of time, it's
better to close everything manually, and even possibly calling the
connection's finalize() method. This is because the garbage collector is
not guaranteed to run often, and you can end up with lots of unused
connections to the backend.
Peter
--
Peter Mount
Enterprise Support
Maidstone Borough Council
Any views stated are my own, and not those of Maidstone Borough Council.
-----Original Message-----
From: Guillaume Rousse [mailto:Guillaume.Rousse@univ-reunion.fr]
Sent: Tuesday, April 18, 2000 4:14 PM
To: pgsql-interfaces@postgresql.org
Cc: Peter Mount
Subject: RE: [INTERFACES] where to close statement ?
All right, we're near :-)
In this case, is there a benefice to close first resultset, then the
statement,
then the connection over just closing the connection directly ?
Le mar, 18 avr 2000, Peter Mount a écrit :
> Ah, forgot that bit. I put them under finally as it always gets run,
> although you have to wrap them in a try{} win finally if the parent
> method doesn't throw SQLException.
>
> Peter
>
> --
> Peter Mount
> Enterprise Support
> Maidstone Borough Council
> Any views stated are my own, and not those of Maidstone Borough
Council.
>
>
>
> -----Original Message-----
> From: Guillaume Rousse [mailto:Guillaume.Rousse@univ-reunion.fr]
> Sent: Tuesday, April 18, 2000 2:57 PM
> To: pgsql-interfaces@postgresql.org
> Cc: petermount@it.maidstone.gov.uk
> Subject: RE: [INTERFACES] where to close statement ?
>
>
> All right, that's another way to close them, but it doesn't answer to
> the
> question : where to close ?
>
> Le mar, 18 avr 2000, Peter Mount a écrit :
> > I test each one, and if not null, then call close, ie:
> >
> > if(rs!=null) rs.close();
> >
> > This allows for the statement to be open, but the failure being with
> the
> > ResultSet.
> >
> > Peter
> >
> > --
> > Peter Mount
> > Enterprise Support
> > Maidstone Borough Council
> > Any views stated are my own, and not those of Maidstone Borough
> Council.
> >
> >
> >
> > -----Original Message-----
> > From: Guillaume Rousse [mailto:Guillaume.Rousse@univ-reunion.fr]
> > Sent: Tuesday, April 18, 2000 1:25 PM
> > To: pgsql-interfaces@postgresql.org
> > Subject: [INTERFACES] where to close statement ?
> >
> >
> > Hi.
> > Imagine the foolowing situation: i got one connection, and i have
> > several
> > preparedStatements to execute, each with different parameters. Is is
> > good
> > practice to close the connection in a finally() statement. But what
> > about
> > statements and resultset ? Is there an advantage to close them
> > explicitely :
> > -in the finally statement, before the connection.close() (see code
A)
> ?
> > -in the try statement, between each statement execution for the
> > resultset, and
> > between each redefinition for each preparedStatement (see code B) ?
> >
> > code A:
> > Connection con=null;
> > PreparedStatement stmt=null;
> > Resulset rs=null;
> >
> > try {
> > stmt=...
> > stmt.set...
> > rs=stmt.execute();
> > stmt.set...
> > rs=stmt.execute();
> >
> > stmt=...
> > stmt.set...
> > rs=stmt.execute();
> > stmt.set...
> > rs=stmt.execute();
> > } finally {
> > rs.close();
> > stmt.close();
> > con.close()
> > }
> >
> > code B:
> > Connection con=null;
> >
> > try {
> > PreparedStatement stmt=...
> > stmt.set...
> > Resulset rs=stmt.execute();
> > rs.close();
> > stmt.set...
> > rs=stmt.execute();
> > rs.close();
> > stmt.close();
> >
> > stmt=...
> > stmt.set...
> > rs=stmt.execute();
> > rs.close();
> > stmt.set...
> > rs=stmt.execute();
> > rs.close();
> > stmt;close();
> >
> > } finally {
> > con.close()
> > }
> > --
> > Guillaume Rousse
> > Iremia - Université de la Réunion
> >
> > Sleep doesn't exists. Just lack of cafeine.
> --
> Guillaume Rousse
> Iremia - Université de la Réunion
>
> Sleep doesn't exists. Just lack of cafeine.
--
Guillaume Rousse
Iremia - Université de la Réunion
Sleep doesn't exists. Just lack of cafeine.
^ permalink raw reply [nested|flat] 9+ messages in thread
* RE: where to close statement ?
@ 2000-04-19 06:47 Peter Mount <petermount@it.maidstone.gov.uk>
0 siblings, 0 replies; 9+ messages in thread
From: Peter Mount @ 2000-04-19 06:47 UTC (permalink / raw)
To: 'Joseph Shraibman' <jks@p1.selectacast.net>; Peter Mount <petermount@it.maidstone.gov.uk>; +Cc: 'Guillaume Rousse' <Guillaume.Rousse@univ-reunion.fr>; pgsql-interfaces
I wrap the closes within the finally() block because of this:
try {
... code ...
} catch(SQLException e) {
... handle exception here ...
} finally {
try {
if(rs!=null) rs.close();
if(st!=null) st.close();
} catch(SQLException e1) {}
}
Peter
--
Peter Mount
Enterprise Support
Maidstone Borough Council
Any views stated are my own, and not those of Maidstone Borough Council.
-----Original Message-----
From: Joseph Shraibman [mailto:jks@p1.selectacast.net]
Sent: Tuesday, April 18, 2000 7:28 PM
To: Peter Mount
Cc: 'Guillaume Rousse'; pgsql-interfaces@postgresql.org
Subject: Re: [INTERFACES] where to close statement ?
Peter Mount wrote:
> Ah, forgot that bit. I put them under finally as it always gets run,
> although you have to wrap them in a try{} win finally if the parent
> method doesn't throw SQLException.
>
> Peter
>
The problem with that is that close() itself can throw a SQLException so
you have to wrap it twice.
^ permalink raw reply [nested|flat] 9+ messages in thread
end of thread, other threads:[~2000-04-19 06:47 UTC | newest]
Thread overview: 9+ messages (download: mbox mbox.gz follow: Atom feed)
-- links below jump to the message on this page --
2000-04-18 12:24 where to close statement ? Guillaume Rousse <Guillaume.Rousse@univ-reunion.fr>
2000-04-18 13:15 RE: where to close statement ? Peter Mount <petermount@it.maidstone.gov.uk>
2000-04-18 13:56 ` Guillaume Rousse <Guillaume.Rousse@univ-reunion.fr>
2000-04-18 14:04 RE: where to close statement ? Peter Mount <petermount@it.maidstone.gov.uk>
2000-04-18 15:14 ` Guillaume Rousse <Guillaume.Rousse@univ-reunion.fr>
2000-04-18 18:28 ` Joseph Shraibman <jks@p1.selectacast.net>
2000-04-18 18:40 ` Guillaume Rousse <Guillaume.Rousse@univ-reunion.fr>
2000-04-18 15:21 RE: where to close statement ? Peter Mount <petermount@it.maidstone.gov.uk>
2000-04-19 06:47 RE: where to close statement ? Peter Mount <petermount@it.maidstone.gov.uk>
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