01: /*
02: * Created on Jul 2, 2004
03: *
04: * To change the template for this generated file go to
05: * Window>Preferences>Java>Code Generation>Code and Comments
06: */
07: package com.pk;
08:
09: import java.sql.Connection;
10: import java.sql.SQLException;
11: import java.util.Vector;
12:
13: /**
14: * @author Isabelle
15: *
16: * To change the template for this generated type comment go to
17: * Window>Preferences>Java>Code Generation>Code and Comments
18: */
19: public interface DatabaseDialect {
20: public Vector getKeywords();
21:
22: public String getTableInfoSQLString(String argTableName,
23: ConnectionInformation argConnectionInformation);
24:
25: public String getIndexInfoSQLString(String argTableName,
26: ConnectionInformation argConnectionInformation);
27:
28: public String getProcedureInfoSQLString(String argProcedureName,
29: ConnectionInformation argConnectionInformation);
30:
31: public String getPackageInfoSQLString(String argProcedureName,
32: ConnectionInformation argConnectionInformation);
33:
34: //this method should return true if the query will return a resultset
35: //If the query is an update or modify statement it should return false
36: public boolean isSelectStatement(String argStatement);
37:
38: //this method should return true if the databse dialect needs to modify the query
39: //to display table information.
40: //i.e the Oracle database could use the following query to do a 'describe' on a table
41: //SELECT COLUMN_NAME, DECODE(NULLABLE,'N', 'NOT NULL', 'Y', NULL) AS NULLABLE, DATA_TYPE, DECODE(DATA_TYPE, 'VARCHAR2', TO_CHAR(DATA_LENGTH), 'NUMBER', DECODE(DATA_SCALE,0,TO_CHAR(DATA_PRECISION),NULL,NULL,DATA_PRECISION||','||DATA_SCALE)) AS \SIZE\ FROM ALL_TAB_COLUMNS WHERE TABLE_NAME = <Table Name> ORDER BY COLUMN_ID
42: public boolean isDescribeStatement(String argStatement);
43:
44: //This method should take the text that was entered in the text box and transform it in to
45: // a SQL statement that will return all information on the specified table.
46: public String getDescribeSQLString(String argQuery,
47: ConnectionInformation argConnectionInformation);
48:
49: public String doExecutePlan(String argStatement,
50: ConnectionInformation argConnectionInformation,
51: Connection argConnection) throws SQLException;
52: }
|