Updated on 2024-11-07 GMT+08:00

Viewing File Details

Scenarios

You can view details about the uploaded SQL files.

Prerequisites

A file has been uploaded.

Procedure

  1. Log in to the UGO console.
  2. In the navigation pane on the left, choose SQL Audit > Statement Audit. Click the SQL from Files tab.
  3. Locate a task and click View Details in the Operation column to view the SQL file audit information and collected SQL statements.

    • Export SQL: Select one or more SQL statements to be exported and click Export SQL to export them to a .tar.gz file.
      • By default, all SQL statements are exported. You can also select SQL statements to export, or set search criteria to export desired ones.
      • By default, The exported Excel file contains existing SQL statements is selected. If the existing SQL statements are too large, do not select this option.
      • If the existing SQL statements in the exported file are too large, save them in a separate file whose name will be displayed in the SQL Statement column in the Excel file.
      • You can export a maximum of 5,000 objects to an Excel file.
      • If the table structure information which the SQL statement to be audited depends on contains more than 30,000 characters, it is exported as a SQL file.
    • In the File Audit Information area, you can view the file name, audit status, and data source information.
    • In the SQL Statements area, you can view SQL ID, SQL statement, description, risk level, and status.
    Figure 1 Audit details
    • Click the value next to Rule Template to view the specific template information.
    • The status can be:
      • New: The collected SQL statement is waiting for audit.
      • Completed: The audit is complete.
      • Analyze_error: Failed to parse SQL statements.
      • Error: An exception occurred during the audit.
      • Ignore: The SQL statement cannot be audited or the size of a single SQL statement exceeds the threshold. The default threshold is 100 KB.
    • Parsing failure cause:
      • line:1, position:14, token:table indicates the SQL statement contains table.
      • line:1, position:3, token:<EOF> indicates that the SQL statement is incomplete.

  4. Locate a SQL statement and click View Details in the Operation column to display the basic information, violated rules, and table structure of the SQL statement.

    • If multiple SQL statements are collected, you can click Previous or Next.
      Figure 2 Viewing SQL audit details
    • Basic Information: The specific SQL statement and description are displayed.
    • Violated Rules: Based on the selected rule template, the system provides the violated rule name, risk level, and suggestions.

      Click the content in the Problem Segment column to highlight the problem segment in the text. To cancel the highlight, click the content again. The PL/SQL code may have multiple problem fragments. Click on the left to display all problem fragments.

    • Unmatched Rules: The rules related to the source database are not matched because: no data source is selected, the data source connection fails, the user permission is insufficient, the schema is incorrectly selected, or the table is not found. The displayed information includes the rule name, risk level, and unmatched reason.
    • Table Structure: Based on the selected rule template, the system provides the table structure information that the SQL statement to be audited depends on, including the object name, object type, and owner.
    • Execution Plans: The execution plans of the SELECT, UPDATE, DELETE, and INSERT statements are displayed.

      To obtain the table structure, you must have the permissions to read system catalogs and system views.

      GaussDB system catalogs: tables, pg_class, pg_namespace, relnamespace, pgxc_class, pg_settings, pg_get_viewdef, columns, pg_tables, pg_index, table_constraints, pg_partition, pg_get_tabledef, check_constraints, key_column_usage, pg_get_keywords, gs_package, db_constraints, and adm_ind_columns.

      MySQL system catalogs: information_schema.tables, information_schema.columns, information_schema.statistics, and information_schema.table_constraints.