Oovaide Index

OOV Export Database

The Oovaide program allows exporting to an sqlite database. The database schema looks like the following:
The Oovaide program's main purpose is to find all related classes, so it does not contain all code information.

The following describes the tables in the datase.

TableDescription
ComponentComponents define run-time software objects
MethodContains method/function definitions
MethodTypeRefDefines a reference to a type from a method
ModuleContains information about a source file
ModuleRelationContains include or import relations between source files
StatementContains flow or reference statements that belong to methods
TypeDefines classes or simple data types
TypeRelationContains class aggregation or inheritance relations

Component

ColumnDescription
nameThe component name. Component types must be defined within Oovaide for this to contain entries.

Method

ColumnDescription
nameThe function name. If overloaded, it is appended with +;hash.
lineNumberThe line number of the method definition in the source code
visibility0=public, 1=protected, 2=private
constIndicates if it is a const method
virtualIndicates if it is a virtual method
idOwningClassThe ID of the owning class/type
idOwningModuleThe ID of the owning module

MethodTypeRef

ColumnDescription
nameThe variable name.
varRelationDescription0=parameter, 1=body variable
idOwningMethodThe ID of the owning method
idSupplierTypeThe ID of type

Module

ColumnDescription
nameThe variable name.
codeLinesThe number of lines with code.
commentLinesThe number of lines with comments.
moduleLinesThe number of lines in the module.
idOwningComponentThe ID of the owning component. Component types must be defined in Oovaide for this to be filled.

ModuleRelation

ColumnDescription
idSupplierModuleThe id of the file that was included or imported.
idConsumerModuleThe id of the file that included or imported the supplier.

Statement

ColumnDescription
statementDescription2=method call, 3=variable reference
lineNumberThe statement index
idOwningMethodThe method that contains this statement.
idSupplierTypeThe type that is referenced by this statement
idSupplierMethodThe method that is referenced by this statement

Type

ColumnDescription
nameThe name of the type
idOwningModuleThe module where the type is defined.
lineNumberThe line number of the type definition in the source code

TypeRelation

ColumnDescription
typeRelationDescription0=inheritance, 1=member
visibility0=public, 1=protected, 2=private
idSupplierModuleThe id of the supplier type.
idConsumerModuleThe id of the consumer type.

Other Details