Re: JDBC

From: "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>
To: Chuck Davis <cjgunzel(at)gmail(dot)com>
Cc: "pgsql-jdbc(at)postgresql(dot)org" <pgsql-jdbc(at)postgresql(dot)org>
Subject: Re: JDBC
Date: 2018-06-10 20:44:25
Message-ID: CAKFQuwY_7EdueER=eLfE9HWmw9hLi+bDM3SqCf2NLR5Dugk2Tw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

On Sunday, June 10, 2018, Chuck Davis <cjgunzel(at)gmail(dot)com> wrote:

>
> try {
> result = stat.execute("select exists (select 1 from
> information_schema.tables where table_name = 'entities')");
> System.out.println("the checkEntity returned a result of "
> + result);
> } catch (SQLException ex) {
> Logger.getLogger(ClientConstants.class.getName(
> )).log(Level.SEVERE,
> null, ex);
> result = false;
> return result;
> }

Your query is putting "false" into cell (0,0) of a ResultSet. You are
failing to even look at the resultset to see if it holds a true or false.

The query should never fail since you aren't using the table name directly
but are checking for it as a value in another table that always exists. The
inner query returns zero records when the table doesn't exist and the
EXISTS construct converts that to false.

David J.

In response to

  • Re: JDBC at 2018-06-10 20:24:55 from Chuck Davis

Responses

  • Re: JDBC at 2018-06-10 23:09:39 from Chuck Davis

Browse pgsql-jdbc by date

  From Date Subject
Next Message Chuck Davis 2018-06-10 23:05:37 Re: JDBC
Previous Message Tom Lane 2018-06-10 20:40:46 Re: JDBC