Files
rdkit/Python/Dbase/DbModule.py
Greg Landrum 75a79b6327 initial import
2006-05-06 22:20:08 +00:00

61 lines
2.0 KiB
Python
Executable File

# $Id: DbModule.py 5010 2006-02-22 15:23:39Z glandrum $
#
# Copyright (C) 2003-2006 Rational Discovery LLC
#
# @@ All Rights Reserved @@
#
import RDConfig
if hasattr(RDConfig,"usePgSQL") and RDConfig.usePgSQL:
useGvib=0
from pyPgSQL import PgSQL
# as of this writing (March 2004), this results in a speedup in
# getting results back from the wrapper:
PgSQL.fetchReturnsList=1
from pyPgSQL.PgSQL import *
sqlTextTypes = [PG_CHAR,PG_BPCHAR,PG_TEXT,PG_VARCHAR,PG_NAME]
sqlIntTypes = [PG_INT8,PG_INT2,PG_INT4]
sqlFloatTypes = [PG_FLOAT4,PG_FLOAT8]
sqlBinTypes = [PG_OID,PG_BLOB,PG_BYTEA]
getTablesSql = """select tablename from pg_tables where schemaname='public'"""
getTablesAndViewsSql = """SELECT c.relname as "Name"
FROM pg_catalog.pg_class c
LEFT JOIN pg_catalog.pg_user u ON u.usesysid = c.relowner
LEFT JOIN pg_catalog.pg_namespace n ON n.oid = c.relnamespace
WHERE c.relkind IN ('r','v','S','')
AND n.nspname NOT IN ('pg_catalog', 'pg_toast')
AND pg_catalog.pg_table_is_visible(c.oid)
"""
getDbSql = """ select datname from pg_database where datallowconn """
fileWildcard=None
placeHolder='%s'
binaryTypeName="bytea"
binaryHolder = PgBytea
else:
useGvib=1
from gvib import *
sqlTextTypes = [gvibTypes.SQL_TEXT,gvibTypes.SQL_VARYING]
sqlIntTypes = [gvibTypes.SQL_SHORT,gvibTypes.SQL_LONG,
gvibTypes.SQL_INT64]
sqlFloatTypes = [gvibTypes.SQL_FLOAT,gvibTypes.SQL_DOUBLE,
gvibTypes.SQL_D_FLOAT]
sqlBinTypes = [gvibTypes.SQL_BLOB,gvibTypes.SQL_ARRAY]
getTablesSql = """SELECT RDB$RELATION_NAME
FROM RDB$RELATIONS
WHERE ((RDB$SYSTEM_FLAG = 0) OR
(RDB$SYSTEM_FLAG IS NULL)) AND
(RDB$VIEW_SOURCE IS NULL)
ORDER BY RDB$RELATION_NAME"""
getTablesAndViewsSql="""SELECT RDB$RELATION_NAME
FROM RDB$RELATIONS
WHERE ((RDB$SYSTEM_FLAG = 0) OR
(RDB$SYSTEM_FLAG IS NULL))
ORDER BY RDB$RELATION_NAME"""
getDbSql = None
dbFileWildcard='*.gdb'
placeHolder='?'
binaryTypeName="blob"
binaryHolder = lambda x:x