/*
NO WARRANTY! See the GPL license for details.
*/
package com.hackerdude.apps.sqlide.intf;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
/**
* Database Interface.
*/
public interface SQLIDEDBInterface {
boolean supportsUserManagement();
boolean supportsTriggers();
boolean supportsRules();
/**
*
* The result set returned by this must be as follows:
* <PRE>
* COLUMN TYPE Size
* -----------------------
* HostName CHAR 60
* UserName CHAR 16
* Password CHAR 16
* CanSelect CHAR 1
* CanInsert CHAR 1
* CanUpdate CHAR 1
* CanDelete CHAR 1
* CanCreate CHAR 1
* CanDrop CHAR 1
* CanReload CHAR 1
* CanShutdown CHAR 1
* CanGrant CHAR 1
* CanIndex CHAR 1
* CanAlter CHAR 1
* </PRE>
*/
public ResultSet getUserList(Connection connection) throws SQLException;
/**
* Returns the catalog Privileges
* <PRE>
* COLUMN TYPE SIZE
* ------------------------
* HostName CHAR 60
* Catalog CHAR 64
* UserName CHAR 16
* CanSelect CHAR 1
* CanInsert CHAR 1
* CanUpdate CHAR 1
* CanDelete CHAR 1
* CanCreate CHAR 1
* CanDrop CHAR 1
* CanGrant CHAR 1
* CanIndex CHAR 1
* CanAlter CHAR 1
* </PRE>
*/
public ResultSet getCatalogPrivs(Connection conn) throws SQLException;
/**
* Return the Table Privileges
* <PRE>
* COLUMN TYPE SIZE
* ------------------------
* HostName CHAR 60
* Catalog CHAR 64
* UserName CHAR 16
* TableNaem CHAR 64
* Grantor CHAR 77
* CanSelect CHAR 1
* CanInsert CHAR 1
* CanUpdate CHAR 1
* CanDelete CHAR 1
* CanCreate CHAR 1
* CanDrop CHAR 1
* CanGrant CHAR 1
* CanIndex CHAR 1
* CanAlter CHAR 1
* </PRE>
*/
public ResultSet getTablePrivs(Connection conn) throws SQLException;
public ResultSet getPerHostPrivs(Connection conn) throws SQLException;
/**
* Returns the priviledges per-column
* <PRE>
* COLUMN TYPE SIZE
* ------------------------
* HostName CHAR 60
* Catalog CHAR 64
* UserName CHAR 16
* TableName CHAR 64
* ColumnName CHAR 64
* </PRE>
*/
public ResultSet getPerColumnPrivs(Connection conn) throws SQLException;
}