Skip to content

Commit

Permalink
Corrected ordering for fields in Postgres tables
Browse files Browse the repository at this point in the history
  • Loading branch information
schuemie committed Jul 6, 2014
1 parent 39b3487 commit 966b7fb
Showing 1 changed file with 26 additions and 24 deletions.
50 changes: 26 additions & 24 deletions src/org/ohdsi/whiteRabbit/scan/SourceDataScan.java
Original file line number Diff line number Diff line change
Expand Up @@ -83,17 +83,17 @@ public static void main(String[] args) {
// SourceDataScan scan = new SourceDataScan();
// scan.process(dbSettings, 1000000, "s:/data/ScanReport.xlsx");

DbSettings dbSettings = new DbSettings();
dbSettings.dataType = DbSettings.DATABASE;
dbSettings.dbType = DbType.MSSQL;
dbSettings.server = "RNDUSRDHIT04";
dbSettings.database = "[HCUP-NIS]";
dbSettings.tables.add("hospital");
dbSettings.tables.add("severity");
dbSettings.tables.add("dx_pr_grps");
dbSettings.tables.add("core");
SourceDataScan scan = new SourceDataScan();
scan.process(dbSettings, 1000000, true, 25, "s:/data/ScanReport.xlsx");
DbSettings dbSettings = new DbSettings();
dbSettings.dataType = DbSettings.DATABASE;
dbSettings.dbType = DbType.MSSQL;
dbSettings.server = "RNDUSRDHIT04";
dbSettings.database = "[HCUP-NIS]";
dbSettings.tables.add("hospital");
dbSettings.tables.add("severity");
dbSettings.tables.add("dx_pr_grps");
dbSettings.tables.add("core");
SourceDataScan scan = new SourceDataScan();
scan.process(dbSettings, 1000000, true, 25, "s:/data/ScanReport.xlsx");

// DbSettings dbSettings = new DbSettings();
// dbSettings.dataType = DbSettings.DATABASE;
Expand All @@ -106,14 +106,14 @@ public static void main(String[] args) {
// dbSettings.tables.add("provider");
// SourceDataScan scan = new SourceDataScan();
// scan.process(dbSettings, 100000, true, 25, "c:/temp/ScanReport.xlsx");
//
// DbSettings dbSettings = new DbSettings();
// dbSettings.dataType = DbSettings.CSVFILES;
// dbSettings.delimiter = ',';
// dbSettings.tables.add("S:/Data/ARS/Simulation/DDRUG.csv");
// dbSettings.tables.add("S:/Data/ARS/Simulation/HOSP.csv");
// SourceDataScan scan = new SourceDataScan();
// scan.process(dbSettings, 100000, false, 25, "c:/temp/ScanReport.xlsx");
//
// DbSettings dbSettings = new DbSettings();
// dbSettings.dataType = DbSettings.CSVFILES;
// dbSettings.delimiter = ',';
// dbSettings.tables.add("S:/Data/ARS/Simulation/DDRUG.csv");
// dbSettings.tables.add("S:/Data/ARS/Simulation/HOSP.csv");
// SourceDataScan scan = new SourceDataScan();
// scan.process(dbSettings, 100000, false, 25, "c:/temp/ScanReport.xlsx");
}

public void process(DbSettings dbSettings, int sampleSize, boolean scanValues, int minCellCount, String filename) {
Expand Down Expand Up @@ -292,24 +292,26 @@ else if (dbType == DbType.ORACLE) {
} else if (dbType == DbType.POSTGRESQL)
query += " ORDER BY RANDOM() LIMIT " + sampleSize;
}
//System.out.println("SQL: " + query);
// System.out.println("SQL: " + query);
return connection.query(query);

}

private List<FieldInfo> fetchTableStructure(RichConnection connection, long rowCount, String table) {
String query = null;
String query = null;
if (dbType == DbType.ORACLE)
query = "SELECT COLUMN_NAME,DATA_TYPE FROM ALL_TAB_COLUMNS WHERE table_name = '" + table + "' AND owner = '" + database.toUpperCase() + "'";
else if (dbType == DbType.MSSQL) {
String trimmedDatabase = database;
if (database.startsWith("[") && database.endsWith("]"))
trimmedDatabase = database.substring(1,database.length()-1);
query = "SELECT COLUMN_NAME,DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_CATALOG='" + trimmedDatabase + "' AND TABLE_NAME='" + table + "';";
trimmedDatabase = database.substring(1, database.length() - 1);
query = "SELECT COLUMN_NAME,DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_CATALOG='" + trimmedDatabase + "' AND TABLE_NAME='" + table
+ "';";
} else if (dbType == DbType.MYSQL)
query = "SELECT COLUMN_NAME,DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '" + database + "' AND TABLE_NAME = '" + table + "';";
else if (dbType == DbType.POSTGRESQL)
query = "SELECT COLUMN_NAME,DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '" + database + "' AND TABLE_NAME = '" + table + "';";
query = "SELECT COLUMN_NAME,DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = '" + database.toLowerCase() + "' AND TABLE_NAME = '"
+ table.toLowerCase() + "' ORDER BY ordinal_position;";

List<FieldInfo> fieldInfos = new ArrayList<FieldInfo>();
for (org.ohdsi.utilities.files.Row row : connection.query(query)) {
Expand Down

0 comments on commit 966b7fb

Please sign in to comment.