pgcrab 0.2.0

Linting and documentation generation tool for Postgres database schemas
Documentation
// SPDX-FileCopyrightText: 2025 Olivier 'reivilibre'
//
// SPDX-License-Identifier: GPL-3.0-or-later

//! Module for pgCrab-original schema lint rules.

use eyre::WrapErr;
use postgres::Transaction;

use crate::make_lint;

use super::{macros::loc_table, SchemaDiagnostic, SchemaDiagnosticRule};

make_lint!(
    lint_table_without_replica_identity,
    table_without_replica_identity,
    TableWithoutReplicaIdentity,
    loc_table
);

#[allow(clippy::type_complexity)]
pub const LINTS: &[fn(&mut Transaction) -> eyre::Result<Vec<SchemaDiagnostic>>] =
    &[lint_table_without_replica_identity];