Skip to content

Check report format

lokadb check -json is the machine format of the compatibility report: for an application's CI, for interfaces and for tools. The text report is for people; this format is the contract.

  • It carries a schema_version, and finding codes are never renamed. Codes that are no longer produced are listed as retired (finding codes).
  • Each finding has a stable key (code and object), a parsed subject, the patterns (query patterns with their fingerprints, calls, tables, roles and source), transactions and a measure.
  • The report echoes its input (spec, policy with allow fingerprints, LokaDB version) so two reports can be compared, and it contains no values from data rows, only names, numbers and SQL without literals.
  • In CI, check -ci -baseline accepted.json exits 0 when nothing is new and 6 when something is (check an application).

The format, with a JSON Schema of version 1, the list of finding codes and sample reports, is also published in lokadb/check.

Fields

Every field the report can contain, with its type, generated from the program's own test data. Paths with [] repeat for every element.

Field Type
ci.accepted number
ci.accepted_without_reason number
ci.baseline string
ci.new[].code string
ci.new[].hint string
ci.new[].key string
ci.new[].object string
ci.new[].pattern.calls number
ci.new[].pattern.fingerprint string
ci.new[].pattern.gaps[].cloud bool
ci.new[].pattern.gaps[].column string
ci.new[].pattern.gaps[].form string
ci.new[].pattern.gaps[].kind string
ci.new[].pattern.gaps[].table string
ci.new[].pattern.note string
ci.new[].pattern.roles []string
ci.new[].pattern.sources []string
ci.new[].pattern.sql string
ci.new[].pattern.tables []string
ci.new[].pattern.write bool
ci.new[].severity string
ci.stale[].code string
ci.stale[].fingerprint string
ci.stale[].key string
ci.stale[].object string
ci.stale[].reason string
ci.stale[].sql string
database string
discovery.key string
discovery.key_kind string
discovery.org_table string
discovery.spec.routing.cloud_tables[].table string
discovery.spec.routing.cloud_tables[].tenant_column string
discovery.spec.routing.keys[].column string
discovery.spec.routing.keys[].table string
discovery.spec.routing.relations[].confirmed bool
discovery.spec.routing.relations[].from string
discovery.spec.routing.relations[].to string
discovery.spec.tables[].name string
discovery.spec.tables[].parent_column string
discovery.spec.tables[].parent_table string
discovery.spec.tables[].tenant_column string
discovery.tables[].basis string
discovery.tables[].code string
discovery.tables[].column string
discovery.tables[].options[].column string
discovery.tables[].options[].target string
discovery.tables[].parent string
discovery.tables[].path []string
discovery.tables[].reason string
discovery.tables[].role string
discovery.tables[].table string
fanout.allow []string
fanout.mode string
fanout.source string
fanout_policy string
findings[].code string
findings[].examples []string
findings[].key string
findings[].measure.method string
findings[].measure.of number
findings[].measure.rows number
findings[].message string
findings[].object string
findings[].patterns[].calls number
findings[].patterns[].fingerprint string
findings[].patterns[].gaps[].cloud bool
findings[].patterns[].gaps[].column string
findings[].patterns[].gaps[].form string
findings[].patterns[].gaps[].kind string
findings[].patterns[].gaps[].table string
findings[].patterns[].note string
findings[].patterns[].roles []string
findings[].patterns[].sources []string
findings[].patterns[].sql string
findings[].patterns[].tables []string
findings[].patterns[].write bool
findings[].severity string
findings[].subject.cloud_tables []string
findings[].subject.column string
findings[].subject.columns []string
findings[].subject.constraint string
findings[].subject.database string
findings[].subject.extension string
findings[].subject.fingerprint string
findings[].subject.kind string
findings[].subject.lokadb_tables []string
findings[].subject.partition_of string
findings[].subject.partitions []string
findings[].subject.path string
findings[].subject.reason string
findings[].subject.ref_columns []string
findings[].subject.ref_schema string
findings[].subject.ref_table string
findings[].subject.role string
findings[].subject.schema string
findings[].subject.setting string
findings[].subject.side string
findings[].subject.table string
findings[].suggestion.calls number
findings[].suggestion.data_check.parents_found number
findings[].suggestion.data_check.parents_of_another_organization number
findings[].suggestion.data_check.rows number
findings[].suggestion.key_check.duplicate_values number
findings[].suggestion.key_check.nulls number
findings[].suggestion.key_check.rows number
findings[].suggestion.kind string
findings[].suggestion.patterns []string
findings[].suggestion.routing.cloud_tables[].table string
findings[].suggestion.routing.cloud_tables[].tenant_column string
findings[].suggestion.routing.keys[].column string
findings[].suggestion.routing.keys[].table string
findings[].suggestion.routing.relations[].confirmed bool
findings[].suggestion.routing.relations[].from string
findings[].suggestion.routing.relations[].to string
findings[].transactions[].cloud_tables []string
findings[].transactions[].count number
findings[].transactions[].lokadb_tables []string
findings[].transactions[].shapes number
findings[].transactions[].statements[].fingerprint string
findings[].transactions[].statements[].sql string
findings[].transactions[].statements[].tables []string
findings[].transactions[].statements[].write bool
latency.exchanges.direct_statement number
latency.exchanges.fdw_insert number
latency.exchanges.fdw_select number
latency.exchanges.fdw_transaction number
latency.exchanges.fdw_update_delete_parent number
latency.exchanges.fdw_update_partition number
latency.exchanges.target_commit number
latency.model string
latency.rtt_ms number
latency.total_direct_ms number
latency.total_fdw_ms number
latency.total_target_ms number
latency.transactions[].all_organizations bool
latency.transactions[].count number
latency.transactions[].exchanges_direct number
latency.transactions[].exchanges_fdw number
latency.transactions[].exchanges_target number
latency.transactions[].ms_direct number
latency.transactions[].ms_fdw number
latency.transactions[].ms_target number
latency.transactions[].single_statement bool
latency.transactions[].statements[].all_organizations bool
latency.transactions[].statements[].exchanges_direct number
latency.transactions[].statements[].exchanges_fdw number
latency.transactions[].statements[].exchanges_target number
latency.transactions[].statements[].fingerprint string
latency.transactions[].statements[].kind string
latency.transactions[].statements[].repeats number
latency.transactions[].statements[].repeats_counted bool
latency.transactions[].statements[].sql string
lokadb_version string
profile.calls number
profile.calls_direct number
profile.current_profile string
profile.org number
profile.profile string
profile.query_patterns number
profile.query_patterns_direct number
profile.query_patterns_direct_by_values number
profile.reasons[].calls number
profile.reasons[].examples []string
profile.reasons[].fingerprints []string
profile.reasons[].query_patterns number
profile.reasons[].reason string
profile.transactions.shapes number
profile.transactions.shapes_direct number
profile.transactions.shapes_fdw_after_cloud number
profile.transactions.shapes_fdw_after_direct number
profile.transactions.shapes_naming_organization number
profile.transactions.shapes_two_connections number
profile.transactions.transactions number
profile.transactions.transactions_direct number
schema_version number
spec.routing.cloud_tables[].table string
spec.routing.cloud_tables[].tenant_column string
spec.routing.keys[].column string
spec.routing.keys[].table string
spec.routing.relations[].confirmed bool
spec.routing.relations[].from string
spec.routing.relations[].to string
spec.tables[].name string
spec.tables[].parent_column string
spec.tables[].parent_table string
spec.tables[].tenant_column string
suggested_routing.cloud_tables[].table string
suggested_routing.cloud_tables[].tenant_column string
suggested_routing.keys[].column string
suggested_routing.keys[].table string
suggested_routing.relations[].confirmed bool
suggested_routing.relations[].from string
suggested_routing.relations[].to string
suggested_spec.routing.cloud_tables[].table string
suggested_spec.routing.cloud_tables[].tenant_column string
suggested_spec.routing.keys[].column string
suggested_spec.routing.keys[].table string
suggested_spec.routing.relations[].confirmed bool
suggested_spec.routing.relations[].from string
suggested_spec.routing.relations[].to string
suggested_spec.tables[].name string
suggested_spec.tables[].parent_column string
suggested_spec.tables[].parent_table string
suggested_spec.tables[].tenant_column string
summary.query_patterns number
summary.query_patterns_refused_by_proxy number
summary.query_patterns_without_organization number
summary.tables number
summary.tables_ready number
summary.tables_unsupported number
summary.transaction_patterns number
summary.transaction_patterns_writing_cloud_and_lokadb number
summary.transactions_checked bool
summary.unique_constraints_becoming_per_organization number
tables[].name string
tables[].ready bool
tables[].rows_estimate number
tables[].schema string
tables[].state string
tables[].tenant string
verdict string
workload_sources []string