diff --git a/.ci/docker-compose.yml b/.ci/docker-compose.yml index bd574344..d77e3362 100644 --- a/.ci/docker-compose.yml +++ b/.ci/docker-compose.yml @@ -1,4 +1,3 @@ -version: '3' services: test: @@ -7,6 +6,6 @@ services: context: .. dockerfile: ./dockerfiles/db/Dockerfile args: - PG_VERSION: ${PG_VERSION:-15} + PG_VERSION: ${PG_VERSION:-18} command: - ./bin/installcheck diff --git a/.github/workflows/coverage.yml b/.github/workflows/coverage.yml index 3ac65857..ec237458 100644 --- a/.github/workflows/coverage.yml +++ b/.github/workflows/coverage.yml @@ -28,10 +28,10 @@ jobs: sudo apt-get install -y --no-install-recommends clang libclang-dev gcc tree # Install requested postgres version - sudo apt install -y postgresql-16 postgresql-server-dev-16 -y + sudo apt install -y postgresql-18 postgresql-server-dev-18 -y # Ensure installed pg_config is first on path - export PATH=$PATH:/usr/lib/postgresql/16/bin + export PATH=$PATH:/usr/lib/postgresql/18/bin curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --no-modify-path --profile minimal --default-toolchain stable && \ rustup --version && \ @@ -43,17 +43,17 @@ jobs: rustup component add llvm-tools-preview cargo install cargo-llvm-cov - cargo install cargo-pgrx --version 0.16.0 --locked - cargo pgrx init --pg16=/usr/lib/postgresql/16/bin/pg_config + cargo install cargo-pgrx --version 0.16.1 --locked + cargo pgrx init --pg18=/usr/lib/postgresql/18/bin/pg_config - sudo chmod a+rw /usr/share/postgresql/16/extension - sudo chmod a+rw /usr/lib/postgresql/16/lib/ + sudo chmod a+rw /usr/share/postgresql/18/extension + sudo chmod a+rw /usr/lib/postgresql/18/lib/ cargo pgrx install source <(cargo llvm-cov show-env --export-prefix) cargo llvm-cov clean --workspace cargo build - cp ./target/debug/libpg_graphql.so /usr/lib/postgresql/16/lib/pg_graphql.so + cp ./target/debug/libpg_graphql.so /usr/lib/postgresql/18/lib/pg_graphql.so ./bin/installcheck cargo llvm-cov report --lcov --output-path lcov.info diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d1b744fc..11dc5ca3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -43,8 +43,8 @@ jobs: package_name: - pg-graphql pgrx_version: - - 0.16.0 - postgres: [14, 15, 16, 17] + - 0.16.1 + postgres: [14, 15, 16, 17, 18] box: - { runner: ubuntu-latest, arch: amd64 } - { runner: u22-arm-runner, arch: arm64 } diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a8e6da85..2e151adc 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,7 +11,7 @@ jobs: name: Run tests strategy: matrix: - postgres: [14, 15, 16, 17] + postgres: [14, 15, 16, 17, 18] runs-on: ubuntu-latest steps: - name: Checkout code diff --git a/.gitignore b/.gitignore index 117981b0..093148fa 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,8 @@ perf.txt query.txt schema.graphql target/ + +# Ignore aider AI tool internal files, and keep any config. +.aider* +!.aider.conf.yml +!.aiderignore.aider* diff --git a/Cargo.lock b/Cargo.lock index c17f7b2a..9ef2ca09 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -257,7 +257,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "374b7c592d9c00c1f4972ea58390ac6b18cbb6ab79011f3bdc90a0b82ca06b77" dependencies = [ "serde", - "toml 0.9.5", + "toml", ] [[package]] @@ -702,12 +702,6 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2304e00983f87ffb38b55b444b5e3b60a884b5d30c0fca7d82fe33449bbe55ea" -[[package]] -name = "hermit-abi" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbf6a919d6cf397374f7dfeeea91d974c7c0a7221d0d0f4f20d859d329e53fcc" - [[package]] name = "hmac" version = "0.12.1" @@ -717,15 +711,6 @@ dependencies = [ "digest", ] -[[package]] -name = "home" -version = "0.5.11" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "589533453244b0995c858700322199b2becb13b627df2851f64a2775d024abcf" -dependencies = [ - "windows-sys 0.59.0", -] - [[package]] name = "icu_collections" version = "1.5.0" @@ -896,17 +881,6 @@ dependencies = [ "cfg-if", ] -[[package]] -name = "is-terminal" -version = "0.4.15" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e19b23d53f35ce9f56aebc7d1bb4e6ac1e9c0db7ac85c8d1760c04379edced37" -dependencies = [ - "hermit-abi", - "libc", - "windows-sys 0.59.0", -] - [[package]] name = "is_ci" version = "1.2.0" @@ -1097,8 +1071,7 @@ version = "4.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "48dd4f4a2c8405440fd0462561f0e5806bd0f77e86f51c761481bdd4018b545e" dependencies = [ - "supports-color 2.1.0", - "supports-color 3.0.2", + "supports-color", ] [[package]] @@ -1180,15 +1153,14 @@ dependencies = [ [[package]] name = "pgrx" -version = "0.16.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c898b37587b29f8fa7ca20bfaaf57103e10fa81e6caed2cc7b742f96088d851" +checksum = "fdcfb88f7fa9ba42b4ea9d1f85a1d968bbb407cc30308b35f73bdfe6c966f64b" dependencies = [ "bitflags", "bitvec", "enum-map", "libc", - "once_cell", "pgrx-macros", "pgrx-pg-sys", "pgrx-sql-entity-graph", @@ -1202,9 +1174,9 @@ dependencies = [ [[package]] name = "pgrx-bindgen" -version = "0.16.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "35439a65a6c0cc17e9758005da0557cff583a3e4da0f92a4a744494ac21c190e" +checksum = "00e35193b7e71e2f612d336cecd00db0f049f4cc609f2b1c9a34755b5ec559d7" dependencies = [ "bindgen", "cc", @@ -1221,9 +1193,9 @@ dependencies = [ [[package]] name = "pgrx-macros" -version = "0.16.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3586274c7d7237e68bebb871cf9244444f1ad78bb395679ad4ef1015db302454" +checksum = "dab542dd4041773874f90cd8e3448195749548dc3fb1daf501e7e11ebfb1dd22" dependencies = [ "pgrx-sql-entity-graph", "proc-macro2", @@ -1233,30 +1205,29 @@ dependencies = [ [[package]] name = "pgrx-pg-config" -version = "0.16.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cc24f6663377dca8797ff3561d9ecdaef47e518ca2e2438fd85ef3c20f421ea" +checksum = "eff9b29df94c3f9fcb0cde220f92eea6975ed05962784a98fb557754ad663501" dependencies = [ "cargo_toml", "codepage", "encoding_rs", "eyre", - "home", "owo-colors", "pathsearch", "serde", "serde_json", "thiserror 2.0.16", - "toml 0.8.19", + "toml", "url", "winapi", ] [[package]] name = "pgrx-pg-sys" -version = "0.16.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b44a35477c0752c00cab38c2d8b7ea2d2d3554e3385870d7ad43e3ae5ade66a9" +checksum = "934f2536953ccb6722bef2cfdfb1f8d6d3cd4a4f2c508d56ec85b649c5680c2b" dependencies = [ "cee-scape", "libc", @@ -1264,14 +1235,13 @@ dependencies = [ "pgrx-macros", "pgrx-sql-entity-graph", "serde", - "sptr", ] [[package]] name = "pgrx-sql-entity-graph" -version = "0.16.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59036a5849c5b0bca0f33df1fdd72206ceb74712959756b3fecba56a8e19d52a" +checksum = "07a767cb9faa612f1ba7f13718136d4006950d6f253b414ef487a03e85c47a94" dependencies = [ "convert_case", "eyre", @@ -1285,9 +1255,9 @@ dependencies = [ [[package]] name = "pgrx-tests" -version = "0.16.0" +version = "0.16.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1455045c6345fcb1f1f441205735719290cb1cd71975e0a37693adb807b1b8a3" +checksum = "e0d5d5f614a32310af2cc1b9587c69e041d97e8ab812d8d31fdcd3d33d27325c" dependencies = [ "clap-cargo", "eyre", @@ -1671,15 +1641,6 @@ dependencies = [ "serde", ] -[[package]] -name = "serde_spanned" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1" -dependencies = [ - "serde", -] - [[package]] name = "serde_spanned" version = "1.0.0" @@ -1737,12 +1698,6 @@ dependencies = [ "windows-sys 0.52.0", ] -[[package]] -name = "sptr" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b9b39299b249ad65f3b7e96443bad61c02ca5cd3589f46cb6d610a0fd6c0d6a" - [[package]] name = "stable_deref_trait" version = "1.2.0" @@ -1772,16 +1727,6 @@ version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" -[[package]] -name = "supports-color" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6398cde53adc3c4557306a96ce67b302968513830a77a95b2b17305d9719a89" -dependencies = [ - "is-terminal", - "is_ci", -] - [[package]] name = "supports-color" version = "3.0.2" @@ -1975,18 +1920,6 @@ dependencies = [ "tokio", ] -[[package]] -name = "toml" -version = "0.8.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a1ed1f98e3fdc28d6d910e6737ae6ab1a93bf1985935a1193e68f93eeb68d24e" -dependencies = [ - "serde", - "serde_spanned 0.6.8", - "toml_datetime 0.6.8", - "toml_edit", -] - [[package]] name = "toml" version = "0.9.5" @@ -1995,22 +1928,13 @@ checksum = "75129e1dc5000bfbaa9fee9d1b21f974f9fbad9daec557a521ee6e080825f6e8" dependencies = [ "indexmap", "serde", - "serde_spanned 1.0.0", - "toml_datetime 0.7.0", + "serde_spanned", + "toml_datetime", "toml_parser", "toml_writer", "winnow", ] -[[package]] -name = "toml_datetime" -version = "0.6.8" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" -dependencies = [ - "serde", -] - [[package]] name = "toml_datetime" version = "0.7.0" @@ -2020,19 +1944,6 @@ dependencies = [ "serde", ] -[[package]] -name = "toml_edit" -version = "0.22.23" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02a8b472d1a3d7c18e2d61a489aee3453fd9031c33e4f55bd533f4a7adca1bee" -dependencies = [ - "indexmap", - "serde", - "serde_spanned 0.6.8", - "toml_datetime 0.6.8", - "winnow", -] - [[package]] name = "toml_parser" version = "1.0.2" @@ -2435,9 +2346,6 @@ name = "winnow" version = "0.7.13" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "21a0236b59786fed61e2a80582dd500fe61f18b5dca67a4a067d0bc9039339cf" -dependencies = [ - "memchr", -] [[package]] name = "wit-bindgen-rt" diff --git a/Cargo.toml b/Cargo.toml index 4e6e74ac..a858b08a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,15 +11,16 @@ name = "pgrx_embed_pg_graphql" path = "./src/bin/pgrx_embed.rs" [features] -default = ["pg16"] +default = ["pg18"] pg14 = ["pgrx/pg14", "pgrx-tests/pg14"] pg15 = ["pgrx/pg15", "pgrx-tests/pg15"] pg16 = ["pgrx/pg16", "pgrx-tests/pg16"] pg17 = ["pgrx/pg17", "pgrx-tests/pg17"] +pg18 = ["pgrx/pg18", "pgrx-tests/pg18"] pg_test = [] [dependencies] -pgrx = "=0.16.0" +pgrx = "=0.16.1" graphql-parser = "0.4" serde = { version = "1.0", features = ["rc"] } serde_json = "1.0" @@ -36,7 +37,7 @@ indexmap = "2.2" thiserror = "2.0" [dev-dependencies] -pgrx-tests = "=0.16.0" +pgrx-tests = "=0.16.1" [profile.dev] panic = "unwind" diff --git a/dockerfiles/db/Dockerfile b/dockerfiles/db/Dockerfile index 3638b29b..853b95a9 100644 --- a/dockerfiles/db/Dockerfile +++ b/dockerfiles/db/Dockerfile @@ -1,4 +1,4 @@ -ARG PG_VERSION=17 +ARG PG_VERSION=18 FROM postgres:${PG_VERSION} RUN apt-get update @@ -28,7 +28,7 @@ RUN \ cargo --version # PGRX -RUN cargo install cargo-pgrx --version 0.16.0 --locked +RUN cargo install cargo-pgrx --version 0.16.1 --locked RUN cargo pgrx init --pg${PG_MAJOR} $(which pg_config)