reorg
parent
cac8c7bd14
commit
7ae08d3fa3
Binary file not shown.
|
@ -1,218 +0,0 @@
|
|||
package SQLAnalyser.visitor;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import net.sf.jsqlparser.*;
|
||||
import net.sf.jsqlparser.schema.*;
|
||||
import net.sf.jsqlparser.expression.*;
|
||||
import net.sf.jsqlparser.statement.select.*;
|
||||
import net.sf.jsqlparser.expression.operators.arithmetic.*;
|
||||
import net.sf.jsqlparser.expression.operators.conditional.*;
|
||||
import net.sf.jsqlparser.expression.operators.relational.*;
|
||||
|
||||
public class MyExpressionVisitor implements ExpressionVisitor {
|
||||
|
||||
@Override
|
||||
public void visit(Addition addition) {
|
||||
System.out.println("In ADDITION:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(AllComparisonExpression allComparisonExpression) {
|
||||
System.out.println("IN ALLCOMPARISON EXPRESSION:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(AndExpression andExpression) {
|
||||
System.out.println("IN ANDEXPRESSION:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(AnyComparisonExpression anyComparisonExpression) {
|
||||
System.out.println("IN ANYCOMPARISON EXPRESSION:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(BitwiseXor bitwiseXor) {
|
||||
System.out.println("IN BITWISE XOR:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(BitwiseOr bitwiseOr) {
|
||||
System.out.println("IN BITWISE OR:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(BitwiseAnd bitwiseAnd) {
|
||||
System.out.println("IN BITWISE AND:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(Between between) {
|
||||
System.out.println("IN BETWEEN:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(CaseExpression caseExpression) {
|
||||
System.out.println("IN CASEEXPRESSION:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(Column column) {
|
||||
System.out.println("IN COLUMN:");
|
||||
System.out.println("COLUMN NAME:"+column.getColumnName());
|
||||
System.out.println("WHOLE COLUMN NAME:"+column.getWholeColumnName());
|
||||
//Table table = column.getTable();
|
||||
//if(!table.toString().equals("null")) table.accept(new MyFromItemVisitor());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(Concat concat) {
|
||||
System.out.println("IN CONCAT:");
|
||||
System.out.println(concat.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(DateValue dateValue) {
|
||||
System.out.println("IN DATEVALUE:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(Division division) {
|
||||
System.out.println("IN DIVISION:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(DoubleValue doubleValue) {
|
||||
System.out.println("IN DOUBLEVALUE:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(EqualsTo equalsTo) {
|
||||
System.out.println("IN EQUALSTO:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(ExistsExpression existsExpression) {
|
||||
System.out.println("IN EXISTSEXPRESSION:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(Function function) {
|
||||
System.out.println("IN FUNCTION:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(GreaterThan greaterThan) {
|
||||
System.out.println("IN GREATER THAN:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(GreaterThanEquals greaterThanEquals) {
|
||||
System.out.println("IN GREATER THAN EQUALS:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(InExpression inExpression) {
|
||||
System.out.println("IN INEXPRESSION:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(InverseExpression inverseExpression) {
|
||||
System.out.println("IN INVERSE EXPRESSION:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(IsNullExpression isNullExpression) {
|
||||
System.out.println("IN ISNULL EXPRESSSION:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(JdbcParameter jdbcParameter) {
|
||||
System.out.println("IN JDBC PARAMETER:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(LikeExpression likeExpression) {
|
||||
System.out.println("IN LIKE EXPRESSION:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(LongValue longValue) {
|
||||
System.out.println("IN LONG VALUE");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(Matches matches) {
|
||||
System.out.println("IN MATCHES:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(MinorThan minorThan) {
|
||||
System.out.println("IN MINOR THAN");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(MinorThanEquals minorThanEquals) {
|
||||
System.out.println("IN MINOR THAN EQUALS:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(Multiplication multiplication) {
|
||||
System.out.println("IN MULTIPLICATION:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(NotEqualsTo notEqualsTo) {
|
||||
System.out.println("IN NOT EQUALS TO:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(NullValue nullValue) {
|
||||
System.out.println("IN NULL VALUE:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(OrExpression orExpression) {
|
||||
System.out.println("IN OR EXPRESSION:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(Parenthesis parenthesis) {
|
||||
System.out.println("IN PARENTHESIS:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(StringValue stringValue) {
|
||||
System.out.println("IN STRING VALUE:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(SubSelect subSelect) {
|
||||
System.out.println("IN SUBSELECT:");
|
||||
System.out.println(subSelect.toString());
|
||||
SelectBody selectBody = subSelect.getSelectBody();
|
||||
selectBody.accept(new MySelectVisitor());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(Subtraction substraction) {
|
||||
System.out.println("IN SUBTRACTION:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(TimestampValue timestampValue) {
|
||||
System.out.println("IN TIMESTAMP VALUE:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(TimeValue timeValue) {
|
||||
System.out.println("IN TIMEVALUE:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(WhenClause whenClause) {
|
||||
System.out.println("IN WHEN CLAUSE:");
|
||||
}
|
||||
|
||||
}
|
|
@ -1,77 +0,0 @@
|
|||
package SQLAnalyser.visitor;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import net.sf.jsqlparser.statement.select.*;
|
||||
import net.sf.jsqlparser.schema.*;
|
||||
|
||||
public class MyFromItemVisitor implements FromItemVisitor {
|
||||
|
||||
/*
|
||||
* HashMap to keep count of the number of accesses to a table.
|
||||
*/
|
||||
static HashMap<String,Integer> tableRefCount =
|
||||
new HashMap<String,Integer>(0);
|
||||
|
||||
@Override
|
||||
public void visit(SubJoin subjoin) {
|
||||
System.out.println("IN SUBJOIN:");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(SubSelect subSelect) {
|
||||
System.out.println("IN SUBSELECT:");
|
||||
System.out.println(subSelect.toString());
|
||||
SelectBody selectBody = subSelect.getSelectBody();
|
||||
selectBody.accept(new MySelectVisitor());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(Table tableName) {
|
||||
System.out.println("IN TABLE:");
|
||||
System.out.println(tableName.toString());
|
||||
System.out.println("WholeTableName: "+tableName.getWholeTableName());
|
||||
String alias = tableName.getAlias();
|
||||
if(alias != null) System.out.println("Alias: "+alias);
|
||||
String name = tableName.getName();
|
||||
System.out.println("Name: "+name);
|
||||
String schemaName = tableName.getSchemaName();
|
||||
if(schemaName != null) System.out.println("SchemaName: "+schemaName);
|
||||
|
||||
/*
|
||||
* Logic to update tableRefCount
|
||||
*/
|
||||
boolean found = false;
|
||||
Integer count = 0;
|
||||
for(String key:tableRefCount.keySet()){
|
||||
if(key.equals(name)){
|
||||
found=true;
|
||||
count = tableRefCount.get(name);
|
||||
count += 1;
|
||||
}
|
||||
}
|
||||
if(!found) tableRefCount.put(name,1);
|
||||
else tableRefCount.put(name, count);
|
||||
//End logic
|
||||
}
|
||||
|
||||
public void printTableRefCount() {
|
||||
System.out.println("");
|
||||
System.out.println("===================================================");
|
||||
System.out.printf("%10sTABLE REFERENCE COUNT:\n"," ");
|
||||
System.out.printf("TABLENAME%21sHITS\n"," ");
|
||||
System.out.println("");
|
||||
for(Map.Entry<String,Integer> entry:tableRefCount.entrySet()) {
|
||||
String key = entry.getKey();
|
||||
Integer value = entry.getValue();
|
||||
System.out.printf("%s",key);
|
||||
int numberSpaces = 30-key.length();
|
||||
int counter =0;
|
||||
while(counter < numberSpaces){ System.out.print(" "); counter++;}
|
||||
System.out.printf("%4d\n",value);
|
||||
}
|
||||
System.out.println("===================================================");
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -1,36 +0,0 @@
|
|||
package SQLAnalyser.visitor;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import net.sf.jsqlparser.*;
|
||||
import net.sf.jsqlparser.schema.*;
|
||||
import net.sf.jsqlparser.expression.*;
|
||||
import net.sf.jsqlparser.statement.select.*;
|
||||
|
||||
public class MySelectItemVisitor implements SelectItemVisitor {
|
||||
|
||||
@Override
|
||||
public void visit(AllColumns allColumns) {
|
||||
System.out.println("IN ALL COLUMNS:");
|
||||
System.out.println(allColumns.toString());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(AllTableColumns allTableColumns) {
|
||||
System.out.println("IN ALL TABLE COLUMNS:");
|
||||
System.out.println(allTableColumns.toString());
|
||||
Table table = allTableColumns.getTable();
|
||||
table.accept(new MyFromItemVisitor());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(SelectExpressionItem selectExpressionItem) {
|
||||
System.out.println("IN SELECTEXPRESSION ITEM:");
|
||||
System.out.println(selectExpressionItem.toString());
|
||||
String alias = selectExpressionItem.getAlias();
|
||||
if(alias != null) System.out.println("ALIAS: "+alias);
|
||||
Expression expression = selectExpressionItem.getExpression();
|
||||
expression.accept(new MyExpressionVisitor());
|
||||
}
|
||||
|
||||
}
|
|
@ -1,44 +0,0 @@
|
|||
package SQLAnalyser.visitor;
|
||||
|
||||
import java.util.*;
|
||||
|
||||
import net.sf.jsqlparser.statement.*;
|
||||
import net.sf.jsqlparser.statement.select.*;
|
||||
|
||||
public class MySelectVisitor implements SelectVisitor {
|
||||
|
||||
@Override
|
||||
public void visit(PlainSelect plainSelect) {
|
||||
System.out.println("IN PLAINSELECT:");
|
||||
System.out.println(plainSelect.toString());
|
||||
|
||||
List<SelectItem> selectItems = plainSelect.getSelectItems();
|
||||
if(selectItems != null) {
|
||||
System.out.println("SELECT ITEMS:");
|
||||
for(SelectItem selectItem:selectItems) {
|
||||
selectItem.accept(new MySelectItemVisitor());
|
||||
}
|
||||
}
|
||||
|
||||
FromItem fromItem = plainSelect.getFromItem();
|
||||
fromItem.accept(new MyFromItemVisitor());
|
||||
List<Join> joins = plainSelect.getJoins();
|
||||
if(joins != null) {
|
||||
System.out.println("JOINS:");
|
||||
for(Join join:joins){
|
||||
System.out.print(join.toString());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void visit(Union union) {
|
||||
System.out.println("IN UNION:");
|
||||
System.out.println(union.toString());
|
||||
List<PlainSelect> plainSelects = union.getPlainSelects();
|
||||
for(PlainSelect plainSelect:plainSelects) {
|
||||
this.visit(plainSelect);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -1,4 +1,4 @@
|
|||
package SQLAnalyser;
|
||||
package sqlanalysis;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.*;
|
|
@ -1,4 +1,4 @@
|
|||
package SQLAnalyser;
|
||||
package sqlanalysis;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.*;
|
|
@ -1,4 +1,4 @@
|
|||
package SQLAnalyserExperiment;
|
||||
package sqlanalysis;
|
||||
|
||||
import java.io.*;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package SQLAnalyser;
|
||||
package sqlanalysis;
|
||||
|
||||
import org.junit.runner.*;
|
||||
import org.junit.runner.notification.*;
|
Loading…
Reference in New Issue