edu.isi.powerloom.rdbms
Class RDBMS

java.lang.Object
  extended by edu.isi.powerloom.rdbms.RDBMS

public class RDBMS
extends java.lang.Object


Field Summary
static Keyword KWD__g
           
static Keyword KWD_ALL
           
static Keyword KWD_ASSERT
           
static Keyword KWD_ASSERT_FALSE
           
static Keyword KWD_ASSERT_TRUE
           
static Keyword KWD_ASSERTION
           
static Keyword KWD_AXIOMS
           
static Keyword KWD_CLIP
           
static Keyword KWD_CLOSED
           
static Keyword KWD_CONCEIVE
           
static Keyword KWD_CONFIGURATION
           
static Keyword KWD_CONNECTION_STRING
           
static Keyword KWD_CONTINUING_SUCCESS
           
static Keyword KWD_DB
           
static Keyword KWD_DB_NAME
           
static Keyword KWD_DOCUMENTATION
           
static Keyword KWD_DONT_OPTIMIZEp
           
static Keyword KWD_DSN
           
static Keyword KWD_EQUIVALENT
           
static Keyword KWD_ERROR
           
static Keyword KWD_EXTERNAL_DB_UPDATE
           
static Keyword KWD_FAILURE
           
static Keyword KWD_FINAL_SUCCESS
           
static Keyword KWD_GOES_TRUE_DEMON
           
static Keyword KWD_GOES_UNKNOWN_DEMON
           
static Keyword KWD_HOST
           
static Keyword KWD_HOW_MANY
           
static Keyword KWD_INFERENCE_LEVEL
           
static Keyword KWD_ISA
           
static Keyword KWD_JDBC_CONNECTION_STRING
           
static Keyword KWD_MODULE
           
static Keyword KWD_MODULE_NAME
           
static Keyword KWD_MODULE_REFERENCE
           
static Keyword KWD_MYSQL
           
static Keyword KWD_NAME
           
static Keyword KWD_NONE
           
static Keyword KWD_ODBC_CONNECTION_STRING
           
static Keyword KWD_PASSWORD
           
static Keyword KWD_PORT
           
static Keyword KWD_PREDICATE
           
static Keyword KWD_PRESUME_FALSE
           
static Keyword KWD_PRESUME_TRUE
           
static Keyword KWD_PROTOCOL
           
static Keyword KWD_RETRACT
           
static Keyword KWD_RETRACT_FALSE
           
static Keyword KWD_RETRACT_TRUE
           
static Keyword KWD_SERVER_TYPE
           
static Keyword KWD_SET
           
static Keyword KWD_STRING_CONSTANT
           
static Keyword KWD_TYPE
           
static Keyword KWD_UNKNOWN
           
static Keyword KWD_USER
           
static Keyword KWD_VALUE
           
static Keyword KWD_VARIABLE
           
static Keyword KWD_WHITE_SPACE
           
static Surrogate SGT_LOGIC_LOGIC_OBJECT
           
static Surrogate SGT_LOGIC_NAMED_DESCRIPTION
           
static Surrogate SGT_LOGIC_QUERY_ITERATOR
           
static Surrogate SGT_RDBMS_CONNECTION_STRING
           
static Surrogate SGT_RDBMS_CONNECTION_WRAPPER
           
static Surrogate SGT_RDBMS_DATABASE
           
static Surrogate SGT_RDBMS_DB_CONNECTION
           
static Surrogate SGT_RDBMS_DB_NAME
           
static Surrogate SGT_RDBMS_DSN
           
static Surrogate SGT_RDBMS_F_ALLOCATE_DBTABLE_SPECIALIST_ITERATOR_MEMO_TABLE_000
           
static Surrogate SGT_RDBMS_F_FETCH_EDB_QUERY_MEMO_TABLE_000
           
static Surrogate SGT_RDBMS_F_GET_QUERY_PATTERN_EVALUATORS_MEMO_TABLE_000
           
static Surrogate SGT_RDBMS_F_GET_RELATION_TABLE_INFO_MEMO_TABLE_000
           
static Surrogate SGT_RDBMS_F_SQL_JOIN_MEMO_TABLE_000
           
static Surrogate SGT_RDBMS_F_SQL_QUERY_MEMO_TABLE_000
           
static Surrogate SGT_RDBMS_HOST
           
static Surrogate SGT_RDBMS_JDBC_CONNECTION_STRING
           
static Surrogate SGT_RDBMS_PASSWORD
           
static Surrogate SGT_RDBMS_PORT
           
static Surrogate SGT_RDBMS_PROTOCOL
           
