column.getTypeName(), // TYPE_NAME
private List<ColumnDesc> getResultSchemaInternal(OperationHandle operationHandle) throws SQLException { ImmutableList.Builder<ColumnDesc> listBuilder = ImmutableList.builder(); if (operationHandle.hasResultSet()) { TableSchema tableSchema = cliService.getResultSetMetadata(operationHandle); for (ColumnDescriptor colDesc : tableSchema.getColumnDescriptors()) { listBuilder.add(new ColumnDesc(colDesc.getName(), colDesc.getTypeName(), colDesc.getOrdinalPosition(), colDesc.getComment())); } } return listBuilder.build(); }
private List<ColumnDesc> getResultSchemaInternal(OperationHandle operationHandle) throws SQLException { ImmutableList.Builder<ColumnDesc> listBuilder = ImmutableList.builder(); if (operationHandle.hasResultSet()) { TableSchema tableSchema = cliService.getResultSetMetadata(operationHandle); for (ColumnDescriptor colDesc : tableSchema.getColumnDescriptors()) { listBuilder.add(new ColumnDesc(colDesc.getName(), colDesc.getTypeName(), colDesc.getOrdinalPosition(), colDesc.getComment())); } } return listBuilder.build(); }
@Override public void assertFunctionCall(String functionCallString, Object expectedOutputData, Object expectedOutputType) { String query = "SELECT " + functionCallString; try { // Execute the SQL statement and fetch the result OperationHandle handle = _client.executeStatement(_sessionHandle, query, null); if (handle.hasResultSet()) { RowSet rowSet = _client.fetchResults(handle); if (rowSet.numRows() > 1 || rowSet.numColumns() > 1) { throw new RuntimeException( "Expected 1 row and 1 column in query output. Received " + rowSet.numRows() + " rows and " + rowSet.numColumns() + " columns.\nQuery: \"" + query + "\""); } Object[] row = rowSet.iterator().next(); Object result = row[0]; Assert.assertEquals(result, expectedOutputData, "UDF output does not match"); // Get the output data type and convert them to TypeInfo to compare ColumnDescriptor outputColumnDescriptor = _client.getResultSetMetadata(handle).getColumnDescriptors().get(0); Assert.assertEquals(TypeInfoUtils.getTypeInfoFromTypeString(outputColumnDescriptor.getTypeName().toLowerCase()), TypeInfoUtils.getTypeInfoFromObjectInspector((ObjectInspector) expectedOutputType), "UDF output type does not match"); } else { throw new RuntimeException("Query did not return any rows. Query: \"" + query + "\""); } } catch (HiveSQLException e) { throw new RuntimeException("Error running Hive query: \"" + query + "\"", e); } } }
assertTrue(columns.get(0).getName().toLowerCase().equals(expectedCol.toLowerCase()) || columns.get(0).getName().toLowerCase().equals("ID".toLowerCase())); assertEquals(columns.get(0).getTypeName().toLowerCase(), "STRING".toLowerCase());
assertEquals(col1.getTypeName().toLowerCase(), "int"); assertEquals(col1.getName(), "time_key".toUpperCase()); assertEquals(col2.getTypeName().toLowerCase(), "int"); assertEquals(col2.getName(), "day_of_week".toUpperCase()); assertEquals(col3.getTypeName().toLowerCase(), "date"); assertEquals(col3.getName(), "day".toUpperCase()); assertEquals(col4.getTypeName().toLowerCase(), "double"); assertEquals(col4.getName(), "c4".toUpperCase());
assertEquals(col1.getTypeName().toLowerCase(), "double"); assertEquals(col1.getName(), "C1"); assertEquals(col2.getTypeName().toLowerCase(), "string"); assertEquals(col2.getName(), "C2"); assertEquals(col3.getTypeName().toLowerCase(), "string"); assertEquals(col3.getName(), "C3"); assertEquals(col4.getTypeName().toLowerCase(), "string"); assertEquals(col4.getName(), "C4");
assertEquals(col1.getTypeName().toLowerCase(), "int"); assertEquals(col1.getName(), "time_key".toUpperCase()); assertEquals(col2.getTypeName().toLowerCase(), "int"); assertEquals(col2.getName(), "day_of_week".toUpperCase()); assertEquals(col3.getTypeName().toLowerCase(), "date"); assertEquals(col3.getName(), "day".toUpperCase()); assertEquals(col4.getTypeName().toLowerCase(), "double"); assertEquals(col4.getName(), "c4".toUpperCase());
column.getTypeName(), // TYPE_NAME
assertEquals(col1.getTypeName().toLowerCase(), "int"); assertEquals(col1.getName(), "ID");
assertEquals(col1.getTypeName().toLowerCase(), "int"); assertEquals(col1.getName(), "ID");
column.getTypeName(), // TYPE_NAME
column.getTypeName(), // TYPE_NAME
column.getTypeName(), // TYPE_NAME
column.getTypeName(), // TYPE_NAME
assertEquals(col1.getTypeName().toLowerCase(), "int"); assertEquals(col1.getName(), "ID"); System.out.println("Matched metadata");