Skip site navigation (1) Skip section navigation (2)

Re: Very strange Error in Updates

From: "Dario V(dot) Fassi" <software(at)sistemat(dot)com(dot)ar>
To: "pgsql-jdbc(at)postgresql(dot)org" <pgsql-jdbc(at)postgresql(dot)org>
Cc: "Dario V(dot) Fassi" <software(at)sistemat(dot)com(dot)ar>
Subject: Re: Very strange Error in Updates
Date: 2004-07-15 05:40:47
Message-ID: 40F618DF.7070609@sistemat.com.ar (view raw or flat)
Thread:
Lists: pgsql-hackerspgsql-jdbc
Worst cases:

The receiving field is a Varchar(30) .
Sample data :

CALLE=[ENFERMERA CLEMON. B- ALTO ALBR]  len=30    : Is Updated Ok.
CALLE=[ENFERMERA CLEMON. Bº ALTO ALBR]  len=30    : Is NOT Updated
CALLE=[ENFERMERA CLEMON. Bº ALTO ALB]  len=29    : Is Updated Ok.

Dario V. Fassi wrote:

> I found a very strange error/behavior in a PreparedStatement  for a 
> simple SQL Update over a VARCHAR field.
> The code is like:
>
>    Statement stmt = con.createStatement();
>    PreparedStatement pstIns = con.prepareStatement("update userid.t 
> set calle = ? ");         ResultSet rs = stmt.executeQuery( "select 
> calle from userid.t2" );
>    while ( rs.next() ) {
>                pstIns.clearParameters();
>                String x = rs.getString("CALLE");
>                pstIns.setString(1, x );
>                int nrows = pstIns.executeUpdate();
>                System.out.println( "Filas afectadas "+ nrows );
>     }
>          
> When the parameter fill the full-length of  receiving field and has 
> any non common character, the update throw a exception like:
>
> java.sql.SQLException: ERROR:  value too long for type character 
> varying(30)
>    at 
> org.postgresql.core.v2.QueryExecutorImpl.receiveErrorMessage(QueryExecutorImpl.java:420) 
>
>    at 
> org.postgresql.core.v2.QueryExecutorImpl.processResults(QueryExecutorImpl.java:345) 
>
>    at 
> org.postgresql.core.v2.QueryExecutorImpl.execute(QueryExecutorImpl.java:251) 
>
>    at 
> org.postgresql.core.v2.QueryExecutorImpl.execute(QueryExecutorImpl.java:159) 
>
>    at 
> org.postgresql.jdbc1.AbstractJdbc1Statement.execute(AbstractJdbc1Statement.java:342) 
>
>    at 
> org.postgresql.jdbc1.AbstractJdbc1Statement.executeWithFlags(AbstractJdbc1Statement.java:290) 
>
>    at 
> org.postgresql.jdbc1.AbstractJdbc1Statement.executeUpdate(AbstractJdbc1Statement.java:245) 
>
>    at 
> com.sistemat.app.rsmaster.reloadable.RepImportar.PrDw_Cuentas(RepImportar.java:2471) 
>
>    at 
> com.sistemat.app.rsmaster.reloadable.RepImportar.Importar(RepImportar.java:260) 
>
>    at 
> com.sistemat.app.rsmaster.reloadable.RepMasterImpl.Ciclo_Replicacion(RepMasterImpl.java:955) 
>
>    at 
> com.sistemat.app.rsmaster.reloadable.RepMasterImpl.runWorker(RepMasterImpl.java:748) 
>
>    at 
> com.sistemat.app.rsmaster.reloadable.RepMasterImpl.run(RepMasterImpl.java:427) 
>
>    at java.lang.Thread.run(Unknown Source)
>
> This field/value produce the Exception:   CALLE=[ENFERMERA CLEMON. B§ 
> ALTO ALBR]
>
> If this field is changed to:                        CALLE=[ENFERMERA 
> CLEMON. B# ALTO ALBR]
> then  the update is performed without
> any problem.
>
> Although the first value can be Inserted  with a prepared statement  
> without problems.
>
> A have no explanation to this case , and any help will be appreciated.
>
> Dario Fassi.
>

-- 

    Dario V. Fassi

SISTEMATICA ingenieria de software  srl
<http://www.sistemat.com.ar>Ituzaingo 1628  (2000)  Rosario, Santa Fe, 
Argentina.
Tel / Fax:  +54 (341) 485.1432 / 485.1353



In response to

Responses

pgsql-hackers by date

Next:From: Kris JurkaDate: 2004-07-15 05:42:03
Subject: Re: Very strange Error in Updates
Previous:From: Dario V. FassiDate: 2004-07-15 05:33:33
Subject: Very strange Error in Updates

pgsql-jdbc by date

Next:From: Kris JurkaDate: 2004-07-15 05:42:03
Subject: Re: Very strange Error in Updates
Previous:From: Dario V. FassiDate: 2004-07-15 05:33:33
Subject: Very strange Error in Updates

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group