static Surrogate SGT_RDBMS_RELATION_COLUMN_INFO
           
static Surrogate SGT_RDBMS_RELATION_DATABASE
           
static Surrogate SGT_RDBMS_RELATION_TABLE
           
static Surrogate SGT_RDBMS_RELATION_TABLE_INFO
           
static Surrogate SGT_RDBMS_SERVER_TYPE
           
static Surrogate SGT_RDBMS_SUBTASK_ID
           
static Surrogate SGT_RDBMS_TASK_ID
           
static Surrogate SGT_RDBMS_USER
           
static Surrogate SGT_STELLA_BOOLEAN
           
static Surrogate SGT_STELLA_CONFIGURATION_TABLE
           
static Surrogate SGT_STELLA_CONS
           
static Surrogate SGT_STELLA_FALSE
           
static Surrogate SGT_STELLA_INTEGER
           
static Surrogate SGT_STELLA_MODULE
           
static Surrogate SGT_STELLA_NUMBER
           
static Surrogate SGT_STELLA_STRING
           
static Surrogate SGT_STELLA_STRING_WRAPPER
           
static Surrogate SGT_STELLA_THING
           
static Surrogate SGT_STELLA_TRUE
           
static Surrogate SGT_STELLA_XML_ELEMENT
           
static Symbol SYM_LOGIC_pX
           
static Symbol SYM_PL_KERNEL_KB_RELATION_SPECIALIST
           
static Symbol SYM_RDBMS_ADJUNCT
           
static Symbol SYM_RDBMS_COERCION_FUNCTION
           
static Symbol SYM_RDBMS_COLUMN_DB_TYPE
           
static Symbol SYM_RDBMS_COLUMN_INDEX
           
static Symbol SYM_RDBMS_COLUMN_LIST
           
static Symbol SYM_RDBMS_COLUMN_NAME
           
static Symbol SYM_RDBMS_COLUMN_TYPE
           
static Symbol SYM_RDBMS_COLUMN_VARIABLE
           
static Symbol SYM_RDBMS_COLUMN_VECTOR
           
static Symbol SYM_RDBMS_CONNECTION_STRING
           
static Symbol SYM_RDBMS_DATABASE
           
static Symbol SYM_RDBMS_DB_CONNECTION
           
static Symbol SYM_RDBMS_DB_NAME
           
static Symbol SYM_RDBMS_DB_UPDATE_DEMON
           
static Symbol SYM_RDBMS_DBMS_NAME
           
static Symbol SYM_RDBMS_DBTABLE_SPECIALIST
           
static Symbol SYM_RDBMS_DEFDB
           
static Symbol SYM_RDBMS_DEFQUERY
           
static Symbol SYM_RDBMS_DEFTABLE
           
static Symbol SYM_RDBMS_DEFUNTABLE
           
static Symbol SYM_RDBMS_DSN
           
static Symbol SYM_RDBMS_F_GET_QUERY_PATTERN_EVALUATORS_QUERY_000
           
static Symbol SYM_RDBMS_F_GET_QUERY_PATTERN_EVALUATORS_QUERY_001
           
static Symbol SYM_RDBMS_FETCH_EDB_DATABASE
           
static Symbol SYM_RDBMS_FETCH_QUERY
           
static Symbol SYM_RDBMS_FETCH_QUERY_TYPE_1
           
static Symbol SYM_RDBMS_FETCH_QUERY_TYPE_2
           
static Symbol SYM_RDBMS_HOST
           
static Symbol SYM_RDBMS_INSTANCE_OF
           
static Symbol SYM_RDBMS_JDBC_CONNECTION_STRING
           
static Symbol SYM_RDBMS_MODULE_LOCALp
           
static Symbol SYM_RDBMS_MODULE_REFERENCE
           
static Symbol SYM_RDBMS_MODULE_REFERENCE_COLUMN
           
static Symbol SYM_RDBMS_ODBC_CONNECTION_STRING
           
static Symbol SYM_RDBMS_pARGS
           
static Symbol SYM_RDBMS_PASSWORD
           
static Symbol SYM_RDBMS_pDB
           
static Symbol SYM_RDBMS_pDB_TYPE
           
static Symbol SYM_RDBMS_pEV
           
static Symbol SYM_RDBMS_PORT
           
static Symbol SYM_RDBMS_pREL
           
static Symbol SYM_RDBMS_PROTOCOL
           
static Symbol SYM_RDBMS_QUERY_EVALUATOR
           
static Symbol SYM_RDBMS_QUERY_PARAMETER_NAME
           
static Symbol SYM_RDBMS_QUERY_PATTERN
           
