diff --git a/src/main/java/com/treasuredata/client/TDClient.java b/src/main/java/com/treasuredata/client/TDClient.java index 266ac793..72959a5b 100644 --- a/src/main/java/com/treasuredata/client/TDClient.java +++ b/src/main/java/com/treasuredata/client/TDClient.java @@ -622,6 +622,18 @@ public void appendTableSchema(String databaseName, String tableName, List void appendTableSchema(String databaseName, String tableName, List newSchema); + void updateExpire(String databaseName, String tableName, int expireDays); + /** * Submit a new job request * diff --git a/src/main/java/com/treasuredata/client/TDClientConfig.java b/src/main/java/com/treasuredata/client/TDClientConfig.java index 04752105..54e79e81 100644 --- a/src/main/java/com/treasuredata/client/TDClientConfig.java +++ b/src/main/java/com/treasuredata/client/TDClientConfig.java @@ -66,7 +66,7 @@ public static enum Type PROXY_HOST("td.client.proxy.host", "Proxy host (e.g., myproxy.com)"), PROXY_PORT("td.client.proxy.port", "Proxy port number"), PROXY_USER("td.client.proxy.user", "Proxy user name"), - PROXY_PASSWORD("td.client.proxy.password", "Proxy paassword"), + PROXY_PASSWORD("td.client.proxy.password", "Proxy password"), PROXY_USESSL("td.client.proxy.usessl", "Use SSL for proxy"); public final String key; diff --git a/src/test/java/com/treasuredata/client/TestTDClient.java b/src/test/java/com/treasuredata/client/TestTDClient.java index 1a5391a7..b0b01205 100644 --- a/src/test/java/com/treasuredata/client/TestTDClient.java +++ b/src/test/java/com/treasuredata/client/TestTDClient.java @@ -939,6 +939,47 @@ public void tableOperation() } } + @Test + public void updateExpireTest() + throws Exception + { + String t = newTemporaryName("expire_test"); + + try { + client.deleteTableIfExists(SAMPLE_DB, t); + client.createTableIfNotExists(SAMPLE_DB, t); + + // Test updating expire days + int expireDays = 30; + client.updateExpire(SAMPLE_DB, t, expireDays); + + // Verify the expire days were updated + TDTable updatedTable = findTable(SAMPLE_DB, t).get(); + assertEquals(Integer.toString(expireDays), updatedTable.getExpireDays()); + + // Test updating to different expire days + int newExpireDays = 60; + client.updateExpire(SAMPLE_DB, t, newExpireDays); + + // Verify the expire days were updated again + updatedTable = findTable(SAMPLE_DB, t).get(); + assertEquals(Integer.toString(newExpireDays), updatedTable.getExpireDays()); + + // Test error case - table doesn't exist + try { + client.updateExpire(SAMPLE_DB, "nonexistent_table", 30); + fail("should not reach here"); + } + catch (TDClientHttpNotFoundException e) { + // OK + assertEquals(HttpStatus.NOT_FOUND_404, e.getStatusCode()); + } + } + finally { + client.deleteTableIfExists(SAMPLE_DB, t); + } + } + @Test public void createTableWithoutIdempotentKey() throws Exception