5
0
mirror of https://github.com/apache/sqoop.git synced 2025-05-03 06:21:11 +08:00

SQOOP-22. Sqoop date tests are too permissive.

Ensure that tests involving dates/times use proper ANSI SQL Date/Time escape
formatting (yyyy-mm-dd or hh:mm:ss). After Java 1.6u17, dates of the form
yyyy-m-dd or hhⓂ️ss are not parsed by java.sql.Date/Time and throw
IllegalArgumentException.

From: Aaron Kimball <aaron@cloudera.com>

git-svn-id: https://svn.apache.org/repos/asf/incubator/sqoop/trunk@1149934 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Andrew Bayer 2011-07-22 20:04:03 +00:00
parent 6ea1665716
commit 7e473cafa0
2 changed files with 3 additions and 10 deletions

View File

@ -633,7 +633,7 @@ protected ColumnGenerator getDateColumnGenerator() {
return new ColumnGenerator() { return new ColumnGenerator() {
public String getExportText(int rowNum) { public String getExportText(int rowNum) {
int day = rowNum + 1; int day = rowNum + 1;
return "2009-10-" + day; return "2009-10-" + pad(day);
} }
public String getVerifyText(int rowNum) { public String getVerifyText(int rowNum) {
int day = rowNum + 1; int day = rowNum + 1;
@ -651,7 +651,7 @@ public String getType() {
protected ColumnGenerator getTimeColumnGenerator() { protected ColumnGenerator getTimeColumnGenerator() {
return new ColumnGenerator() { return new ColumnGenerator() {
public String getExportText(int rowNum) { public String getExportText(int rowNum) {
return "10:01:" + rowNum; return "10:01:" + pad(rowNum);
} }
public String getVerifyText(int rowNum) { public String getVerifyText(int rowNum) {
return "10:01:" + pad(rowNum); return "10:01:" + pad(rowNum);

View File

@ -721,20 +721,13 @@ public void testDouble2() {
@Test @Test
public void testDate1() { public void testDate1() {
verifyType("DATE", getDateInsertStr("'2009-1-12'"),
getDateDbOutput("2009-01-12"),
getDateSeqOutput("2009-01-12"));
}
@Test
public void testDate2() {
verifyType("DATE", getDateInsertStr("'2009-01-12'"), verifyType("DATE", getDateInsertStr("'2009-01-12'"),
getDateDbOutput("2009-01-12"), getDateDbOutput("2009-01-12"),
getDateSeqOutput("2009-01-12")); getDateSeqOutput("2009-01-12"));
} }
@Test @Test
public void testDate3() { public void testDate2() {
verifyType("DATE", getDateInsertStr("'2009-04-24'"), verifyType("DATE", getDateInsertStr("'2009-04-24'"),
getDateDbOutput("2009-04-24"), getDateDbOutput("2009-04-24"),
getDateSeqOutput("2009-04-24")); getDateSeqOutput("2009-04-24"));