bug fixed to retrieve columns names in a correct order (defined in the database schema) for the sampling operations, for the getTableDetails. Updates in Sampler, DatabasesManager and PostgresTableStructure classes.
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/data-access/DatabasesResourcesManager@98845 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
7762f7a162
commit
83df040993
|
@ -45,8 +45,16 @@ public class Sampler {
|
|||
private static final String queryForRandomSampleOnTablePostgres = "select %1$s from %2$s order by random() limit 100";
|
||||
|
||||
// query to get columns' name
|
||||
private static final String queryForColumnsPostgres = "SELECT column_name FROM information_schema.COLUMNS WHERE table_name ='%1$s' and table_schema='%2$s'";
|
||||
private static final String queryForColumnsMysql = "SELECT column_name FROM information_schema.COLUMNS WHERE table_name ='%1$s' and table_schema='%2$s'";
|
||||
private static final String queryForColumnsPostgres = "SELECT column_name FROM information_schema.COLUMNS WHERE table_name ='%1$s' and table_schema='%2$s' order by ordinal_position asc"; // order
|
||||
// rows
|
||||
// in
|
||||
// ascending
|
||||
// order
|
||||
// on
|
||||
// the
|
||||
// ordinal_position
|
||||
// attribute
|
||||
private static final String queryForColumnsMysql = "SELECT column_name FROM information_schema.COLUMNS WHERE table_name ='%1$s' and table_schema='%2$s'order by ordinal_position asc";
|
||||
|
||||
private static final String MYSQL = "MySQL";
|
||||
private static final String POSTGRES = "Postgres";
|
||||
|
@ -263,6 +271,7 @@ public class Sampler {
|
|||
// AnalysisLogger.getLogger().debug(
|
||||
// "DatabaseManagement->size: " + columnsSet.size());
|
||||
|
||||
|
||||
for (int i = 0; i < columnsSet.size(); i++) {
|
||||
|
||||
Object element = columnsSet.get(i);
|
||||
|
|
|
@ -271,7 +271,7 @@ public class PostgresTableStructure extends AbstractTableStructure {
|
|||
|
||||
// String queryForStructure =
|
||||
// "SELECT table_schema,table_name,column_name,column_default,is_nullable,data_type,character_maximum_length,character_set_name FROM information_schema.COLUMNS WHERE table_name ='%1$s' and table_schema='%2$s';";
|
||||
String queryForStructure = "SELECT column_name,column_default,is_nullable,data_type,character_maximum_length,udt_name FROM information_schema.COLUMNS WHERE table_name ='%1$s' and table_schema='%2$s';";
|
||||
String queryForStructure = "SELECT column_name,column_default,is_nullable,data_type,character_maximum_length,udt_name FROM information_schema.COLUMNS WHERE table_name ='%1$s' and table_schema='%2$s' order by ordinal_position asc;";
|
||||
|
||||
return queryForStructure;
|
||||
|
||||
|
|
|
@ -81,12 +81,12 @@ public class DatabaseManagement {
|
|||
private static final String listSchemaNameQuery = "select nspname from pg_namespace where nspname <> 'information_schema' and nspname !~ E'^pg_'";
|
||||
|
||||
// query to retrieve datatype columns of a database table
|
||||
private static final String queryForDataTypeColumnsPostgres = "SELECT data_type FROM information_schema.COLUMNS WHERE table_name ='%1$s' and table_schema='%2$s'";
|
||||
private static final String queryForDataTypeColumnsMysql = "SELECT data_type FROM information_schema.COLUMNS WHERE table_name ='%1$s' and table_schema='%2$s'";
|
||||
private static final String queryForDataTypeColumnsPostgres = "SELECT data_type FROM information_schema.COLUMNS WHERE table_name ='%1$s' and table_schema='%2$s' order by ordinal_position asc";
|
||||
private static final String queryForDataTypeColumnsMysql = "SELECT data_type FROM information_schema.COLUMNS WHERE table_name ='%1$s' and table_schema='%2$s' order by ordinal_position asc";
|
||||
|
||||
// query to get columns' name
|
||||
private static final String queryForColumnsPostgres = "SELECT column_name FROM information_schema.COLUMNS WHERE table_name ='%1$s' and table_schema='%2$s'";
|
||||
private static final String queryForColumnsMysql = "SELECT column_name FROM information_schema.COLUMNS WHERE table_name ='%1$s' and table_schema='%2$s'";
|
||||
private static final String queryForColumnsPostgres = "SELECT column_name FROM information_schema.COLUMNS WHERE table_name ='%1$s' and table_schema='%2$s' order by ordinal_position asc";
|
||||
private static final String queryForColumnsMysql = "SELECT column_name FROM information_schema.COLUMNS WHERE table_name ='%1$s' and table_schema='%2$s' order by ordinal_position asc";
|
||||
|
||||
// Header Table that contains the column names of a table
|
||||
private String header = "";
|
||||
|
|
Loading…
Reference in New Issue