Commit Graph

28 Commits

Author SHA1 Message Date
5bb9eec4a8 Drop .NET 6; drop PostgreSQL 12, add 17
- Update generic types for F# 9 nullable
- Update deps, force upgrade on vulnerable packages
2024-11-23 21:45:10 -05:00
3db537f14e WIP on .NET 9 support 2024-11-23 18:09:34 -05:00
740767661c Make Field constructor functions generic (#8)
F# can upcast types to `obj` if those types are used in place. However, a `string seq` (`IEnumerable<string>` in C#) cannot be upcast to an `obj seq` (`IEnumerable<object>`) without mapping each item in the sequence. Making the `Field` constructor functions generic will allow them to take any object type, and these functions handle the conversion to `obj` (for `In` and `InArray`; others work transparently).

Reviewed-on: #8
2024-09-18 13:36:14 +00:00
168bf0cd14 RC4 changes (#7)
- Add `In` and `InArray` comparisons
- Replace `Op` with `Comparison` (internal API, but was public)
- Spell out comparisons in `Field` constructor functions

Reviewed-on: #7
2024-09-17 02:33:57 +00:00
3bc662c984 Preserve additional ORDER BY qualifiers
- Bump version to v4-rc3
2024-08-22 20:26:37 -04:00
b019548a4e Bump version to v4-rc2 2024-08-21 21:13:40 -04:00
27b8a83a7a Add case-insensitive ordering 2024-08-21 21:03:38 -04:00
2c24e2e912 Version 4 rc1 (#6)
Changes in this version:
- **BREAKING CHANGE**: All `*byField`/`*ByField` functions are now `*byFields`/`*ByFields`, and take a `FieldMatch` case before the list of fields. The `Compat` namespace in both libraries will assist in this transition. In support of this change, the `Field` parameter name is optional; the library will generate parameter names for it if they are not specified.
- **BREAKING CHANGE**: The `Query` namespaces have had some significant work, particularly from the full-query perspective. Most have been broken up into the base query and modifiers `by*` that will combine the base query with the `WHERE` clause needed to satisfy the criteria.
- **FEATURE / BREAKING CHANGE**: PostgreSQL document fields will now be cast to numeric if the parameter value passed to the query is numeric. This drove the `Query` breaking changes, as the fields need to have their intended value for the library to generate the appropriate SQL. Additionally, if code assumes the library can be given something like `8` and transform it to `"8"`, this is no longer the case.
- **FEATURE**: All `Find` queries (except `byId`/`ById`) now have a version with the `Ordered` suffix. These take a list of fields by which the query should be ordered. A new `Field` method called `Named` can assist with creating these fields. Prefixing the field name with `n:` will cast the field to numeric in PostgreSQL (and will be ignored by SQLite); adding " DESC" to the field name will sort it descending (Z-A, high to low) instead of ascending (A-Z, low to high).
- **BREAKING CHANGE** (PostgreSQL only): `fieldNameParam`/`Parameters.FieldName` are now plural. The function still only generates one parameter, but the name is now the same between PostgreSQL and SQLite. The goal of this library is to abstract the differences away as much as practical, and this furthers that end. There are functions with these names in the `Compat` namespace.
- **FEATURE**: In the F# v3 library, lists of parameters were expected to be F#'s `List` type, and the C# version took either `List<T>` or `IEnumerable<T>`. In this version, these all expect `seq`/`IEnumerable<T>`. F#'s `List` satisfies the `seq` constraints, so this should not be a breaking change.
- **FEATURE**: `Field`s now may have qualifiers; this allows tables to be aliased when joining multiple tables (as all have the same `data` column). F# users can use `with` to specify this at creation, and both F# and C# can use the `WithQualifier` method to create a field with the qualifier specified. Parameter names for fields may be specified in a similar way, substituting `ParameterName` for `Qualifier`.

Reviewed-on: #6
2024-08-19 23:30:38 +00:00
039761fcca Remove project-specific release notes 2024-06-05 22:10:48 -04:00
a0da5f83b1 Merge pull request 'Changes for 3.1' (#5) from 3.1 into main
Reviewed-on: #5
2024-06-06 01:45:35 +00:00
d7c8cae0c7 Add tests for alpha BT values
- Update deps
- Update release notes for v3.1
2024-06-05 21:43:03 -04:00
1707d3ce63 First cut of BT operator (#3) 2024-06-05 17:31:33 -04:00
7d7214e9f2 Remove .NET 7 (#4)
- Bump version to 3.1
2024-06-05 07:52:36 -04:00
fc045d021c Bump version to 3
- Add description to each project
- Add .sh files to test and package
2024-04-20 22:58:41 -04:00
aa14333604 Modify test env var handling
Some checks failed
CI / build-and-test (12) (push) Failing after 33s
CI / build-and-test (13) (push) Failing after 42s
CI / build-and-test (14) (push) Failing after 37s
CI / build-and-test (15) (push) Failing after 31s
CI / build-and-test (latest) (push) Failing after 3m8s
CI / publish (push) Has been skipped
2024-04-20 21:18:15 -04:00
72c11f77e5 Set up all 3 .NET versions
Some checks failed
CI / build-and-test (12) (push) Failing after 1m58s
CI / build-and-test (14) (push) Has been cancelled
CI / build-and-test (15) (push) Has been cancelled
CI / build-and-test (latest) (push) Has been cancelled
CI / publish (push) Has been cancelled
CI / build-and-test (13) (push) Has been cancelled
2024-04-20 20:57:49 -04:00
caf34e707c Remove matrix for .NET versions
Some checks failed
CI / build-and-test (12) (push) Failing after 1m48s
CI / build-and-test (14) (push) Has been cancelled
CI / build-and-test (15) (push) Has been cancelled
CI / build-and-test (latest) (push) Has been cancelled
CI / publish (push) Has been cancelled
CI / build-and-test (13) (push) Has been cancelled
2024-04-20 20:21:13 -04:00
b96775f1ed Modify port mapping
Some checks failed
CI / build-and-test (8.0, 13) (push) Waiting to run
CI / build-and-test (6.0, 12) (push) Failing after 39s
CI / build-and-test (6.0, 13) (push) Failing after 24s
CI / build-and-test (6.0, 14) (push) Failing after 23s
CI / build-and-test (6.0, 15) (push) Failing after 25s
CI / build-and-test (6.0, latest) (push) Failing after 24s
CI / build-and-test (7.0, 12) (push) Failing after 26s
CI / build-and-test (7.0, 13) (push) Failing after 25s
CI / build-and-test (7.0, 14) (push) Failing after 25s
CI / build-and-test (7.0, 15) (push) Failing after 26s
CI / build-and-test (7.0, latest) (push) Failing after 25s
CI / build-and-test (8.0, 12) (push) Failing after 39s
CI / build-and-test (8.0, 14) (push) Has been cancelled
CI / build-and-test (8.0, 15) (push) Has been cancelled
CI / build-and-test (8.0, latest) (push) Has been cancelled
CI / publish (push) Has been cancelled
2024-04-20 20:06:13 -04:00
91e84a5059 Move PostgreSQL port 2024-04-20 20:04:33 -04:00
8b1c56d310 Modify CI network name
Some checks failed
CI / build-and-test (6.0, 12) (push) Failing after 0s
CI / build-and-test (6.0, 13) (push) Failing after 0s
CI / build-and-test (6.0, 14) (push) Failing after 1s
CI / build-and-test (6.0, 15) (push) Failing after 1s
CI / build-and-test (6.0, latest) (push) Failing after 0s
CI / build-and-test (7.0, 12) (push) Failing after 0s
CI / build-and-test (7.0, 13) (push) Failing after 0s
CI / build-and-test (7.0, 14) (push) Failing after 0s
CI / build-and-test (7.0, 15) (push) Failing after 1s
CI / build-and-test (7.0, latest) (push) Failing after 0s
CI / build-and-test (8.0, 12) (push) Failing after 0s
CI / build-and-test (8.0, 13) (push) Failing after 0s
CI / build-and-test (8.0, 14) (push) Failing after 1s
CI / build-and-test (8.0, 15) (push) Failing after 0s
CI / build-and-test (8.0, latest) (push) Failing after 1s
CI / publish (push) Has been skipped
2024-04-20 19:55:51 -04:00
6a2b52475f Specify CI network
Some checks failed
CI / build-and-test (6.0, 12) (push) Failing after 0s
CI / build-and-test (6.0, 13) (push) Failing after 0s
CI / build-and-test (6.0, 14) (push) Failing after 0s
CI / build-and-test (6.0, 15) (push) Failing after 0s
CI / build-and-test (6.0, latest) (push) Failing after 0s
CI / build-and-test (7.0, 12) (push) Failing after 0s
CI / build-and-test (7.0, 13) (push) Failing after 0s
CI / build-and-test (7.0, 14) (push) Failing after 0s
CI / build-and-test (7.0, 15) (push) Failing after 0s
CI / build-and-test (7.0, latest) (push) Failing after 1s
CI / build-and-test (8.0, 12) (push) Failing after 0s
CI / build-and-test (8.0, 13) (push) Failing after 0s
CI / build-and-test (8.0, 14) (push) Failing after 0s
CI / build-and-test (8.0, 15) (push) Failing after 0s
CI / build-and-test (8.0, latest) (push) Failing after 0s
CI / publish (push) Has been skipped
2024-04-20 19:46:47 -04:00
ddc7429dc5 Skip restore for Gitea CI
Some checks failed
CI / build-and-test (6.0, 12) (push) Failing after 1s
CI / build-and-test (6.0, 13) (push) Failing after 1s
CI / build-and-test (6.0, 14) (push) Failing after 1s
CI / build-and-test (6.0, 15) (push) Failing after 1s
CI / build-and-test (6.0, latest) (push) Failing after 1s
CI / build-and-test (7.0, 12) (push) Failing after 1s
CI / build-and-test (7.0, 13) (push) Failing after 1s
CI / build-and-test (7.0, 14) (push) Failing after 1s
CI / build-and-test (7.0, 15) (push) Failing after 1s
CI / build-and-test (7.0, latest) (push) Failing after 1s
CI / build-and-test (8.0, 12) (push) Failing after 1s
CI / build-and-test (8.0, 13) (push) Failing after 1s
CI / build-and-test (8.0, 14) (push) Failing after 1s
CI / build-and-test (8.0, 15) (push) Failing after 1s
CI / build-and-test (8.0, latest) (push) Failing after 1s
CI / publish (push) Has been skipped
2024-04-20 19:41:58 -04:00
3c80c46c91 Rename CI for Gitea
Some checks failed
CI / build-and-test (6.0, 12) (push) Failing after 35s
CI / build-and-test (6.0, 13) (push) Failing after 21s
CI / build-and-test (6.0, 14) (push) Failing after 20s
CI / build-and-test (6.0, 15) (push) Failing after 19s
CI / build-and-test (6.0, latest) (push) Failing after 20s
CI / build-and-test (7.0, 12) (push) Failing after 23s
CI / build-and-test (7.0, 13) (push) Failing after 23s
CI / build-and-test (7.0, 14) (push) Failing after 23s
CI / build-and-test (7.0, 15) (push) Failing after 23s
CI / build-and-test (7.0, latest) (push) Failing after 26s
CI / build-and-test (8.0, 12) (push) Failing after 1m27s
CI / build-and-test (8.0, 13) (push) Failing after 1m29s
CI / build-and-test (8.0, 14) (push) Failing after 1m26s
CI / build-and-test (8.0, 15) (push) Failing after 1m26s
CI / build-and-test (8.0, latest) (push) Failing after 1m24s
CI / publish (push) Has been skipped
2024-04-20 16:19:56 -04:00
06daa4ea5c
V3 rc2 (#2)
- Implements `Field` type for by-field actions (**BREAKING**)
- Adds `RemoveFields*` functions/methods for removing fields from documents
2024-01-23 21:23:24 -05:00
68ad874256
v3 RC1 (#1)
This encompasses:
- New behavior for SQLite
- Migrated behavior for PostrgeSQL (from BitBadger.Npgsql.FSharp.Documents)
- New "byField" behavior for PostgreSQL
- A unification of C# and F# centric implementations
2024-01-06 15:51:48 -05:00
a0a4f6604c
Only build for .NET version under test 2023-12-31 07:42:45 -05:00
238c68de57
Add CI for project
Migrated from BitBadger.Npgsql.Documents
2023-12-31 06:58:10 -05:00
12c99b1bcf
Initial commit 2023-12-23 17:10:45 -05:00