From commits-return-7803-apmail-sis-commits-archive=sis.apache.org@sis.apache.org Mon Jun 27 14:30:24 2016 Return-Path: X-Original-To: apmail-sis-commits-archive@www.apache.org Delivered-To: apmail-sis-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 7803819A25 for ; Mon, 27 Jun 2016 14:30:24 +0000 (UTC) Received: (qmail 55432 invoked by uid 500); 27 Jun 2016 14:30:24 -0000 Delivered-To: apmail-sis-commits-archive@sis.apache.org Received: (qmail 55402 invoked by uid 500); 27 Jun 2016 14:30:24 -0000 Mailing-List: contact commits-help@sis.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: sis-dev@sis.apache.org Delivered-To: mailing list commits@sis.apache.org Received: (qmail 55393 invoked by uid 99); 27 Jun 2016 14:30:24 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 27 Jun 2016 14:30:24 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 8F6DB180424 for ; Mon, 27 Jun 2016 14:30:23 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 0.374 X-Spam-Level: X-Spam-Status: No, score=0.374 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RP_MATCHES_RCVD=-1.426] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id QXvdOjnqM37H for ; Mon, 27 Jun 2016 14:30:22 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with ESMTP id 686BF5F366 for ; Mon, 27 Jun 2016 14:30:21 +0000 (UTC) Received: from svn01-us-west.apache.org (svn.apache.org [10.41.0.6]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id 76912E0279 for ; Mon, 27 Jun 2016 14:30:20 +0000 (UTC) Received: from svn01-us-west.apache.org (localhost [127.0.0.1]) by svn01-us-west.apache.org (ASF Mail Server at svn01-us-west.apache.org) with ESMTP id D5EA13A027E for ; Mon, 27 Jun 2016 14:30:19 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1750347 - in /sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql: AuthorityCodes.java EPSGDataAccess.java EPSGInstaller.java TableInfo.java Date: Mon, 27 Jun 2016 14:30:19 -0000 To: commits@sis.apache.org From: desruisseaux@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20160627143019.D5EA13A027E@svn01-us-west.apache.org> Author: desruisseaux Date: Mon Jun 27 14:30:18 2016 New Revision: 1750347 URL: http://svn.apache.org/viewvc?rev=1750347&view=rev Log: Bug fix: enum types need to be casted to VARCHAR on PostgreSQL. Modified: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/AuthorityCodes.java sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGInstaller.java sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/TableInfo.java Modified: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/AuthorityCodes.java URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/AuthorityCodes.java?rev=1750347&r1=1750346&r2=1750347&view=diff ============================================================================== --- sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/AuthorityCodes.java [UTF-8] (original) +++ sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/AuthorityCodes.java [UTF-8] Mon Jun 27 14:30:18 2016 @@ -148,8 +148,8 @@ final class AuthorityCodes extends Abstr for (int i=0; i candidate = table.subTypes[i]; if (candidate.isAssignableFrom(type)) { - buffer.append(" WHERE (").append(table.typeColumn) - .append(" LIKE '").append(table.typeNames[i]).append("%')"); + buffer.append(" WHERE (CAST(").append(table.typeColumn).append(" AS ").append(TableInfo.ENUM_REPLACEMENT) + .append(") LIKE '").append(table.typeNames[i]).append("%')"); hasWhere = true; tableType = candidate; break; Modified: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java?rev=1750347&r1=1750346&r2=1750347&view=diff ============================================================================== --- sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java [UTF-8] (original) +++ sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGDataAccess.java [UTF-8] Mon Jun 27 14:30:18 2016 @@ -3216,7 +3216,7 @@ next: while (r.next()) { "SELECT COORD_REF_SYS_CODE" + " FROM [Coordinate Reference System]" + " WHERE PROJECTION_CONV_CODE = ?" + - " AND COORD_REF_SYS_KIND LIKE 'projected%'", code)) + " AND CAST(COORD_REF_SYS_KIND AS " + TableInfo.ENUM_REPLACEMENT + ") LIKE 'projected%'", code)) { projection = result.next(); } Modified: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGInstaller.java URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGInstaller.java?rev=1750347&r1=1750346&r2=1750347&view=diff ============================================================================== --- sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGInstaller.java [UTF-8] (original) +++ sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/EPSGInstaller.java [UTF-8] Mon Jun 27 14:30:18 2016 @@ -159,9 +159,9 @@ final class EPSGInstaller extends Script prependNamespace(schema); } if (!isEnumTypeSupported) { - addReplacement(SQLTranslator.TABLE_PREFIX + "datum_kind", "VARCHAR(24)"); - addReplacement(SQLTranslator.TABLE_PREFIX + "crs_kind", "VARCHAR(24)"); - addReplacement(SQLTranslator.TABLE_PREFIX + "cs_kind", "VARCHAR(24)"); + addReplacement(SQLTranslator.TABLE_PREFIX + "datum_kind", TableInfo.ENUM_REPLACEMENT); + addReplacement(SQLTranslator.TABLE_PREFIX + "crs_kind", TableInfo.ENUM_REPLACEMENT); + addReplacement(SQLTranslator.TABLE_PREFIX + "cs_kind", TableInfo.ENUM_REPLACEMENT); addReplacement(SQLTranslator.TABLE_PREFIX + "table_name", "VARCHAR(80)"); } } Modified: sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/TableInfo.java URL: http://svn.apache.org/viewvc/sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/TableInfo.java?rev=1750347&r1=1750346&r2=1750347&view=diff ============================================================================== --- sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/TableInfo.java [UTF-8] (original) +++ sis/branches/JDK8/core/sis-referencing/src/main/java/org/apache/sis/referencing/factory/sql/TableInfo.java [UTF-8] Mon Jun 27 14:30:18 2016 @@ -162,10 +162,17 @@ final class TableInfo { /** * Column type for the type (usually with the {@code "_TYPE"} suffix), or {@code null}. + * {@link EPSGDataAccess} and {@link AuthorityCodes} assumes that values in this column + * have the maximal length described in the {@value #ENUM_REPLACEMENT} statement. */ final String typeColumn; /** + * The SQL type to use as a replacement for enumerated values on databases that do not support enumerations. + */ + static final String ENUM_REPLACEMENT = "VARCHAR(24)"; + + /** * Sub-interfaces of {@link #type} to handle, or {@code null} if none. */ final Class[] subTypes;