SQL: PostgreSQL extensions (PGXS Makefile, *.control, sql/*.sql, pg_regress/TAP tests) are not recognised; scan-build --status-bugs is not a static analyzer run
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 25/100
調査の方向性
Start with ecosystems/sql.py around sql_project (lines 291-297), which only recognises _TOOL_FILES, Flyway paths and pgTAP, then with tools/wrappers.py:13, which treats scan-build as a transparent launcher. Also check ecosystems/c_cpp/ for missing installcheck/prove handling. Done means a PGXS repo fixture (foo.control, sql/, test/sql) is detected as SQL with its pg_regress tests credited, and scan-build --status-bugs make is no longer read as plain make. This spans several subsystems, so ask a maintainer before starting.
索引モデルが issue の本文から書いたものです。
説明
pgvector and pgaudit are the SQL ecosystem's archetype outside dbt (EXTENSION, MODULE_big, DATA = sql/*.sql, REGRESS =, TAP_TESTS = 1, test/sql + test/expected), yet .sql ×57 is unrecognised and the projects are plain C. Their pg_regress and TAP tests run in every CI job (make installcheck, make prove_installcheck) → "no tests found (CTest or Meson)"; pgvector's mac job runs the Clang Static Analyzer with scan-build --status-bugs make (fails on any finding) → "no static analyzer runs" (scan-build is listed as a transparent wrapper in tools/wrappers.py:13). The matrix that matters is the server version (ankane/setup-postgres postgres-version, 15–20) and the valgrind job (check-ub: yes) is the ecosystem's memory/UB check. dbt-utils' ci.yml runs only on workflow_dispatch and create-table-of-contents.yml has on: [], yet ci-present lists both as CI.
Evidence from the corpus audit
pgvector/pgvector, pgaudit/pgaudit / detection
- kind: DETECTION
- actual: map: languages
["C"], ecosystems C/C++, Data, Docker;unrecognised_suffixes:.sql(57 / 2 files),
.control(1),.out(14 / 1),.pl(48 / 1) - expected: SQL detected: both are PostgreSQL extensions, the SQL ecosystem's archetype outside dbt; the control file,
the PGXS Makefile (EXTENSION,MODULE_big,DATA = sql/*.sql) andtest/sql+test/expectedare unambiguous - evidence: pgvector
vector.control:1:comment = 'vector data type and ivfflat and hnsw access methods';
Makefile:1:EXTENSION = vector;Makefile:5:DATA = $(wildcard sql/*--*--*.sql); pgauditMakefile:1:
MODULE_big = pgaudit,Makefile:7:EXTENSION = pgaudit; validatorecosystems/sql.py:291-297(sql_project)
recognises only_TOOL_FILES, Flyway/migrations/paths and pgTAPSELECT plan(;docs/ecosystems/sql.md:3-7
documents the same list - repro: a repo with
foo.control,MakefilecontainingEXTENSION = foo/PGXS := $(shell $(PG_CONFIG) --pgxs),
sql/foo--1.0.sql,test/sql/a.sql,test/expected/a.out - confidence: high
pgvector/pgvector, pgaudit/pgaudit / tests-run
- kind: FALSE_NEGATIVE
- actual: FAIL: "no tests found (tests registered with CTest (...) or tests registered with Meson's test() in meson.build)"
- expected: PASS: pg_regress tests (
REGRESS =) and TAP tests (TAP_TESTS = 1,test/t/*.pl) exist and every CI
job runs them withmake installcheck/make prove_installcheck - evidence: pgvector
Makefile:10-11:TESTS = $(wildcard test/sql/*.sql)/REGRESS = $(patsubst test/sql/%.sql,%,$(TESTS));Makefile:60:prove_installcheck:;.github/workflows/build.yml:35:- run: make installcheck,:41:- run: make prove_installcheck,:125-126:sudo -u postgres make installcheck/
sudo -u postgres make prove_installcheck; pgauditMakefile:12:REGRESS = pgaudit,:15:TAP_TESTS = 1,
test/test.sh:14:make -C /pgaudit installcheck USE_PGXS=1; validator: noinstallcheck/pg_regress/prove
anywhere underecosystems/c_cpp/(grep returns nothing) - repro:
MakefilewithREGRESS = a+include $(PGXS),test/sql/a.sql, workflow steprun: make installcheck - confidence: high
pgvector/pgvector / static-analysis
- kind: FALSE_NEGATIVE (also UNREAD: no unknown raised)
- actual: FAIL: "C/C++: no static analyzer runs"
- expected: PASS (or ERROR in the strict run): the mac job runs the Clang Static Analyzer over the whole build with
--status-bugs, which fails the job on any finding - evidence:
.github/workflows/build.yml:77:- run: make clean && $(brew --prefix llvm@$LLVM_VERSION)/bin/scan-build --status-bugs make; validatortools/wrappers.py:13:*((name,) for name in ("emcmake", "emmake", "emconfigure", "scan-build", "ccache", "sccache"))lists scan-build as a transparent launcher, so even a plainscan-build make
is read asmake; the$(brew --prefix ...)/bin/program prefix is a command substitution, yet the strict.txt
has no ERROR for static-analysis (strict and allow outputs are identical) - repro: workflow step
run: scan-build --status-bugs makeon a C project with a Makefile - confidence: high (that it is not credited); medium (which of the two causes applies here)
pgvector/pgvector / platform-matrix, sanitizers
- kind: UNSUPPORTED
- actual: platform-matrix PASS "3 OS(es), 3 compiler(s)"; sanitizers FAIL "no sanitizers found"
- expected: the matrix that matters for a Postgres extension is the server version (15-20 here, via
ankane/setup-postgrespostgres-version), and the valgrind job (ankane/setup-postgres-valgrind,check-ub: yes)
is the ecosystem's memory/UB check; neither is known - evidence:
.github/workflows/build.yml:11-22matrixpostgres: 20 ... 15;:27:postgres-version: ${{ matrix.postgres }};:136-139:- uses: ankane/setup-postgres-valgrind@v1/postgres-version: 18/
check-ub: yes; validator:grep -rn valgrind project_validator/returns nothing - repro: unclear (new tool knowledge)
- confidence: medium
dbt-labs/dbt-utils / ci-present
- kind: MESSAGE
- actual: PASS: lists
.github/workflows/ci.ymland.github/workflows/create-table-of-contents.ymlas CI; the strict
run's ERRORs cascade fromci.yml's reusable workflow - expected: a note that
ci.ymlruns only onworkflow_dispatch(its automatic triggers are commented out) and
create-table-of-contents.ymlnever runs (on: []): the project's actual CI is CircleCI - evidence:
.github/workflows/ci.yml:12-19:# Automatic triggers temporarily disabled while investigating .../
workflow_dispatch:;.github/workflows/create-table-of-contents.yml:8:on: [] - repro: a workflow with
on: [] - confidence: medium
Found by the regression-corpus audit (235 real repositories, one or more per ecosystem profile; corpus and expected results in corpus/). Evidence is quoted from the audited checkouts at the commits pinned in corpus/projects.toml; <checkouts>/<owner>__<repo> is such a checkout.
🤖 Generated with Claude Code
- 主要言語
- Python
- スター
- 4
- フォーク
- 1
- 平均マージ
- 10時間 41分
- マージ済み PR(30日)
- 79
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
cpp-best-practices/project_validator のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
cpp-best-practices/project_validator#267 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
cpp-best-practices/project_validator#263 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
cpp-best-practices/project_validator#260 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
cpp-best-practices/project_validator#259 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
cpp-best-practices/project_validator#255 ·
メンテナーはふだん 1 日以内に返信
cpp-best-practices/project_validator の issue をすべて見る
似ている issue
-
plot_graph crashes when a mesh node has no m2m edge対応中かも @tygvi が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
mllam/neural-lam#883 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
enhancement possible-duplicate
難易度 1/5 1〜3時間 初心者へのやさしさ 78/100
AOSSIE-Org/PictoPy#1715 · コメント 2 件 ·
メンテナーはふだん 6 日以内に返信
-
SQLite connector omits generated columns from the catalog, and drops relationships sourced on themオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
NVIDIA/auto-ontology#511 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
ethereum/execution-specs#3996 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
Project-N-E-K-O/N.E.K.O#3725 ·
メンテナーはふだん 1 日以内に返信