# What to expect: Insight Reports

Each report is built based on the source code provided at the beginning of the analysis and is independent of previous runs.&#x20;

Reports can be separated into two main categories: element and relationship summaries.&#x20;

General information on the reports:

* Each reported row in the reports contains Datetime, Project ID, Repository URL, and Run ID. This can come in handy when doing queries over the data.
* Views that simplify this data can be created when using the Snowflake stage storage feature.
* "NULL" value is our default for missing information/blank values.

Specific details on each report can be found below.

## Element reports

These reports have condensed information about the source code objects.

![Element reports - visual summary (color-coded)](/files/Ix9EPJNTIA5TykC3a4hH)

### Objects report

This report has information on the objects created inside the source code.&#x20;

#### Content:

* SourceDescription

  The filename where the object is created.&#x20;
* FileType

  The file extension.
* FileLanguaje&#x20;

  The language of the source code.
* FullyQualifiedName + (Database, Schema, Name)

  The complete name of the object, there is also a column for each part of the name if exists.
* ObjectType&#x20;

  The category we have identified this object falls on. E.g. Tables will be reported as SQLTable.
* BuiltIn&#x20;

  When true the object is created by the system, really important when working with functions.
* LinesOfCode

  The physical lines of code the object has in its creation code.
* Line and Column

  Location of the object creation inside the file.

![](/files/3KIyG9nFljGVb573SAGk)

{% hint style="info" %}
Currently, we are targeting data for top-level objects, but the scope for data collection is bigger, aiming to obtain all the **Account** and **Database** objects and more detailed information.
{% endhint %}

### Columns report

Simple report for the columns of tables and views.

Content:

* Parent&#x20;

  Name of the object that contains this column.
* Name&#x20;

  Column name.
* Type

  The data type for the column. For details about the data types, see [Data Types](https://docs.snowflake.com/en/sql-reference/data-types.html).

![](/files/zShJEgxGCpeLQ2n71q4m)

## Relationship reports

These reports have condensed information about the source code objects.

Details on each report can be found below.

![Relationship reports - Visual summary (color-coded)](/files/sjan1E9t3TnghwBwFpTZ)

### Object references report

The found references to objects created in the source code will be in this report.&#x20;

The report has information for the calling object, the one doing the reference. And similar information can be found for the referenced object.

Content:

* Source description

  The filename where the reference is found.&#x20;
* Object (calling and referenced)
  * Type&#x20;

    The category we have identified this object falls on. E.g. Tables will be SQLTable.
  * FullyQualifiedName + (Database, Schema, Name)

    The complete name of the object, there is also a column for each part of the name if exists.
* Line

  Location of the reference found inside the file.

![The image is edited for a better visualization of the data.](/files/CmfcJTogRwPQ3s0wrJZB)

### Procedure references count report

A really simple report with the number of references found for each procedure.

Contents:

* FullyQualifiedName + (Database, Schema, Name)

  The complete name of the procedure, there is also a column for each part of the name if exists.
* ReferenceCount

  The number of references found.

![](/files/CXImRNxpD2TnkQSmZkRU)

### Missing object references report

In a similar fashion to the [Object references report](#object-references-report), this will enumerate all the references found but in this case those that reference a missing object.

Content:

* Source description

  The filename where the reference is found.&#x20;
* Object (calling and referenced)
  * Type&#x20;

    The category we have identified this object falls on. E.g. Tables will be SQLTable.
  * FullyQualifiedName + (Database, Schema, Name)

    The complete name of the object, there is also a column for each part of the name if exists.
* Line and  Column

  Location of the reference found inside the file.

![](/files/wXVoSRtim7yOpUMLmk9n)

## Scripting reports: Scala

Scala is being consumed like a scripting language, therefore the reports generated from a Scala source will not be the same as the ones detailed in the [Element reports](#element-reports) or [Relationship reports](#relationship-reports) sections.

### Scala: references report

Currently, this is the only report being generated for Scala it will enumerate all the references found based on different heuristics or metrics. As of today we only support fully written SQL sentences, see [Unsupported syntax](broken://pages/Fc3pWN4dCoKJEH7IAUu4#unsupported-syntax) to know more about the current limitations.&#x20;

Content:

* Source platform&#x20;

  The type of platform used.&#x20;
* Source description, FileType, and File language

  The filename, extension, and detected language of the file where the reference is found.&#x20;
* Object (Reference found)
  * FullyQualifiedName + (Database, Schema, Name)

    The complete name of the object, there is also a column for each part of the name if exists.
  * Type&#x20;

    The category we have identified this object falls on. E.g. Tables will be SQLTable.
* Built-in

  Whether or not the element was identified as a system-generated Object. \
  E.g. Nonuser defined functions.
* Line

  Location of the reference found inside the file.

![](/files/Bg1To1zO5HADN1JpaAka)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.gapvelocity.ai/blackdiamond-studio-or-mobilize.net/blackdiamond-studio-documentation/code-insights/what-to-expect-insight-reports.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
