Skip to content

Commit

Permalink
release: 0.2.0-beta.0 (#221)
Browse files Browse the repository at this point in the history
* wip: Update binary generator

Signed-off-by: Ana Hobden <[email protected]>

* wip: improvements from Sage

Signed-off-by: Ana Hobden <[email protected]>

* wip: slightly cursed generator placement

Signed-off-by: Ana Hobden <[email protected]>

* wip: better messages on generator checker

Signed-off-by: Ana Hobden <[email protected]>

* wip: sort inventory to achieve stable graph

Signed-off-by: Ana Hobden <[email protected]>

* wip: add example of desired macro

Signed-off-by: Ana Hobden <[email protected]>

* wip: get partial extension sql dependencies working

Signed-off-by: Ana Hobden <[email protected]>

* wip: cargo-fmt

Signed-off-by: Ana Hobden <[email protected]>

* wip: add missing files

Signed-off-by: Ana Hobden <[email protected]>

* wip: add control file for example

Signed-off-by: Ana Hobden <[email protected]>

* wip: correct some linkage

Signed-off-by: Ana Hobden <[email protected]>

* wip: format

Signed-off-by: Ana Hobden <[email protected]>

* wip: better bootstrap/finalize support

Signed-off-by: Ana Hobden <[email protected]>

* wip: bootstrap above schemas

Signed-off-by: Ana Hobden <[email protected]>

* wip: cleanup type registration

Signed-off-by: Ana Hobden <[email protected]>

* wip: improve structure some

Signed-off-by: Ana Hobden <[email protected]>

* wip: cleanup tests

Signed-off-by: Ana Hobden <[email protected]>

* wip: improve dot and verbose on cargo pgx schema

Signed-off-by: Ana Hobden <[email protected]>

* wip: support trace

Signed-off-by: Ana Hobden <[email protected]>

* wip: fix return arrow direction

Signed-off-by: Ana Hobden <[email protected]>

* wip: fix dot default

Signed-off-by: Ana Hobden <[email protected]>

* wip: better errors on unknown types

Signed-off-by: Ana Hobden <[email protected]>

* Don't look up the type oid for types that never use it

Getting function argument type oids can be surprisingly expensive; one
Promscale benchmark measures it as taking over 10% of runtime.
Fortunately, most types do not actually make use of this information,
and the `getarg_type()` call can be optimized out if this fact is
known. This commit adds an opt-in method for declaring that a type does
not make use of the `typeoid` in `from_datum()`, and updates
`pg_getarg()` to make use of this information.

This commit makes the following changes:
 1. It adds a `const` boolean to `FromDatum` called `NEEDS_TYPID`. This
    boolean is defaulted to `true`. Types that never use the `typeoid`
    parameter to `from_datum()` can override this to `false`.
 2. `pg_getarg()` updated to look at `T::NEEDS_TYPID` before calling
    `get_getarg_type()`. If `T::NEEDS_TYPID == true` it calls
    `get_getarg_type()` like it currently does for all types; if it is
    `false` it instead passes `InvalidOid` as the (unused) `typeoid`
    argument to `from_datum()`.
 3. It edits a number of built in types to make use of this
    optimization.

Since this feature is both opt-in and backwards compatible, it should
not break any downstream users.

* wip: handle inner impl trait on box and option

Signed-off-by: Ana Hobden <[email protected]>

* wip: Support PgBox

Signed-off-by: Ana Hobden <[email protected]>

* wip: resolve some lifetime issues with fn args

Signed-off-by: Ana Hobden <[email protected]>

* wip: resolve schema and name aliasing issues

Signed-off-by: Ana Hobden <[email protected]>

* wip: uncomment test

Signed-off-by: Ana Hobden <[email protected]>

* fmt

Signed-off-by: Ana Hobden <[email protected]>

* wip: Support variadic

Signed-off-by: Ana Hobden <[email protected]>

* wip: schema resolution a bit more strict

Signed-off-by: Ana Hobden <[email protected]>

* Don't run all tests in cargo pgx test

In a workspace this will run non-extension tests as well which is
inconsistent with `cargo test`. The old behavior can be recovered with
the new `--workspace` flag.

* wip: ord/hash linkage

Signed-off-by: Ana Hobden <[email protected]>

* wip: fix duplicated module magic

Signed-off-by: Ana Hobden <[email protected]>

* wip: handle non-existing sql dir

Signed-off-by: Ana Hobden <[email protected]>

* wip: ignore some tests

Signed-off-by: Ana Hobden <[email protected]>

* wip: fix errror example

Signed-off-by: Ana Hobden <[email protected]>

* wip: use old bindings

Signed-off-by: Ana Hobden <[email protected]>

* wip: fixups

Signed-off-by: Ana Hobden <[email protected]>

* wip: add some docs

Signed-off-by: Ana Hobden <[email protected]>

* chore: some cleaning and docs

Signed-off-by: Ana Hobden <[email protected]>

* chore: move around From/Intos

Signed-off-by: Ana Hobden <[email protected]>

* chore: more idiomatic structuring of pg_inventory

Signed-off-by: Ana Hobden <[email protected]>

* chore: create ToSql

Signed-off-by: Ana Hobden <[email protected]>

* chore: some tidying on pg_inventory

Signed-off-by: Ana Hobden <[email protected]>

* chore: rearrange some things:

Signed-off-by: Ana Hobden <[email protected]>

* chore: introduce build_base_edges

Signed-off-by: Ana Hobden <[email protected]>

* chore: fmt

Signed-off-by: Ana Hobden <[email protected]>

* chore: we can use a HashSet

Signed-off-by: Ana Hobden <[email protected]>

* feat: introduce skip_inventory attribute in certain places

Signed-off-by: Ana Hobden <[email protected]>

* chore: document skip_inventory

Signed-off-by: Ana Hobden <[email protected]>

* chore: fmt

Signed-off-by: Ana Hobden <[email protected]>

* chore: enable skip_inventory on all

Signed-off-by: Ana Hobden <[email protected]>

* chore: add functional doctests for several derives

Signed-off-by: Ana Hobden <[email protected]>

* chore: add some docs to pg_inventory

Signed-off-by: Ana Hobden <[email protected]>

* chore: functional test for PostgresEnum

Signed-off-by: Ana Hobden <[email protected]>

* chore: add functional test for PostgresType

Signed-off-by: Ana Hobden <[email protected]>

* chore: functional tests for PostgresOrd and PostgresHash

Signed-off-by: Ana Hobden <[email protected]>

* Added support for uuid PostgreSQL type

* Added formatting for Uuid type, compatible with PostgreSQL uuid_out result

* chore: update docs

Signed-off-by: Ana Hobden <[email protected]>

* chore: fix some documentation

Signed-off-by: Ana Hobden <[email protected]>

* chore: add pg_extern test

Signed-off-by: Ana Hobden <[email protected]>

* Added Uuid::as_bytes to allow conversion from pgx::Uuid to uuid::Uuid if necessary

* feat: initial 'creates' syntax for extension_sql

Signed-off-by: Ana Hobden <[email protected]>

* feat: extension_sql creates don't need pgbox, option, etc

Signed-off-by: Ana Hobden <[email protected]>

* feat: infer module paths for extension_sql creates

Signed-off-by: Ana Hobden <[email protected]>

* chore: fixup struct tests

Signed-off-by: Ana Hobden <[email protected]>

* chore: fmt

Signed-off-by: Ana Hobden <[email protected]>

* chore: cleanup PgxSql::build

Signed-off-by: Ana Hobden <[email protected]>

* chore: clean up logs some

Signed-off-by: Ana Hobden <[email protected]>

* chore: get inventory items parsing even when skipped

Signed-off-by: Ana Hobden <[email protected]>

* chore: Add a creates doc

Signed-off-by: Ana Hobden <[email protected]>

* chore: fix some comments

Signed-off-by: Ana Hobden <[email protected]>

* chore: Use block doc comments in some long places

Signed-off-by: Ana Hobden <[email protected]>

* chore: add pgx.control

Signed-off-by: Ana Hobden <[email protected]>

* chore: improve note about overrides

Signed-off-by: Ana Hobden <[email protected]>

* chore: patch variadic positioning

Signed-off-by: Ana Hobden <[email protected]>

* chore: use old pgx-pg-sys

Signed-off-by: Ana Hobden <[email protected]>

* chore: improve default sql path consistency

Signed-off-by: Ana Hobden <[email protected]>

* feat: let pgx schema take a pg11/12 etc param

Signed-off-by: Ana Hobden <[email protected]>

* chore: fixup schema arg req

Signed-off-by: Ana Hobden <[email protected]>

* chore: fmt

Signed-off-by: Ana Hobden <[email protected]>

* feat: remove need for pgx-utils or pgx-macros in user crates

Signed-off-by: Ana Hobden <[email protected]>

* chore: once again reset pg sys bindings

Signed-off-by: Ana Hobden <[email protected]>

* chore: fixup some stray pgx-utils imports

Signed-off-by: Ana Hobden <[email protected]>

* chore: clear out remaining pgx-utils needs for inventory

Signed-off-by: Ana Hobden <[email protected]>

* chore: improve some documentation

Signed-off-by: Ana Hobden <[email protected]>

* chore: once again reset pgx-pg-sys

Signed-off-by: Ana Hobden <[email protected]>

* feat: functional custom_sql test

Signed-off-by: Ana Hobden <[email protected]>

* wip: cleaning

Signed-off-by: Ana Hobden <[email protected]>

* chore: handle default inside option

Signed-off-by: Ana Hobden <[email protected]>

* feat: support Oid

Signed-off-by: Ana Hobden <[email protected]>

* feat: Oids in returns too

Signed-off-by: Ana Hobden <[email protected]>

* feat: partially support Box<dyn Iterator>

Signed-off-by: Ana Hobden <[email protected]>

* feat: finish Box<dyn Iterator>> support

Signed-off-by: Ana Hobden <[email protected]>

* chore: remove stray test

Signed-off-by: Ana Hobden <[email protected]>

* chore: fix handling of Oid in named

Signed-off-by: Ana Hobden <[email protected]>

* chore: add custom_sql to github actions

Signed-off-by: Ana Hobden <[email protected]>

* chore: workaround Rust 1.54/Inventory issue

Signed-off-by: Ana Hobden <[email protected]>

* chore: remove generated sqls

Signed-off-by: Ana Hobden <[email protected]>

* feat: extra annotations on extension_sql output

Signed-off-by: Ana Hobden <[email protected]>

* chore: support default with f64

Signed-off-by: Ana Hobden <[email protected]>

* chore: support bool in default

Signed-off-by: Ana Hobden <[email protected]>

* chore: strip debugging symbol

Signed-off-by: Ana Hobden <[email protected]>

* wip: checkpoint a new method supporting incremental compilation

Signed-off-by: Ana Hobden <[email protected]>

* wip: get links exposed in binary

Signed-off-by: Ana Hobden <[email protected]>

* wip: get symbols passing

Signed-off-by: Ana Hobden <[email protected]>

* wip: get custom_types example working

Signed-off-by: Ana Hobden <[email protected]>

* wip: make linker script more defined

Signed-off-by: Ana Hobden <[email protected]>

* wip: cleanup cargo lock

Signed-off-by: Ana Hobden <[email protected]>

* wip: update flake lock

Signed-off-by: Ana Hobden <[email protected]>

* wip: support arm

Signed-off-by: Ana Hobden <[email protected]>

* feat: clean up new sql generation method

Signed-off-by: Ana Hobden <[email protected]>

* chore: fixup extern ident fn

Signed-off-by: Ana Hobden <[email protected]>

* chore: handle duplicated schema names

Signed-off-by: Ana Hobden <[email protected]>

* chore: cleanup cargo pgx schema output

Signed-off-by: Ana Hobden <[email protected]>

* chore: return to proper typeids

Signed-off-by: Ana Hobden <[email protected]>

* chore: remove some cruft

Signed-off-by: Ana Hobden <[email protected]>

* feat: let cargo pgx schema work quieter

Signed-off-by: Ana Hobden <[email protected]>

* chore: repair cargo settings on examples

Signed-off-by: Ana Hobden <[email protected]>

* chore: cleanup imports

Signed-off-by: Ana Hobden <[email protected]>

* chore: improve formatting and output

Signed-off-by: Ana Hobden <[email protected]>

* chore: use feature flag in pgx-tests

Signed-off-by: Ana Hobden <[email protected]>

* chore: fixup tests

Signed-off-by: Ana Hobden <[email protected]>

* chore: update help

Signed-off-by: Ana Hobden <[email protected]>

* chore: use requires instead of before/after

Signed-off-by: Ana Hobden <[email protected]>

* chore: fixup tests

Signed-off-by: Ana Hobden <[email protected]>

* chore: remove skip_inventory

Signed-off-by: Ana Hobden <[email protected]>

* feat: suport requires in pg_extern

Signed-off-by: Ana Hobden <[email protected]>

* chore: cleanup requires code

Signed-off-by: Ana Hobden <[email protected]>

* chore: color a log

Signed-off-by: Ana Hobden <[email protected]>

* chore: improve positioning ref resolution

Signed-off-by: Ana Hobden <[email protected]>

* chore: docs

Signed-off-by: Ana Hobden <[email protected]>

* chore: support variadic!()

Signed-off-by: Ana Hobden <[email protected]>

* chore: improve requires resolution

Signed-off-by: Ana Hobden <[email protected]>

* chore: make graph stable

Signed-off-by: Ana Hobden <[email protected]>

* chore: fixup an extension_sql issue

Signed-off-by: Ana Hobden <[email protected]>

* chore: use correct pgx_marker location

Signed-off-by: Ana Hobden <[email protected]>

* chore: cleanup marker

Signed-off-by: Ana Hobden <[email protected]>

* chore: docs around marker

Signed-off-by: Ana Hobden <[email protected]>

* feat: better cargo-pgx output

Signed-off-by: Ana Hobden <[email protected]>

* chore: fix feature flag

Signed-off-by: Ana Hobden <[email protected]>

* chore: cleanup pgx schema output

Signed-off-by: Ana Hobden <[email protected]>

* chore: support requires schemas

Signed-off-by: Ana Hobden <[email protected]>

* chore: improve schema positioning resolution

Signed-off-by: Ana Hobden <[email protected]>

* chore: rename pgx-linker-script.sh

Signed-off-by: Ana Hobden <[email protected]>

* chore: fmt

Signed-off-by: Ana Hobden <[email protected]>

* chore: update flake lock

Signed-off-by: Ana Hobden <[email protected]>

* chore: add pg_schema docs

Signed-off-by: Ana Hobden <[email protected]>

* chore: improve some docs

Signed-off-by: Ana Hobden <[email protected]>

* chore: tidy some error conditions

Signed-off-by: Ana Hobden <[email protected]>

* chore: clean some docs

Signed-off-by: Ana Hobden <[email protected]>

* chore: some docs

Signed-off-by: Ana Hobden <[email protected]>

* chore: doc tests

Signed-off-by: Ana Hobden <[email protected]>

* chore: repair an example

Signed-off-by: Ana Hobden <[email protected]>

* chore: fix schemas example

Signed-off-by: Ana Hobden <[email protected]>

* chore: improve format

Signed-off-by: Ana Hobden <[email protected]>

* fix: repair docsrs build

Signed-off-by: Ana Hobden <[email protected]>

* feat: support testname in cargo pgx test

Signed-off-by: Ana Hobden <[email protected]>

* Update cargo-pgx/src/commands/test.rs

* chore: cleanup formatting

Signed-off-by: Ana Hobden <[email protected]>

* chore: update README.md

Signed-off-by: Ana Hobden <[email protected]>

* chore: add cargo pgx schema -o docs

Signed-off-by: Ana Hobden <[email protected]>

* chore: fixup comments

Signed-off-by: Ana Hobden <[email protected]>

* feat: add aggregate example

Signed-off-by: Ana Hobden <[email protected]>

* chore: fix messed up merge conflict resolution

It has been zero days since I forgot to hit save in VSCode and commited it.

* feat: migrate aggregate example to PgVarlena

Signed-off-by: Ana Hobden <[email protected]>

* chore: fixup doc links

Signed-off-by: Ana Hobden <[email protected]>

* chore: update dependencies

Signed-off-by: Ana Hobden <[email protected]>

* chore: fmt

Signed-off-by: Ana Hobden <[email protected]>

* chore: fmt

Signed-off-by: Ana Hobden <[email protected]>

* chore: document pgx::info and related macros more

Signed-off-by: Ana Hobden <[email protected]>

* chore: fix shmem example

Signed-off-by: Ana Hobden <[email protected]>

* chore: fix doc tests

Signed-off-by: Ana Hobden <[email protected]>

* chore: fixups

Signed-off-by: Ana Hobden <[email protected]>

* chore: how to update cargo-pgx, not pgx

Signed-off-by: Ana Hobden <[email protected]>

* chore: use pg10 compat syntax

Signed-off-by: Ana Hobden <[email protected]>

* chore: add example to ci

Signed-off-by: Ana Hobden <[email protected]>

* chore: cleanup imports

Signed-off-by: Ana Hobden <[email protected]>

* chore: make trigger test functional

Signed-off-by: Ana Hobden <[email protected]>

* chore: suggest rustfmt install when not found

Signed-off-by: Ana Hobden <[email protected]>

* chore: format

Signed-off-by: Ana Hobden <[email protected]>

* chore: move info to readme

Signed-off-by: Ana Hobden <[email protected]>

* chore: support -vvvvvvvv

Signed-off-by: Ana Hobden <[email protected]>

* chore: better example content

Signed-off-by: Ana Hobden <[email protected]>

* chore: remove stale finfo fns

Signed-off-by: Ana Hobden <[email protected]>

* chore: improve readme

Signed-off-by: Ana Hobden <[email protected]>

* chore: remove sql

Signed-off-by: Ana Hobden <[email protected]>

* chore: add freebsd, tweak gitignore

Signed-off-by: Ana Hobden <[email protected]>

* chore: format

Signed-off-by: Ana Hobden <[email protected]>

* chore: remove more generated SQL

Signed-off-by: Ana Hobden <[email protected]>

* chore: rename inventory stuff

Signed-off-by: Ana Hobden <[email protected]>

* chore: fix some renames

Signed-off-by: Ana Hobden <[email protected]>

* chore: correct cargo pgx package help

Signed-off-by: Ana Hobden <[email protected]>

* chore: fix 'Stopping' alignment

Signed-off-by: Ana Hobden <[email protected]>

* chore: format

Signed-off-by: Ana Hobden <[email protected]>

* chore: remove unused dependency

Signed-off-by: Ana Hobden <[email protected]>

* chore: correct a non-error

Signed-off-by: Ana Hobden <[email protected]>

* feat: enable new SQL generator on Mac

Signed-off-by: Ana Hobden <[email protected]>

* chore: update README.md

Signed-off-by: Ana Hobden <[email protected]>

* chore: newline fixes

Signed-off-by: Ana Hobden <[email protected]>

* - use `uname` to detect which operating system we're compiling on.

- for MacOS, the `-exported_symbols_list` doesn't want `=` to set its argument

* this file is no longer necessary

* `#[link(kind = "static")]` is not necessary

* when building the sql-generator binary, we don't need the `-Wl,-undefined,dynamic_lookup` bit.

We only need this for building the .so.

* chore: improve error passing slightly

Signed-off-by: Ana Hobden <[email protected]>

* chore: improve cargo new to work

Signed-off-by: Ana Hobden <[email protected]>

* fix(develop): use thinlto in debug

Signed-off-by: Ana Hobden <[email protected]>

* chore: cleanup aggregate example

Signed-off-by: Ana Hobden <[email protected]>

* chore: fixup template

Signed-off-by: Ana Hobden <[email protected]>

* chore: fix merge mistake

Signed-off-by: Ana Hobden <[email protected]>

* chore: reduce UB in public API

Signed-off-by: Ana Hobden <[email protected]>

* fix: reduce UB in public API

Signed-off-by: Ana Hobden <[email protected]>

* Articles (#198)

* chore: add articles page

Signed-off-by: Ana Hobden <[email protected]>

* chore: add clarifying 'a'

Signed-off-by: Ana Hobden <[email protected]>

* chore: add date comment

Signed-off-by: Ana Hobden <[email protected]>

* chore: add another article!

Signed-off-by: Ana Hobden <[email protected]>

* chore: add video link

Signed-off-by: Ana Hobden <[email protected]>

* chore: Update some article contents

Signed-off-by: Ana Hobden <[email protected]>

* chore: remove TODO link

Signed-off-by: Ana Hobden <[email protected]>

* fix: Mark several functions as unsafe. (#217)

* set a number of functions as unsafe, because we can't guarantee the pointers being passed in

* fix doctest

Co-authored-by: Eric B. Ridge <[email protected]>

* chore: fix some docs links (#219)

Signed-off-by: Ana Hobden <[email protected]>

* release: 0.2.0-beta.0 (#218)

Signed-off-by: Ana Hobden <[email protected]>

* fix: mark called_as_trigger as unsafe (#223)

* fix: Mark PgTupleDesk::from_pg_copy unsafe (#224)

Signed-off-by: Ana Hobden <[email protected]>

* fix: mark get_getarg_type unsafe (#226)

Signed-off-by: Ana Hobden <[email protected]>

* chore: update pgx-pg-sys default bindings

Signed-off-by: Ana Hobden <[email protected]>

Co-authored-by: Joshua Lockerman <[email protected]>
Co-authored-by: Dmytro Shteflyuk <[email protected]>
Co-authored-by: Eric B. Ridge <[email protected]>
  • Loading branch information
4 people authored Sep 25, 2021
1 parent e4ed87a commit 8a860a5
Show file tree
Hide file tree
Showing 258 changed files with 34,569 additions and 27,329 deletions.
8 changes: 0 additions & 8 deletions .cargo/config

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/examples.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
matrix:
version: [10, 11, 12, 13]
os: ["ubuntu-latest"]
examples: ["arrays", "bad_ideas", "bgworker", "bytea", "custom_types", "errors", "operators", "schemas", "shmem", "spi", "srf", "strings"]
examples: ["aggregate", "arrays", "bad_ideas", "bgworker", "bytea", "custom_types", "custom_sql", "errors", "operators", "schemas", "shmem", "spi", "srf", "strings", "triggers"]

steps:
- uses: actions/checkout@v2
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@
*.a
cmake*/
.direnv
pgx-examples/*/target
Loading

0 comments on commit 8a860a5

Please sign in to comment.