You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by ga...@apache.org on 2012/08/29 18:00:20 UTC
svn commit: r1378625 - in /pig/trunk/contrib: CHANGES.txt
piggybank/java/src/main/java/org/apache/pig/piggybank/storage/DBStorage.java
piggybank/java/src/test/java/org/apache/pig/piggybank/test/storage/TestDBStorage.java
Author: gates
Date: Wed Aug 29 16:00:20 2012
New Revision: 1378625
URL: http://svn.apache.org/viewvc?rev=1378625&view=rev
Log:
PIG-2893 fix DBStorage compile issue
Modified:
pig/trunk/contrib/CHANGES.txt
pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/DBStorage.java
pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/storage/TestDBStorage.java
Modified: pig/trunk/contrib/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/CHANGES.txt?rev=1378625&r1=1378624&r2=1378625&view=diff
==============================================================================
--- pig/trunk/contrib/CHANGES.txt (original)
+++ pig/trunk/contrib/CHANGES.txt Wed Aug 29 16:00:20 2012
@@ -56,6 +56,8 @@ OPTIMIZATIONS
BUG FIXES
+PIG-2893 fix DBStorage compile issue (thejas via gates)
+
PIG-2195 AvroStorage fails to STORE when LOADing via PigStorage (billgraham via gates)
PIG-1839 XMLLoader will always add an extra empty tuple even if no tags are
Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/DBStorage.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/DBStorage.java?rev=1378625&r1=1378624&r2=1378625&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/DBStorage.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/DBStorage.java Wed Aug 29 16:00:20 2012
@@ -118,7 +118,7 @@ public class DBStorage extends StoreFunc
break;
case DataType.DATETIME:
- ps.setDate(sqlPos, ((DateTime) field).toDate());
+ ps.setDate(sqlPos, new Date(((DateTime) field).getMillis()));
sqlPos++;
break;
Modified: pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/storage/TestDBStorage.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/storage/TestDBStorage.java?rev=1378625&r1=1378624&r2=1378625&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/storage/TestDBStorage.java (original)
+++ pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/storage/TestDBStorage.java Wed Aug 29 16:00:20 2012
@@ -29,6 +29,7 @@ import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
+import java.sql.Date;
import java.util.List;
import org.apache.pig.ExecType;
@@ -90,16 +91,16 @@ public class TestDBStorage extends TestC
private void createFile() throws IOException {
PrintWriter w = new PrintWriter(new FileWriter(INPUT_FILE));
w = new PrintWriter(new FileWriter(INPUT_FILE));
- w.println("100\tapple\t1.0");
- w.println("100\torange\t2.0");
- w.println("100\tbanana\t1.1");
+ w.println("100\tapple\t1.0\t2008-01-01");
+ w.println("100\torange\t2.0\t2008-02-01");
+ w.println("100\tbanana\t1.1\t2008-03-01");
w.close();
Util.copyFromLocalToCluster(cluster, INPUT_FILE, INPUT_FILE);
}
private void createTable() throws IOException {
Connection con = null;
- String sql = "create table ttt (id integer, name varchar(32), ratio double)";
+ String sql = "create table ttt (id integer, name varchar(32), ratio double, dt date)";
try {
con = DriverManager.getConnection(url, user, password);
} catch (SQLException sqe) {
@@ -148,12 +149,12 @@ public class TestDBStorage extends TestC
}
public void testWriteToDB() throws IOException {
- String insertQuery = "insert into ttt (id, name, ratio) values (?,?,?)";
+ String insertQuery = "insert into ttt (id, name, ratio, dt) values (?,?,?,?)";
pigServer.setBatchOn();
String dbStore = "org.apache.pig.piggybank.storage.DBStorage('" + driver
+ "', '" + url + "', '" + insertQuery + "');";
pigServer.registerQuery("A = LOAD '" + INPUT_FILE
- + "' as (id:int, fruit:chararray, ratio:double);");
+ + "' as (id:int, fruit:chararray, ratio:double, dt : datetime);");
pigServer.registerQuery("STORE A INTO 'dummy' USING " + dbStore);
ExecJob job = pigServer.executeBatch().get(0);
try {
@@ -165,7 +166,7 @@ public class TestDBStorage extends TestC
ExecJob.JOB_STATUS.FAILED);
Connection con = null;
- String selectQuery = "select id, name, ratio from ttt order by name";
+ String selectQuery = "select id, name, ratio, dt from ttt order by name";
try {
con = DriverManager.getConnection(url, user, password);
} catch (SQLException sqe) {
@@ -179,11 +180,14 @@ public class TestDBStorage extends TestC
int expId = 100;
String[] expNames = { "apple", "banana", "orange" };
double[] expRatios = { 1.0, 1.1, 2.0 };
+ Date [] expDates = {new Date(2008,01,01),new Date(2008,02,01),new Date(2008,03,01)};
for (int i = 0; i < 3 && rs.next(); i++) {
assertEquals("Id mismatch", expId, rs.getInt(1));
assertEquals("Name mismatch", expNames[i], rs.getString(2));
assertEquals("Ratio mismatch", expRatios[i], rs.getDouble(3), 0.0001);
+ assertEquals("Date mismatch", expDates[i], rs.getDate(4));
}
+
} catch (SQLException sqe) {
throw new IOException(
"Unable to read data from database for verification", sqe);