|
@@ -895,7 +895,7 @@ public class HPCCDatabaseMetaData implements DatabaseMetaData {
|
|
|
|
|
|
@Override
|
|
|
public boolean supportsOuterJoins() throws SQLException {
|
|
|
- return true;
|
|
|
+ return false;
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -1214,6 +1214,7 @@ public class HPCCDatabaseMetaData implements DatabaseMetaData {
|
|
|
if (!isQuerySetMetaDataCached())
|
|
|
setQuerySetMetaDataCached(fetchHPCCQueriesInfo());
|
|
|
|
|
|
+ boolean wildprocsearch = procedureNamePattern == null || procedureNamePattern.length()==0 || procedureNamePattern.contains("*") || procedureNamePattern.contains("%");
|
|
|
System.out.println("ECLDATABASEMETADATA GETPROCS catalog: " + catalog +", schemaPattern: " + schemaPattern + ", procedureNamePattern: " + procedureNamePattern);
|
|
|
|
|
|
metacols.add(new HPCCColumnMetaData("PROCEDURE_CAT", 1, java.sql.Types.VARCHAR));
|
|
@@ -1231,19 +1232,22 @@ public class HPCCDatabaseMetaData implements DatabaseMetaData {
|
|
|
HPCCQuery query = (HPCCQuery) queries.nextElement();
|
|
|
String queryname = query.getName();
|
|
|
|
|
|
- //if(!wildproceduresearch && !procedureNamePattern.equalsIgnoreCase(queryname))
|
|
|
- // continue;
|
|
|
+ if(!wildprocsearch && !query.isQueryNameMatch(procedureNamePattern))
|
|
|
+ continue;
|
|
|
|
|
|
- ArrayList rowValues = new ArrayList();
|
|
|
- procedures.add(rowValues);
|
|
|
- rowValues.add("");
|
|
|
- rowValues.add(query.getQuerySet());
|
|
|
- rowValues.add(query.getQuerySet()+"::"+queryname);
|
|
|
- rowValues.add("");
|
|
|
- rowValues.add("");
|
|
|
- rowValues.add("");
|
|
|
- rowValues.add("QuerySet: " + query.getQuerySet());
|
|
|
- rowValues.add(procedureResultUnknown);
|
|
|
+ ArrayList rowValues = new ArrayList();
|
|
|
+ procedures.add(rowValues);
|
|
|
+ rowValues.add("");
|
|
|
+ rowValues.add(query.getQuerySet());
|
|
|
+ rowValues.add(query.getQuerySet()+"::"+queryname);
|
|
|
+ rowValues.add("");
|
|
|
+ rowValues.add("");
|
|
|
+ rowValues.add("");
|
|
|
+ rowValues.add("QuerySet: " + query.getQuerySet());
|
|
|
+ rowValues.add(procedureResultUnknown);
|
|
|
+
|
|
|
+ if(!wildprocsearch)
|
|
|
+ break;
|
|
|
}
|
|
|
|
|
|
return new HPCCResultSet(procedures, metacols, "Procedures");
|
|
@@ -1260,8 +1264,6 @@ public class HPCCDatabaseMetaData implements DatabaseMetaData {
|
|
|
if (!isQuerySetMetaDataCached())
|
|
|
setQuerySetMetaDataCached(fetchHPCCQueriesInfo());
|
|
|
|
|
|
- System.out.println("ECLDATABASEMETADATA GETPROCS catalog: " + catalog +", schemaPattern: " + schemaPattern + ", procedureNamePattern: " + procedureNamePattern);
|
|
|
-
|
|
|
boolean wildprocsearch = procedureNamePattern == null || procedureNamePattern.length()==0 || procedureNamePattern.contains("*") || procedureNamePattern.contains("%");
|
|
|
boolean wildcolumnsearch = columnNamePattern == null || columnNamePattern.length()==0 || columnNamePattern.contains("*") || columnNamePattern.contains("%");
|
|
|
|
|
@@ -1285,31 +1287,29 @@ public class HPCCDatabaseMetaData implements DatabaseMetaData {
|
|
|
while(queries.hasMoreElements())
|
|
|
{
|
|
|
HPCCQuery query = (HPCCQuery)queries.nextElement();
|
|
|
- String eclqueryname = query.getName();
|
|
|
- if(!wildprocsearch && !procedureNamePattern.equalsIgnoreCase(eclqueryname))
|
|
|
- continue;
|
|
|
|
|
|
- String tablename = query.getDefaultTableName();
|
|
|
+ if(!wildprocsearch && !query.isQueryNameMatch(procedureNamePattern))
|
|
|
+ continue;
|
|
|
|
|
|
- Iterator<HPCCColumnMetaData> e = query.getAllFields().iterator();
|
|
|
+ Iterator<HPCCColumnMetaData> queryfields = query.getAllFields().iterator();
|
|
|
|
|
|
- while (e.hasNext())
|
|
|
+ while (queryfields.hasNext())
|
|
|
{
|
|
|
- HPCCColumnMetaData col = (HPCCColumnMetaData)e.next();
|
|
|
+ HPCCColumnMetaData col = (HPCCColumnMetaData)queryfields.next();
|
|
|
String fieldname = col.getColumnName();
|
|
|
if(!wildcolumnsearch && !columnNamePattern.equalsIgnoreCase(fieldname))
|
|
|
continue;
|
|
|
|
|
|
- coltype = getProcFieldType(eclqueryname,tablename, fieldname);
|
|
|
+ coltype = col.getSqlType();
|
|
|
|
|
|
- System.out.println("Proc col Found: " + eclqueryname+"#"+tablename+"."+fieldname + " of type: " + coltype + "("+convertSQLtype2JavaClassName(coltype)+")");
|
|
|
+ System.out.println("Proc col Found: " + query.getName() + "." + fieldname + " of type: " + coltype + "("+convertSQLtype2JavaClassName(coltype)+")");
|
|
|
|
|
|
ArrayList rowValues = new ArrayList();
|
|
|
procedurecols.add(rowValues);
|
|
|
|
|
|
/* 1*/rowValues.add(catalog);
|
|
|
/* 2*/rowValues.add(schemaPattern);
|
|
|
- /* 3*/rowValues.add(query.getName());
|
|
|
+ /* 3*/rowValues.add(query.getQuerySet()+"::"+query.getName());
|
|
|
/* 4*/rowValues.add(fieldname);
|
|
|
/* 5*/rowValues.add(col.getParamType());
|
|
|
/* 6*/rowValues.add(coltype);
|
|
@@ -1517,7 +1517,6 @@ public class HPCCDatabaseMetaData implements DatabaseMetaData {
|
|
|
while(files.hasMoreElements())
|
|
|
{
|
|
|
DFUFile file = (DFUFile)files.nextElement();
|
|
|
- //String filename = file.getFileName();
|
|
|
String filename = file.getFullyQualifiedName();
|
|
|
if(!wildtablesearch && !tableNamePattern.equalsIgnoreCase(filename))
|
|
|
continue;
|