static Symbol SYM_RDBMS_QUERY_SPECIALIST
           
static Symbol SYM_RDBMS_QUERY_TABLE_NAME
           
static Symbol SYM_RDBMS_RELATION_COLUMN_MODULE_NAME
           
static Symbol SYM_RDBMS_RELATION_COLUMN_MODULE_REFERENCE
           
static Symbol SYM_RDBMS_RELATION_COLUMN_NAME
           
static Symbol SYM_RDBMS_RELATION_DATABASE
           
static Symbol SYM_RDBMS_RELATION_TABLE
           
static Symbol SYM_RDBMS_SERVER_TYPE
           
static Symbol SYM_RDBMS_SQL_DATABASE
           
static Symbol SYM_RDBMS_STARTUP_FETCH_INTERFACE
           
static Symbol SYM_RDBMS_STARTUP_ONTOLOGY
           
static Symbol SYM_RDBMS_STARTUP_RDBMS
           
static Symbol SYM_RDBMS_STARTUP_RDBMS_SYSTEM
           
static Symbol SYM_RDBMS_SUBTASK_ID
           
static Symbol SYM_RDBMS_SUPPORTS_DB_TYPE
           
static Symbol SYM_RDBMS_TABLE_INFO
           
static Symbol SYM_RDBMS_TASK_ID
           
static Symbol SYM_RDBMS_USER
           
static Symbol SYM_STELLA_AND
           
static Symbol SYM_STELLA_EXISTS
           
static Symbol SYM_STELLA_ITERATOR
           
static Symbol SYM_STELLA_METHOD_STARTUP_CLASSNAME
           
static Symbol SYM_STELLA_MODULE
           
static Symbol SYM_STELLA_MODULE_NAME
           
static Symbol SYM_STELLA_RELATION
           
static Symbol SYM_STELLA_TABLE_NAME
           
static Symbol SYM_STELLA_TRUE
           
static Symbol SYM_STELLA_WRAPPER_VALUE
           
 
Constructor Summary
RDBMS()
           
 
Method Summary
static Iterator allocateDbtableSpecialistIterator(ControlFrame frame)
           
static Iterator allocateQuerySpecialistIterator(ControlFrame frame)
           
static Iterator allocateResultSetIterator(edu.isi.sdbc.Connection connection, LogicObject relation, java.lang.String sqlstatement)
           
static void assertRdbmsConnectionInfo(java.lang.String dbInstanceName, Cons options)
          Assert DB connectivity information about the DB instance dbInstanceName (for example, "edb") according to options.
static void assertRdbmsConnectionInfoEvaluatorWrapper(Cons arguments)
           
static Cons buildOneTableAssertion(NamedDescription tableRelation, Cons tuple, Module dbModule)
           
static LogicObject callDefdb(Cons arguments)
          Callable version of of the defdb command (which see).
static NamedDescription callDefquery(Cons arguments)
          Callable version of the defquery command (which see).
static NamedDescription callDeftable(Cons arguments)
          Callable version of the deftable command (which see).
static NamedDescription callDefuntable(Cons arguments)
          Callable version of the deftable command (which see).
static void checkForExternalDbUpdates(Proposition proposition, LogicObject database)
           
static java.lang.String coercePowerloomObjectToString(Stella_Object renamed_Object, NamedDescription type)
           
static Stella_Object coerceStringToPowerloomObject(java.lang.String value, NamedDescription type, Module module, boolean localP)
           
static Cons coerceValues(Cons values, RelationTableInfo table)
           
static Cons collectionValuedConstraintElements(Stella_Object argument)
           
static boolean collectionValuedConstraintP(Stella_Object argument)
           
static edu.isi.sdbc.Connection connectToDatabase(LogicObject database)
           
static RelationTableInfo createRelationTableInfo(NamedDescription relation)
           
static java.lang.String createSqlAssertionFromProposition(Proposition proposition, Keyword mode)
           
static java.lang.String createSqlFromProposition(Proposition proposition)
           
static void dbRelationGoesFalse(Proposition proposition)
           
static void dbRelationGoesTrue(Proposition proposition)
           
static void dbRelationGoesUnknown(Proposition proposition)
           
static void dbRelationUpdateDemon(Proposition proposition, Keyword updateMode)
           
static Keyword dbtableSpecialist(ControlFrame frame, Keyword lastmove)
           
static void dbUpdateDemon(Proposition dbproposition)
           
static LogicObject defdb(Cons args)
          Define (or redefine) a database instance.
static LogicObject defdbEvaluatorWrapper(Cons arguments)
           
static LogicObject defquery(Cons args)
          Define (or redefine) an (external) query and map it to a relation.
