* Firebird Open Source J2ee connector - jdbc driver
* Distributable under LGPL license.
* You may obtain a copy of the License at http://www.gnu.org/copyleft/lgpl.html
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* LGPL License for more details.
* This file was created by members of the firebird development team.
* All individual contributions remain the Copyright (C) of those
* individuals. Contributors to this file are either listed here or
* can be obtained from a CVS history command.
* All rights reserved.
However we cannot simply check length locally. Maximum allowed length in bytes is connected with the character set of the field as defined lengh * maximum number of bytes per character in that encoding. However this does not work for system tables which have defined length 31, character set UNICODE_FSS and maximum allowed length of 31 (instead of 31 * 3 = 63).
Until this bug is fixed in the engine we will simply check if field belongs to the system table and do not throw data truncation error locally.
super(field, dataProvider, requiredType);
// special handling for the LIKE ? queries with CHAR(1) fields
valuevalue to set.
java.sql.SQLExceptionif something went wrong.
// fix incorrect padding done by the database for multibyte charsets
boolean result = false;
result = true;