mirror of
https://github.com/frappe/erpnext.git
synced 2026-08-11 05:31:48 +00:00
The PostgreSQL server-test job is label-gated, so until it is required the Greptile PR-review bot is the always-on guard against cross-engine breaks. Extend .greptile/config.json with `instructions` (and a `customContext` reference to a new guide) so every review flags new/changed queries that would error on PostgreSQL or silently diverge from MariaDB, under the prime rule that MariaDB output must not change. - .github/POSTGRES_COMPATIBILITY.md — the catalogue the bot (and contributors) follow: hard breaks (loose GROUP BY, MySQL-only funcs, UPDATE..JOIN, HAVING-on-alias, DISTINCT+ORDER BY, single-quoted alias, varchar bitwise OR, capital identifiers, set_value(Check,bool)), silent divergences (text case-sensitivity, name-lookup case, empty-string↔NULL, NULL ordering, ORDER BY..LIMIT 1 tiebreakers, integer division, distinct-drops-ORDER-BY-on-PG + casefold sorting, function-rewrite parity, UnixTimestamp TZ), the GROUP BY row-count trap (Max()-wrap vs add-to-GROUP-BY; FD-by-source-table), the InFailedSqlTransaction/savepoint rule, and the false positives NOT to flag (.like→ILIKE, ifnull/backtick/LOCATE/REGEXP auto-translation, MariaDB-changing tiebreakers). - Existing disabledLabels and frappe/frappe context are preserved.