[ https://issues.apache.org/jira/browse/PHOENIX-3421?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
James Taylor updated PHOENIX-3421: ---------------------------------- Attachment: PHOENIX-3421_addendum1.patch This keeps the old, deprecated methods as-is and introduces new methods for the new lookup, encode, and decode: {code} public static byte[] encodeColumnValues(Connection conn, String fullTableName, Object[] values, List<Pair<String, String>> columns) throws SQLException public static Object[] decodeColumnValues(Connection conn, String fullTableName, byte[] value, List<Pair<String, String>> columns) throws SQLException public static List<Pair<String, String>> getPkColsForSql(Connection conn, QueryPlan plan) throws SQLException {code} Please review, [~samarthjain] > Column name lookups fail when on an indexed table > ------------------------------------------------- > > Key: PHOENIX-3421 > URL: https://issues.apache.org/jira/browse/PHOENIX-3421 > Project: Phoenix > Issue Type: Bug > Affects Versions: 4.8.0 > Reporter: Cody Marcel > Assignee: James Taylor > Fix For: 4.9.0 > > Attachments: DebuggerWindow.png, PHOENIX-3421.patch, > PHOENIX-3421_addendum1.patch > > > Using an index the lookup for encoded values fails. > This happens on tables when using an index. > The conflict is essentially between the two methods below. The pkColsList > create by getPkColsDataTypesForSql() returns column names without a ":", but > the encodeValues() method does a lookup on PTable for the column and cannot > find it. > PhoenixRuntime.getPkColsDataTypesForSql(pkColsList, dataTypesList, queryPlan, > connection, true); > PhoenixRuntime.encodeValues(connection, queryPlanTableName, objects , > pkColsList); -- This message was sent by Atlassian JIRA (v6.3.4#6332)