This is an automated email from the ASF dual-hosted git repository.

ankit pushed a commit to branch 4.x-HBase-1.4
in repository https://gitbox.apache.org/repos/asf/phoenix.git


The following commit(s) were added to refs/heads/4.x-HBase-1.4 by this push:
     new 252ab1d  PHOENIX-5506 Psql load fails with lower table name
252ab1d is described below

commit 252ab1d0dfe76496db6afdc8f3c3dc6ef17493bb
Author: Ankit Singhal <an...@apache.org>
AuthorDate: Mon Oct 7 11:17:29 2019 -0700

    PHOENIX-5506 Psql load fails with lower table name
---
 .../apache/phoenix/end2end/CSVCommonsLoaderIT.java | 35 ++++++++++++++++++++++
 .../org/apache/phoenix/util/CSVCommonsLoader.java  |  3 +-
 2 files changed, 37 insertions(+), 1 deletion(-)

diff --git 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/CSVCommonsLoaderIT.java 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CSVCommonsLoaderIT.java
index 9b5581d..8db7afd 100644
--- 
a/phoenix-core/src/it/java/org/apache/phoenix/end2end/CSVCommonsLoaderIT.java
+++ 
b/phoenix-core/src/it/java/org/apache/phoenix/end2end/CSVCommonsLoaderIT.java
@@ -23,7 +23,9 @@ import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
+import java.io.File;
 import java.io.StringReader;
+import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.PreparedStatement;
 import java.sql.ResultSet;
@@ -35,6 +37,7 @@ import java.util.Properties;
 import com.google.common.collect.ImmutableList;
 import org.apache.commons.csv.CSVParser;
 import org.apache.commons.csv.CSVRecord;
+import org.apache.commons.io.FileUtils;
 import org.apache.phoenix.jdbc.PhoenixConnection;
 import org.apache.phoenix.jdbc.PhoenixTestDriver;
 import org.apache.phoenix.schema.IllegalDataException;
@@ -43,7 +46,9 @@ import org.apache.phoenix.schema.types.PArrayDataType;
 import org.apache.phoenix.util.CSVCommonsLoader;
 import org.apache.phoenix.util.DateUtil;
 import org.apache.phoenix.util.PhoenixRuntime;
+import org.junit.Rule;
 import org.junit.Test;
+import org.junit.rules.TemporaryFolder;
 
 public class CSVCommonsLoaderIT extends ParallelStatsDisabledIT {
 
@@ -98,6 +103,8 @@ public class CSVCommonsLoaderIT extends 
ParallelStatsDisabledIT {
             + "\n"
             + CSV_VALUES_BAD_ENCAPSULATED_CONTROL_CHARS;
 
+    @Rule public TemporaryFolder tempFolder = new TemporaryFolder();
+
     @Test
     public void testCSVCommonsUpsert() throws Exception {
         CSVParser parser = null;
@@ -766,4 +773,32 @@ public class CSVCommonsLoaderIT extends 
ParallelStatsDisabledIT {
         }
 
     }
+
+    @Test public void testLowerCaseTable() throws Exception {
+        Connection conn = DriverManager.getConnection(getUrl());
+        conn.setAutoCommit(true);
+        String tableName = generateUniqueName().toLowerCase();
+        String t1 = generateUniqueName();
+        String t2 = t1 + generateUniqueName();
+        String csvFileName = "test.csv";
+        conn.createStatement().execute("CREATE TABLE \"" + tableName
+            + "\" (k1 VARCHAR NOT NULL, k2 VARCHAR, CONSTRAINT PK PRIMARY 
KEY(K1,K2))");
+        File tempFile = tempFolder.newFile(csvFileName);
+        FileUtils.writeStringToFile(tempFile, "'" + t1 + "','x'");
+        try {
+            CSVCommonsLoader csvLoader =
+                new CSVCommonsLoader(conn.unwrap(PhoenixConnection.class), "" 
+ tableName + "",
+                    null, false, ',', '"', '\\', null);
+            csvLoader.upsert(tempFile.getAbsolutePath());
+        } catch (Exception e) {
+            fail("Failed with Exception:" + e.getMessage());
+        }
+        ResultSet rs =
+            conn.createStatement().executeQuery("SELECT * FROM \"" + tableName 
+ "\" order by k2");
+        assertTrue(rs.next());
+        assertEquals("'"+t1+"'",rs.getString(1));
+        assertEquals("'"+"x"+"'",rs.getString(2));
+        assertFalse(rs.next());
+
+    }
 }
\ No newline at end of file
diff --git 
a/phoenix-core/src/main/java/org/apache/phoenix/util/CSVCommonsLoader.java 
b/phoenix-core/src/main/java/org/apache/phoenix/util/CSVCommonsLoader.java
index 024e3cd..bd98bff 100644
--- a/phoenix-core/src/main/java/org/apache/phoenix/util/CSVCommonsLoader.java
+++ b/phoenix-core/src/main/java/org/apache/phoenix/util/CSVCommonsLoader.java
@@ -211,7 +211,8 @@ public class CSVCommonsLoader {
             long start = System.currentTimeMillis();
             CsvUpsertListener upsertListener = new CsvUpsertListener(conn,
                     conn.getMutateBatchSize(), isStrict);
-            CsvUpsertExecutor csvUpsertExecutor = new CsvUpsertExecutor(conn, 
tableName,
+            CsvUpsertExecutor csvUpsertExecutor = new CsvUpsertExecutor(conn,
+                SchemaUtil.getEscapedFullTableName(tableName),
                     columnInfoList, upsertListener, arrayElementSeparator);
 
             csvUpsertExecutor.execute(csvParser);

Reply via email to