From aa41d0635e868d422a9008ced8c88c30ce9a8209 Mon Sep 17 00:00:00 2001 From: Andrew Bayer Date: Fri, 22 Jul 2011 20:04:32 +0000 Subject: [PATCH] SQOOP-192. Limit HSQLDB export to single inserts. (Aaron Kimball via Arvind Prabhakar) From: Arvind Prabhakar git-svn-id: https://svn.apache.org/repos/asf/incubator/sqoop/trunk@1150026 13f79535-47bb-0310-9956-ffa450edef68 --- .../cloudera/sqoop/manager/HsqldbManager.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/java/com/cloudera/sqoop/manager/HsqldbManager.java b/src/java/com/cloudera/sqoop/manager/HsqldbManager.java index e79ab310..d34eee42 100644 --- a/src/java/com/cloudera/sqoop/manager/HsqldbManager.java +++ b/src/java/com/cloudera/sqoop/manager/HsqldbManager.java @@ -18,11 +18,17 @@ package com.cloudera.sqoop.manager; +import java.io.IOException; + import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import com.cloudera.sqoop.SqoopOptions; +import com.cloudera.sqoop.mapreduce.AsyncSqlOutputFormat; + +import com.cloudera.sqoop.util.ExportException; + /** * Manages connections to hsqldb databases. * Extends generic SQL manager. @@ -67,4 +73,14 @@ protected String getCurTimestampQuery() { public boolean supportsStagingForExport() { return true; } + + @Override + /** {@inheritDoc} */ + public void exportTable(ExportJobContext context) + throws IOException, ExportException { + // HSQLDB does not support multi-row inserts; disable that before export. + context.getOptions().getConf().setInt( + AsyncSqlOutputFormat.RECORDS_PER_STATEMENT_KEY, 1); + super.exportTable(context); + } }