|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object tuffy.db.RDB
public class RDB
Interface with the RDBMS. Currently only supports PostgreSQL (8.4 or later).
Field Summary | |
---|---|
(package private) static java.util.ArrayList<RDB> |
allRDBs
|
private java.sql.Connection |
con
|
(package private) static int |
currentDBCounter
|
private java.sql.Statement |
currentlyRunningQuery
|
double |
estimatedCost
|
double |
estimatedRows
|
private int |
lastUpdateRowCount
|
private boolean |
savedAutoCommit
|
Constructor Summary | |
---|---|
RDB(java.lang.String url,
java.lang.String user,
java.lang.String password)
Specifies a JDBC connection. |
Method Summary | |
---|---|
void |
analyze(java.lang.String rel)
Analyze a specific table. |
java.lang.Double |
callFunctionDouble(java.lang.String func,
java.lang.String args)
Call a function that returns a double. |
void |
callProcedure(java.lang.String proc)
Call a stored procedure that doesn't have any parameters. |
void |
close()
Close this connection. |
void |
commit()
Commit the previous actions. |
void |
copyTable(java.lang.String src,
java.lang.String dest)
Copy the tuples of a table to another. |
long |
countTuples(java.lang.String table)
Count the tuples in a table. |
void |
createConstantTable(java.util.HashMap<java.lang.String,java.lang.Integer> mapConstantID)
Store the symbol-ID mapping into a symbol table. |
void |
createSetTable(java.lang.String rel,
java.util.HashSet<java.lang.Integer> set)
Create a table to store a set of integers |
void |
createTempTableIntList(java.lang.String rel,
java.util.Collection<java.lang.Integer> vals)
|
void |
disableAutoCommitForNow()
Disable auto-commit so that JDBC won't fetch all query results at once. |
void |
dropIndex(java.lang.String idx)
Drop an index if it exists. |
boolean |
dropSchema(java.lang.String sch)
Try to drop a schema; remain silent if the specified schema doesn't exist. |
void |
dropSequence(java.lang.String seq)
Try to drop a sequence; remain silent if the specified sequence doesn't exist. |
private boolean |
dropStuff(java.lang.String type,
java.lang.String obj)
|
void |
dropTable(java.lang.String rel)
Try to drop a table; remain silent if the specified table doesn't exist. |
void |
dropView(java.lang.String view)
|
private void |
dumpSQL(java.lang.String sql)
|
void |
dumpTableToFile(Predicate p,
java.lang.String fout)
Dump a MAP world produced by MAP inference. |
java.lang.String |
estimateCost(java.lang.String sql)
|
void |
estimateQuery(java.lang.String sql,
boolean analyze)
|
void |
execute(java.lang.String sql)
Execute a SQL statement (query/update). |
void |
executeWhatever(java.lang.String sql)
|
java.lang.String |
explain(java.lang.String sql)
Explain a SQL query with an execution plan. |
java.sql.Connection |
getConnection()
Return the database connection. |
int |
getLastUpdateRowCount()
Return the number of affected tuples from last update. |
java.sql.PreparedStatement |
getPrepareStatement(java.lang.String sql)
Return a prepared statement of the given SQL statement. |
static RDB |
getRDBbyConfig()
Attempt to establish the connection as specified in the (deault) configuration. |
static RDB |
getRDBbyConfig(java.lang.String schema)
|
int |
getSequenceCurValue(java.lang.String seq)
Read the current value of a sequence. |
java.util.HashMap<java.lang.Integer,java.lang.String> |
loadIdSymbolMapFromTable()
Load the symbol table into a hash table mapping symbol IDs to the original symbols. |
java.util.HashMap<java.lang.String,java.lang.Integer> |
loadSymbolIdMapFromTable()
Load the symbol table into a hash table mapping symbols to their IDs. |
java.sql.ResultSet |
query(java.lang.String sql)
Execute a SQL query. |
private void |
regExplainProc(java.lang.String pname)
Register a stored procedure to explain SQL queries. |
private void |
registerDrivers()
Register the JDBC driver. |
void |
resetSchema(java.lang.String schema)
Reset the database schema that serves as Tuffy's workspace. |
void |
resetSequence(java.lang.String seq)
Reset the value of a sequence to 1. |
void |
restoreAutoCommitState()
Restore the auto-commit state saved by disableAutoCommitForNow() . |
void |
setAutoCommit(boolean v)
Set auto-commit state of this connection. |
int |
update(java.lang.String sql)
Execute an update SQL statement. |
boolean |
updateBatch(java.util.ArrayList<java.lang.String> sqls)
Execute a set of update SQL statements as a batch. |
private void |
updateRaw(java.lang.String sql)
|
void |
vacuum(java.lang.String rel)
Vacuum a specific table. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private int lastUpdateRowCount
private boolean savedAutoCommit
static java.util.ArrayList<RDB> allRDBs
static int currentDBCounter
private java.sql.Connection con
private java.sql.Statement currentlyRunningQuery
public double estimatedCost
public double estimatedRows
Constructor Detail |
---|
public RDB(java.lang.String url, java.lang.String user, java.lang.String password)
Method Detail |
---|
public void disableAutoCommitForNow()
restoreAutoCommitState()
to
restore the initial auto-commit state.
restoreAutoCommitState()
,
PostgreSQL's JDBC docprivate void regExplainProc(java.lang.String pname)
pname
- name of the stored procedurepublic void estimateQuery(java.lang.String sql, boolean analyze)
public java.lang.String estimateCost(java.lang.String sql)
public java.lang.String explain(java.lang.String sql)
sql
- public void createTempTableIntList(java.lang.String rel, java.util.Collection<java.lang.Integer> vals)
public void restoreAutoCommitState()
disableAutoCommitForNow()
.
disableAutoCommitForNow()
public int getLastUpdateRowCount()
public java.sql.Connection getConnection()
public void dumpTableToFile(Predicate p, java.lang.String fout)
fout
- path of output filepublic static RDB getRDBbyConfig()
public static RDB getRDBbyConfig(java.lang.String schema)
private void registerDrivers()
private void dumpSQL(java.lang.String sql)
public int update(java.lang.String sql)
public void execute(java.lang.String sql)
public void executeWhatever(java.lang.String sql)
private void updateRaw(java.lang.String sql) throws java.sql.SQLException
java.sql.SQLException
public boolean updateBatch(java.util.ArrayList<java.lang.String> sqls)
public java.sql.ResultSet query(java.lang.String sql)
sql
- the SQL statement
public java.util.HashMap<java.lang.String,java.lang.Integer> loadSymbolIdMapFromTable()
Config.relConstants
public java.util.HashMap<java.lang.Integer,java.lang.String> loadIdSymbolMapFromTable()
Config.relConstants
public void createConstantTable(java.util.HashMap<java.lang.String,java.lang.Integer> mapConstantID)
mapConstantID
- the symbol-ID mappingConfig.relConstants
public void createSetTable(java.lang.String rel, java.util.HashSet<java.lang.Integer> set)
rel
- the name of the tableset
- the set of integerspublic void dropTable(java.lang.String rel)
public boolean dropSchema(java.lang.String sch)
public void dropSequence(java.lang.String seq)
public void dropView(java.lang.String view)
private boolean dropStuff(java.lang.String type, java.lang.String obj)
public java.sql.PreparedStatement getPrepareStatement(java.lang.String sql)
public void resetSchema(java.lang.String schema)
Config.db_schema
public void copyTable(java.lang.String src, java.lang.String dest)
src
- name of the source tabledest
- name the destination table; will be dropped if already existspublic void commit()
public void setAutoCommit(boolean v)
public int getSequenceCurValue(java.lang.String seq)
seq
- the name of the sequencepublic long countTuples(java.lang.String table)
public void close()
public void analyze(java.lang.String rel)
rel
- name of the tablepublic void vacuum(java.lang.String rel)
rel
- name of the tablepublic void dropIndex(java.lang.String idx)
idx
- name of the indexpublic void resetSequence(java.lang.String seq)
seq
- name of the sequencepublic void callProcedure(java.lang.String proc)
proc
- name of the stored procedurepublic java.lang.Double callFunctionDouble(java.lang.String func, java.lang.String args)
func
- name of the functionargs
- arguments in the form of a string
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |