Skip to content

Instantly share code, notes, and snippets.

@bthompson-nd
Created October 7, 2022 20:40
Show Gist options
  • Select an option

  • Save bthompson-nd/6fe2b638f0fc1ca417f9c2cc0cb423d3 to your computer and use it in GitHub Desktop.

Select an option

Save bthompson-nd/6fe2b638f0fc1ca417f9c2cc0cb423d3 to your computer and use it in GitHub Desktop.
A helper function compatible with a MySQL 8 ResultSet that will return a Dynamic column. Meant to be used as a Routine in Talend 6.5.1
package routines;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.ArrayList;
import routines.system.Dynamic;
import routines.system.DynamicMetadata;
public class MySQL8Ops {
public static Dynamic ResultSetToDynamic(ResultSet resultSet) throws SQLException {
ResultSetMetaData rsmd = resultSet.getMetaData();
int sql_column_count = rsmd.getColumnCount();
Dynamic d = new Dynamic();
ArrayList<DynamicMetadata> dm_list = new ArrayList<DynamicMetadata>();
for (int i=1; i <= sql_column_count; i++) {
DynamicMetadata dm = new DynamicMetadata();
dm.setName(rsmd.getColumnName(i));
dm.setDbType(rsmd.getColumnTypeName(i));
dm.setDbName("mysql");
dm.setType("String");
dm.setColumnPosition(i-1);
dm_list.add(dm);
d.metadatas = dm_list;
d.setDbmsId("mysql");
d.setColumnValue(i-1, resultSet.getObject(i).toString());
}
return d;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment