Re: streaming result sets: progress
| От | Nic Ferrier |
|---|---|
| Тема | Re: streaming result sets: progress |
| Дата | |
| Msg-id | 87n0oclzhy.fsf@pooh-sticks-bridge.tapsellferrier.co.uk обсуждение исходный текст |
| Ответ на | Re: streaming result sets: progress (Barry Lind <blind@xythos.com>) |
| Ответы |
PostgreSQL/Oracle/MSSQL differences (was: streaming result sets: progress)
Re: streaming result sets: progress |
| Список | pgsql-jdbc |
Barry Lind <blind@xythos.com> writes:
> nferrier@tapsellferrier.co.uk wrote:
> > snpe <snpe@snpe.co.yu> writes:
> >
> > Yes. But the reason I send:
> >
> > DECLARE JDBC_CURS_1 CURSOR FOR select * from tab FETCH FORWARD 100 FROM JDBC_CURS_1;
> >
> > is because the SQL statement you supply is _supposed_ to end with a
> > ";". The code for the above is actually doing:
> >
> > DECLARE JDBC_CURS_1 CURSOR FOR $userquery FETCH FORWARD 100 FROM JDBC_CURS_1;
> >
> > where $userquery is what comes in from the client code, eg:
> >
> > Statement st = con.createStatement();
> > ResultSet rs = con.executeQuery("select * from tab;");
> >
> > then "select * from tab;" is inserted as $userquery. It must always
> > end with ";" because that's how PGSQL's normal query processing works.
> >
>
> The the ; is not required for the rest of the jdbc driver. In fact in
> other areas of the code (like server prepared statements, batch updates)
> the requirement is that the user supplied sql statement does *not* end
> in a ;.
>
> This is also consistent with other jdbc drivers. In fact oracle gives
> you an error if a sql statement ends with a ;.
Apologies to everyone paying attention to this thread... in my
experience postgres has always complained when I haven't supplied the
";".
I will investigate and fix the patch.
Nic
В списке pgsql-jdbc по дате отправления: