You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@phoenix.apache.org by "James Taylor (JIRA)" <ji...@apache.org> on 2015/07/23 01:08:04 UTC
[jira] [Created] (PHOENIX-2139) LIKE '%' is not filtering out null
columns
James Taylor created PHOENIX-2139:
-------------------------------------
Summary: LIKE '%' is not filtering out null columns
Key: PHOENIX-2139
URL: https://issues.apache.org/jira/browse/PHOENIX-2139
Project: Phoenix
Issue Type: Bug
Reporter: James Taylor
Found based on PhoenixDatabaseMetaData.getColumns() not filtering when column name is null.
This test should pass:
{code}
@Test
public void testLikeEverythingExpression() throws Exception {
Connection conn = DriverManager.getConnection(getUrl());
String ddl = "CREATE TABLE t (k1 VARCHAR, k2 VARCHAR, CONSTRAINT pk PRIMARY KEY (k1,k2))";
conn.createStatement().execute(ddl);
conn.createStatement().execute("UPSERT INTO t VALUES('aa','bb')");
conn.createStatement().execute("UPSERT INTO t VALUES('ab','bc')");
conn.createStatement().execute("UPSERT INTO t VALUES(null,'cc')");
conn.createStatement().execute("UPSERT INTO t VALUES('dd',null)");
conn.commit();
ResultSet rs = conn.createStatement().executeQuery("SELECT * FROM t WHERE k1 LIKE '%'");
assertTrue(rs.next());
assertEquals("aa", rs.getString(1));
assertEquals("bb", rs.getString(2));
assertTrue(rs.next());
assertEquals("ab", rs.getString(1));
assertEquals("bc", rs.getString(2));
assertTrue(rs.next());
assertEquals("dd", rs.getString(1));
assertEquals(null, rs.getString(2));
assertFalse(rs.next());
rs = conn.createStatement().executeQuery("SELECT * FROM t WHERE k2 LIKE '%'");
assertTrue(rs.next());
assertEquals(null, rs.getString(1));
assertEquals("cc", rs.getString(2));
assertTrue(rs.next());
assertEquals("aa", rs.getString(1));
assertEquals("bb", rs.getString(2));
assertTrue(rs.next());
assertEquals("ab", rs.getString(1));
assertEquals("bc", rs.getString(2));
assertFalse(rs.next());
conn.close();
}
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)