01: /*
02: * ProcedureReader.java
03: *
04: * This file is part of SQL Workbench/J, http://www.sql-workbench.net
05: *
06: * Copyright 2002-2008, Thomas Kellerer
07: * No part of this code maybe reused without the permission of the author
08: *
09: * To contact the author please send an email to: support@sql-workbench.net
10: *
11: */
12: package workbench.db;
13:
14: import java.sql.SQLException;
15: import workbench.storage.DataStore;
16:
17: /**
18: * Read the definition (source, parameters etc) of a stored procedures from
19: * the database
20: * @author support@sql-workbench.net
21: */
22: public interface ProcedureReader {
23: // Column index definition for the procedure list
24: public static final int COLUMN_IDX_PROC_LIST_NAME = 0;
25: public static final int COLUMN_IDX_PROC_LIST_TYPE = 1;
26: public static final int COLUMN_IDX_PROC_LIST_CATALOG = 2;
27: public static final int COLUMN_IDX_PROC_LIST_SCHEMA = 3;
28: public static final int COLUMN_IDX_PROC_LIST_REMARKS = 4;
29:
30: // column index definitions for the list of procedure columns
31: public final static int COLUMN_IDX_PROC_COLUMNS_COL_NAME = 0;
32: public final static int COLUMN_IDX_PROC_COLUMNS_RESULT_TYPE = 1;
33: public final static int COLUMN_IDX_PROC_COLUMNS_DATA_TYPE = 2;
34: public final static int COLUMN_IDX_PROC_COLUMNS_JDBC_DATA_TYPE = 3;
35: public final static int COLUMN_IDX_PROC_COLUMNS_REMARKS = 4;
36:
37: public static final String PROC_RESULT_UNKNOWN = "";
38: public static final String PROC_RESULT_YES = "RESULT";
39: public static final String PROC_RESULT_NO = "NO RESULT";
40:
41: StringBuilder getProcedureHeader(String catalog, String schema,
42: String procName, int procType);
43:
44: boolean procedureExists(String catalog, String schema, String name,
45: int type);
46:
47: DataStore getProcedures(String aCatalog, String aSchema)
48: throws SQLException;
49:
50: DataStore getProcedureColumns(String aCatalog, String aSchema,
51: String aProcname) throws SQLException;
52:
53: void readProcedureSource(ProcedureDefinition def)
54: throws NoConfigException;
55: }
|