Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • P pg_repo
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Metrics
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • packagespackages
  • golanggolang
  • GraphQLGraphQL
  • Old
  • PostgreSQL
  • pg_repo
  • Merge requests
  • !2

[IN-451] Обновление pg_repo: фиксы, go 1.22, покрытие 100%

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged antonizsar13 requested to merge IN-451 into master Oct 10, 2026
  • Overview 0
  • Commits 1
  • Pipelines 1
  • Changes 75
  • primaryChangesService.Update: custom-only кейс (только rel/rtbl поля в set) больше не спамит Warning code=400, теперь Debug с table+arguments; поведение (nil,nil,nil + fallback в PgRepository) сохранено
  • Отмена контекста везде возвращает ctx.Err вместо тихого nil-успеха (раньше мог собраться update/delete без WHERE)
  • PgRepository: фикс инверсии nil-check ctx в GetListByCustomSql, экранирование строковых ID (PG-корректное ''), поддержка []byte PK, починка IN-списка returning для строковых PK, проверка tx.Commit, rows.Err после циклов, мьютекс подписчиков, pointer receivers
  • helpers: EscapeString переписан под PostgreSQL, boolean-дефолт false
  • change/: ok-asserts конфигураций, rows.Err, guard пустого запроса, resolveMapBuilder пропускает null и экранирует строки, arrayProcessor: null -> NULL
  • list/aggregation: фикс EntityFiller для time.Time и bounds-check, nil-guard ResultParser, groupBy nil на пустом, пропуск пустых агрегатов, сохранение nil-вариантов, dateTime ok-check
  • executor: логгер с префиксом, полные err в логах, строгий RowsStub
  • go 1.14 -> 1.22, logrus 1.9.3, sqlx 1.4.0, CI image golang:1.22
  • tests/: dev-стенд вынесен в тестируемые функции, TEST_PG_DSN, unit + интеграционные тесты (docker postgres)
  • Покрытие: 2536/2538 стейтментов (исключение - 2 строки entrypoint main/run: logrus.Fatal и блокирующий server.Run)
  • Публичный API не менялся: сервисам достаточно бампа версии
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: IN-451