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 2014/03/05 00:37:42 UTC

[jira] [Updated] (PHOENIX-106) NPE when adding dynamic columns to a salted table

     [ https://issues.apache.org/jira/browse/PHOENIX-106?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

James Taylor updated PHOENIX-106:
---------------------------------

    Attachment: patch.diff

> NPE when adding dynamic columns to a salted table
> -------------------------------------------------
>
>                 Key: PHOENIX-106
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-106
>             Project: Phoenix
>          Issue Type: Bug
>    Affects Versions: 3.0.0
>            Reporter: James Taylor
>            Assignee: James Taylor
>             Fix For: 3.0.0
>
>         Attachments: patch.diff
>
>
> Thanks for the test, [~samarthjain].
>     @Test
>     public void testDynamicUpsertSelect() throws Exception {
>         Connection conn = DriverManager.getConnection(getUrl());
>         String cursorDDL = " CREATE TABLE IF NOT EXISTS CURSOR (ORGANIZATION_ID VARCHAR(15) NOT NULL, \n"
>                 + "QUERY_ID VARCHAR(15) NOT NULL, \n"
>                 + "CURSOR_ORDER UNSIGNED_LONG NOT NULL, \n"
>                 + "CONSTRAINT API_HBASE_CURSOR_STORAGE_PK PRIMARY KEY (ORGANIZATION_ID, QUERY_ID, CURSOR_ORDER))\n"
>                 + "SALT_BUCKETS = 4";
>         conn.createStatement().execute(cursorDDL);
>         
>         String dataTableDDL = "CREATE TABLE IF NOT EXISTS PLINYTEST" +
>                 "(" +
>                 "ORGANIZATION_ID CHAR(15) NOT NULL, " +
>                 "PLINY_ID CHAR(15) NOT NULL, " +
>                 "CREATED_DATE DATE NOT NULL, " + 
>                 "TEXT VARCHAR, " +
>                 "CONSTRAINT PK PRIMARY KEY " +
>                 "(" +
>                 "ORGANIZATION_ID, " +
>                 "PLINY_ID, "  +
>                 "CREATED_DATE" +
>                 ")" +
>                 ")";
>         
>         conn.createStatement().execute(dataTableDDL);
>         PreparedStatement stmt = null;
>         String upsert = "UPSERT INTO PLINYTEST VALUES (?, ?, ?, ?)";
>         stmt = conn.prepareStatement(upsert);
>         stmt.setString(1, getOrganizationId());
>         stmt.setString(2, "aaaaaaaaaaaaaaa");
>         stmt.setDate(3, new Date(System.currentTimeMillis()));
>         stmt.setString(4, "text");
>         stmt.executeUpdate();
>         conn.commit();
>         
>         String upsertSelect = "UPSERT INTO CURSOR (ORGANIZATION_ID, QUERY_ID, CURSOR_ORDER, PLINY_ID CHAR(15),CREATED_DATE DATE) SELECT ?, ?, ?, PLINY_ID, CREATED_DATE FROM PLINYTEST WHERE ORGANIZATION_ID = ?";
>         stmt = conn.prepareStatement(upsertSelect);
>         String orgId = getOrganizationId();
>         stmt.setString(1, orgId);
>         stmt.setString(2, "queryqueryquery");
>         stmt.setInt(3, 1);
>         stmt.setString(4, orgId);
>         stmt.executeUpdate();
>         conn.commit();
>     }



--
This message was sent by Atlassian JIRA
(v6.2#6252)