Skip to content

Commit cfb2ba6

Browse files
author
Mike Pigott
committed
ARROW-3966: Using a helper method for building a UTC calendar with root locale.
1 parent 2928513 commit cfb2ba6

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

java/adapter/jdbc/src/main/java/org/apache/arrow/adapter/jdbc/JdbcToArrow.java

+3-5
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,6 @@
2323
import java.sql.SQLException;
2424
import java.sql.Statement;
2525
import java.util.Calendar;
26-
import java.util.Locale;
27-
import java.util.TimeZone;
2826

2927
import org.apache.arrow.memory.BaseAllocator;
3028
import org.apache.arrow.memory.RootAllocator;
@@ -90,7 +88,7 @@ public static VectorSchemaRoot sqlToArrow(Connection connection, String query, B
9088
Preconditions.checkNotNull(allocator, "Memory allocator object can not be null");
9189

9290
JdbcToArrowConfig config =
93-
new JdbcToArrowConfig(allocator, Calendar.getInstance(TimeZone.getTimeZone("UTC"), Locale.ROOT), false);
91+
new JdbcToArrowConfig(allocator, JdbcToArrowUtils.getUtcCalendar(), false);
9492
return sqlToArrow(connection, query, config);
9593
}
9694

@@ -155,7 +153,7 @@ public static VectorSchemaRoot sqlToArrow(Connection connection, String query, J
155153
public static VectorSchemaRoot sqlToArrow(ResultSet resultSet) throws SQLException, IOException {
156154
Preconditions.checkNotNull(resultSet, "JDBC ResultSet object can not be null");
157155

158-
return sqlToArrow(resultSet, Calendar.getInstance(TimeZone.getTimeZone("UTC"), Locale.ROOT));
156+
return sqlToArrow(resultSet, JdbcToArrowUtils.getUtcCalendar());
159157
}
160158

161159
/**
@@ -172,7 +170,7 @@ public static VectorSchemaRoot sqlToArrow(ResultSet resultSet, BaseAllocator all
172170
Preconditions.checkNotNull(allocator, "Memory Allocator object can not be null");
173171

174172
JdbcToArrowConfig config =
175-
new JdbcToArrowConfig(allocator, Calendar.getInstance(TimeZone.getTimeZone("UTC"), Locale.ROOT), false);
173+
new JdbcToArrowConfig(allocator, JdbcToArrowUtils.getUtcCalendar(), false);
176174
return sqlToArrow(resultSet, config);
177175
}
178176

java/adapter/jdbc/src/main/java/org/apache/arrow/adapter/jdbc/JdbcToArrowUtils.java

+9
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,9 @@
3838
import java.util.Calendar;
3939
import java.util.HashMap;
4040
import java.util.List;
41+
import java.util.Locale;
4142
import java.util.Map;
43+
import java.util.TimeZone;
4244

4345
import org.apache.arrow.memory.RootAllocator;
4446
import org.apache.arrow.vector.BaseFixedWidthVector;
@@ -108,6 +110,13 @@ public static Schema jdbcToArrowSchema(ResultSetMetaData rsmd, Calendar calendar
108110
return jdbcToArrowSchema(rsmd, new JdbcToArrowConfig(new RootAllocator(0), calendar, false));
109111
}
110112

113+
/**
114+
* Returns the instance of a {java.util.Calendar} with the UTC time zone and root locale.
115+
*/
116+
public static Calendar getUtcCalendar() {
117+
return Calendar.getInstance(TimeZone.getTimeZone("UTC"), Locale.ROOT);
118+
}
119+
111120
/**
112121
* Create Arrow {@link Schema} object for the given JDBC {@link ResultSetMetaData}.
113122
*

0 commit comments

Comments
 (0)