Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

vertical-align may stop working with certain CHECK constraint expressions

Aperta
#412 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 8 giorni

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
52/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
postgresql, sql
Ambito
databases, tooling

Direzione di ricerca

Riprodurre il problema con l’SQL fornito in pgFormatter 5.11, confrontando la tabella con il vincolo CHECK con la tabella seguente. Tracciare il comportamento della formattazione vertical-align intorno alle espressioni CHECK; il lavoro è completato quando entrambe le tabelle e le istruzioni successive ricevono un allineamento verticale coerente, con una copertura per l’esempio segnalato.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Thank you for developing and maintaining such a useful tool.

The long-awaited vertical-align feature was added in the latest version: #398

However, although I have not been able to determine the exact conditions that trigger the issue, it seems that certain CHECK constraint expressions can cause vertical alignment not to be applied.

For example, with the following SQL, vertical alignment is not applied to sample_with_check. Once this happens, vertical alignment is also not applied to the SQL statements that follow it, such as sample_after_check.

This does not seem to occur with every CHECK constraint, so the issue may depend on the contents or structure of the constraint expression.

I am using pgFormatter version 5.11 on macOS.

CREATE TABLE sample_with_check
(
    id VARCHAR(36) NOT NULL,
    code SMALLINT NOT NULL,
    description VARCHAR(255),
    CONSTRAINT ck_code_description
        CHECK (code <> 4 OR (description IS NOT NULL AND description <> ''))
);

CREATE TABLE sample_after_check
(
    id SERIAL NOT NULL,
    description TEXT NOT NULL,
    PRIMARY KEY (id)
);
Lingua principale
PLpgSQL
Stelle
2k
Fork
121
Merge medio
5g 23h
PR unite (30g)
8

Preparare l'ambiente

  • Include un Dockerfile o un file Docker Compose
  • Nessun modello di pull request
  • Nessuna guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di darold/pgFormatter

Tutte le issue di darold/pgFormatter

Issue simili

Altre issue su Databases

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.