#
# see http://schemaspy.sourceforge.net/dbtypes.html
# for configuration / customization details
#

description=Oracle with OCI8 Driver

connectionSpec=jdbc:oracle:oci8:@<db>
db=database name (from TNSNAMES.ORA)

driver=oracle.jdbc.driver.OracleDriver

# Sample path to the oracle drivers.
# Use -dp to override.
driverPath=c:/Oracle8I/ora81/jdbc/lib/classes12.zip

# this Oracle driver's metadata services aren't thread safe so limit its access to one thread
dbThreads=1

# return text that represents a specific :view / :schema
selectViewSql=select text from all_views where view_name=:view and owner=:owner

# return table_name, constraint_name and text for a specific :schema
selectCheckConstraintsSql=select table_name, constraint_name, search_condition text from all_constraints where constraint_type = 'C' and constraint_name not like 'SYS%' and owner = :owner

# Oracle's driver does 'inappropriate things' when you call DatabaseMetaData.getIndexInfo().
# (Oracle Bug No. 2686037 - IMPROVE IMPLEMENTATION OF DATABASEMETADATA.GETINDEXINFO - per Andrea (bsq99)
# This is an opportunity to bypass that 'badness'
selectIndexesSql=select null as table_cat, owner as table_schem, table_name, 0 as NON_UNIQUE, null as index_qualifier, null as index_name, 0 as type, 0 as ordinal_position, null as column_name, null as asc_or_desc, num_rows as cardinality, blocks as pages, null as filter_condition from all_tables where table_name = :table and owner = :owner union select null as table_cat, i.owner as table_schem, i.table_name, decode (i.uniqueness, 'UNIQUE', 0, 1), null as index_qualifier, i.index_name, 1 as type, c.column_position as ordinal_position, c.column_name, null as asc_or_desc, i.distinct_keys as cardinality, i.leaf_blocks as pages, null as filter_condition from all_indexes i, all_ind_columns c where i.table_name = :table and i.owner = :owner and i.index_name = c.index_name and i.table_owner = c.table_owner and i.table_name = c.table_name and i.owner = c.index_owner

# return table_name, comments for a specific :schema
# useful if db driver doesn't return this info
selectTableCommentsSql=select table_name, comments from all_tab_comments where owner=:owner

# return table_name, column_name, comments for a specific :schema
# useful if db driver doesn't return this info
selectColumnCommentsSql=select table_name, column_name, comments from all_col_comments where owner=:owner

# return row_count for a specific :table
#  many times faster than select count(*)
#  thanks to Mikheil Kapanadze for the SQL
selectRowCountSql=select table_rows row_count from information_schema.tables where table_name=:table 

# regular expression used in conjunction with -all (and can be command line param '-schemaSpec')
# this says which schemas to include in our evaluation of "all schemas"
# basically .* (at the end) matches anything and the rest of it says "except SYS or SYSTEM or ......."
schemaSpec=(?!^SYS$|^SYSTEM$|^DBSNMP$|^OUTLN$|^MDSYS$|^ORDSYS$|^ORDPLUGINS$|^CTXSYS$|^DSSYS$|^PERFSTAT$|^WKPROXY$|^WKSYS$|^WMSYS$|^XDB$|^ANONYMOUS$|^ODM$|^ODM_MTR$|^OLAPSYS$|^TRACESVR$|^REPADMIN$).*