static LogicObject defqueryEvaluatorWrapper(Cons arguments)
           
static LogicObject deftable(Cons args)
          Define (or redefine) a database table and map it to a relation.
static LogicObject deftableEvaluatorWrapper(Cons arguments)
           
static LogicObject defuntable(Cons args)
          Define (or redefine) a database table and map it to a function The accepted syntax is: (defuntable <relconst> <dbconst> <tablename> (<columndecl>+) [<keyword-option>*]).
static LogicObject defuntableEvaluatorWrapper(Cons arguments)
           
static void disconnectFromDatabase(LogicObject database)
           
static void evaluateFetchQuery(KeyValueList keys, java.io.PrintStream out)
           
static Cons extractRdbmsOptions(Symbol selfname, Cons options, java.lang.Object[] MV_returnarray)
           
static Iterator fetchEdbQuery(Proposition proposition, LogicObject database, Stella_Object arguments)
           
static Cons fetchQueryAssertions(java.lang.String host, int port, LogicObject fetchQuery, java.lang.String taskId, java.lang.String subtaskId, java.lang.String database, java.lang.String parameterValue, Module targetModule, Module dbModule)
          Runs a fetchQuery using taskId; subtaskId,database and specifying a single additional parameterValue.
static Stella_Object findOrCreateInstance(java.lang.String name, NamedDescription type, Module module, boolean localP)
          Find an existing instance with name in module or create one with type if it does not yet exist.
static Cons generateTableAssertions(java.lang.String tableName, Cons xmlAnswer, Module module, Module dbModule)
          Takes a Stella-parsed, XML-encoded xmlAnswer from Fetch based on the database table tableName and uses it to generate an assertion for an appropriate relation for inclusion in module.
static edu.isi.sdbc.Connection getConnectionFromDatabase(LogicObject database)
           
static edu.isi.sdbc.Connection getConnectionFromPredicate(Surrogate relationref)
           
static Skolem getFunctionAndValueTerms(Proposition proposition, java.lang.Object[] MV_returnarray)
           
static Surrogate getPropositionBaseRelationRef(Proposition prop)
           
static Cons getQueryPatternEvaluators(Surrogate relationref)
           
static Stella_Object getQueryPatternMemoizationKey(Proposition proposition)
           
static RelationTableInfo getRelationTableInfo(NamedDescription tablerelation)
           
static int getTableColumnIndex(NamedDescription tableRelation, java.lang.String columnName, Module module)
           
static StringWrapper getTableColumnModuleName(NamedDescription tablerelation, int columnindex)
           
static StringWrapper getTableColumnModuleReference(NamedDescription tablerelation, int columnindex)
           
static StringWrapper getTableColumnName(NamedDescription tablerelation, int columnindex)
           
static Cons getTableColumnNames(NamedDescription tablerelation)
           
static NamedDescription getTableRelation(java.lang.String tableName, Module module)
           
static Iterator helpMemoizeFetchEdbQuery(Proposition proposition, LogicObject database, Stella_Object arguments)
           
static Iterator helpMemoizeSqlJoin(Proposition proposition, LogicObject database, Stella_Object arguments)
           
static Iterator helpMemoizeSqlQuery(Proposition proposition, LogicObject database, Stella_Object arguments)
           
static java.lang.String lookupStringValue(NamedDescription relation, LogicObject instance, Module mod)
           
static StringWrapper normalizeConnectionArgument(Stella_Object arg)
           
static java.lang.String normalizeFetchQueryArguments(Proposition proposition, Stella_Object arguments, java.lang.Object[] MV_returnarray)
           
static int numberStringToInteger(java.lang.String x)
           
static Cons parseColumnSpecs(Stella_Object relconst, Stella_Object columnspecs, java.lang.Object[] MV_returnarray)
           
static Cons parseFetchXmlAnswer(Cons xmlanswer, NamedDescription relation, Cons outputcolumns)
           
static PropertyList parseOneColumnSpec(Stella_Object columnspec)
           
static Cons parseOneFetchXmlObject(Cons renamed_Object, NamedDescription relation, Cons outputcolumns)
           
static void printArgumentConstraint(OutputStream sql, Stella_Object argument, RelationColumnInfo column)
           
static void printColumnConstraint(OutputStream sql, RelationColumnInfo column, java.lang.String value, boolean casesensitiveP)
           
static void printSqlColumnList(OutputStream stream, RelationTableInfo tableInfo)
           
static void printSqlConstraintList(OutputStream stream, RelationTableInfo tableInfo, Vector arguments)
           
static void printSqlValue(OutputStream stream, Stella_Object