Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
e80094e
v0.1.1 (#35)
TheRustifyer Mar 21, 2023
6d779e1
#update - Removing the .xml code coverage report from the GH-pages, s…
TheRustifyer Mar 21, 2023
2e48471
#update Refactored and upgraded the Canyon Memory process. Also, quer…
TheRustifyer Mar 24, 2023
51c81bb
Minimal intermediate cleanup
TheRustifyer Mar 24, 2023
65babf0
Latest updates to the canyon memory process
TheRustifyer Mar 27, 2023
dda3e88
#feature Implemented bool types for QueryParameter<'_>. Upgraded to v…
TheRustifyer Mar 28, 2023
b919392
Unit tests for the standalone function that defaults by convention a …
TheRustifyer Mar 28, 2023
c82a8af
Ignoring tests on nightly due to linker issues in Unix machines
TheRustifyer Mar 28, 2023
5409cd1
Refactors-and-upgrades (#36)
TheRustifyer Apr 10, 2023
4c908e0
#upgrade The Canyon database connector has been reworked, simpliying …
TheRustifyer Apr 10, 2023
3b1dd0b
db_type property of the properties of the datasource moved to the roo…
TheRustifyer Apr 10, 2023
70e4297
Bumped the toml dependency to 0.7.3. This forced us to change from bo…
TheRustifyer Apr 10, 2023
02bcbc2
#feature - reworked the authentication properties for the configurati…
TheRustifyer Apr 10, 2023
8835935
#feature - Auth property is mandatory for every datasource, looking f…
TheRustifyer Apr 10, 2023
f9bcf68
#feature - Removed the db_type field from the options of the configur…
TheRustifyer Apr 10, 2023
fbbb206
#feature - Added a test for the `SqlServerAuth` integrated auth option
TheRustifyer Apr 10, 2023
a8c2f1c
Adding the required features for working with the tiberius integrated…
TheRustifyer Apr 11, 2023
9021257
Separating with cfg features the conditional different libraries by t…
TheRustifyer Apr 11, 2023
86dc02e
Being more specific with targets for the CI process
TheRustifyer Apr 11, 2023
df4d6a3
Upgrading the Rust version for the VMs
TheRustifyer Apr 11, 2023
d66f716
Installing vendored OpenSSL
TheRustifyer Apr 11, 2023
dff5d8d
Trying for UNIX based systems to solve the issue with Kerberos by ins…
TheRustifyer Apr 13, 2023
d353508
Getting rid out of the installation of the openssl vendored. Propagat…
TheRustifyer Apr 13, 2023
fd8d20c
Adding the gssapi headers to the other steps. Bumped the syn deps
TheRustifyer Apr 13, 2023
9d46921
Disabling a doc tests in the canyon-macro module that was provoking l…
TheRustifyer Apr 13, 2023
8c37ef2
Correct typo in the CI action
TheRustifyer Apr 13, 2023
61a854a
v0.2.0
TheRustifyer Apr 13, 2023
73db136
#feature - #[cfg(feature = "mssql-integrated-auth")]
TheRustifyer Apr 13, 2023
ec47410
Reworking the Canyon Connector (#38)
TheRustifyer Apr 13, 2023
ae92270
Merge branch 'zerodaycode:main' into main
TheRustifyer Apr 13, 2023
08a1c09
Added the gssapi headers to the Unix GH action for the release
TheRustifyer Apr 13, 2023
f690df6
Merge branch 'main' of https://github.com/Pyzyryab/Canyon-SQL
TheRustifyer Apr 13, 2023
c8467ef
Corrected the code coverage workflow. Updated the CHANGELOG.md
TheRustifyer Apr 13, 2023
aee3e23
#feature - Created two new cfg properties, for split the code per sup…
TheRustifyer Apr 14, 2023
2812902
#fix - Small doc typos and reordering trait impl members
TheRustifyer Apr 14, 2023
f49f5d6
#wip - Rewriting with conditinal compilation. Reworking the workspace
TheRustifyer Apr 14, 2023
5723243
WIP - Introducing CanyonRows
TheRustifyer Apr 15, 2023
32e611a
WIP - Whole rework of the workspace, more cfg's
TheRustifyer Apr 16, 2023
41843a4
#wip - Addressing the issues of the CanyonMemory module to the new so…
TheRustifyer Apr 17, 2023
ad9e1ea
#wip - Addressing the issues of the Handler module to the new source …
TheRustifyer Apr 18, 2023
6d9c663
#wip - Reaching the goal of the conditional compilation by database c…
TheRustifyer Apr 18, 2023
c0b0dd7
First compilable version since the rework for the conditional compila…
TheRustifyer Apr 18, 2023
2a7d64f
Setting up the missing parts for msssql databases
TheRustifyer Apr 18, 2023
e09557d
Adecuating the doc-tests to the conditional compilation
TheRustifyer Apr 18, 2023
5d99d49
Applying format with rustfmt
TheRustifyer Apr 18, 2023
f6c4408
Discarded the integrated auth cfg feature flag, it will be included d…
TheRustifyer Apr 18, 2023
c7893e3
Addressing issues on the macros with the new code structure - [select…
TheRustifyer Apr 19, 2023
b576757
Addressing issues on the macros with the new code structure - [insert…
TheRustifyer Apr 19, 2023
8558c98
WIP - Reworked the way of how we was thinking about our features. Try…
TheRustifyer Apr 19, 2023
51b97d5
Moved the IT to initialize MSSQL databases to its own crate
TheRustifyer Apr 20, 2023
cc9a3ef
A bunch of major changes to stabilize the new conditional APIs into t…
TheRustifyer Apr 20, 2023
f77aa14
All the APIs stabilized for making use of the conditional compilation…
TheRustifyer Apr 20, 2023
8a3decf
Setting up a better version for looking for the Canyon configuration …
TheRustifyer Apr 20, 2023
a6049a1
v0.3.0
TheRustifyer Apr 20, 2023
9735fd4
No IT for Windows and MacOS targets
TheRustifyer Apr 20, 2023
f95839f
Generating the cfg features for splitting up database crates dependen…
TheRustifyer Apr 20, 2023
20cdc58
Merge branch 'zerodaycode:main' into main
TheRustifyer Apr 20, 2023
3b2120a
Setting up the v0.3.1 due to the publish GH action failed because the…
TheRustifyer Apr 20, 2023
d35e9b6
Merge branch 'main' of https://github.com/Pyzyryab/Canyon-SQL
TheRustifyer Apr 20, 2023
f470c2a
Added missing Cargo metadata to the new set up with a non virtual wor…
TheRustifyer Apr 20, 2023
af89640
Creating feature "migrations".
gbm25 Apr 22, 2023
1bf7ba1
WIP - Bringing back canyon_manager as canyon_entities
gbm25 Apr 22, 2023
11604da
Refactoring functions rust datatype to database datatype to be standa…
gbm25 Apr 23, 2023
d81c9e4
Cargo fmt
gbm25 Apr 23, 2023
4cbb9d1
Added lib and Cargo.toml for canyon_entities
gbm25 Apr 23, 2023
f8bd873
Added "migrations" feature (#41)
TheRustifyer Apr 23, 2023
2459116
Merge branch 'zerodaycode:main' into main
TheRustifyer Apr 23, 2023
cca1c8f
v0.4.0
gbm25 Apr 23, 2023
6f30744
Added like operator (#42)
gbm25 Apr 23, 2023
d4e1502
updated changelog (#43)
gbm25 Apr 23, 2023
c990b33
Fix compilation without features (#44)
gbm25 May 3, 2023
13b2a98
Mysql integration in Canyon (#45)
0nSystem Dec 10, 2023
5cef3a9
code: Solved latest raised clippy warnings - this solves #46 (#47)
Pylyv Dec 10, 2023
048a556
code: Updated release version 0.5.0 (#51)
Pylyv Dec 10, 2023
8e56ec1
Create greetings.yml
TheRustifyer Dec 10, 2023
a822570
Update greetings.yml
TheRustifyer Jan 14, 2024
66e29ea
feat: Adding new changes to the README file for the issue #52 Project…
Pylyv Feb 24, 2024
65a4965
Feature/gh 52 projects readme (#54)
Pylyv Feb 24, 2024
633ce4e
fix: Fixed Clippy warnings from issue #55 (#56)
Pylyv Feb 25, 2024
3fbd814
Feature/gh 58 update documentation of mysql implementation to current…
0nSystem May 1, 2024
b855518
Error in MySql implementation detail, related to features configurati…
0nSystem May 8, 2024
e229264
feat: v0.5.1, solving clippy lintings and adapted the code to Rust v1…
TheRustifyer Dec 19, 2024
0840a57
fix: solved a bug in the CanyonMapper macro that was causing issues t…
TheRustifyer Dec 19, 2024
6b8681a
chore: adding 'docker-compose' on the 'ubuntu-latest' based actions
TheRustifyer Dec 19, 2024
75f7ffa
chore: rustfmt and 'docker-compose' on the CI action
TheRustifyer Dec 19, 2024
71c7951
General Refactor (#72)
TheRustifyer Aug 7, 2026
9884024
chore: remove .DS_Store file
enshetinin Aug 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 1 addition & 4 deletions .github/workflows/code-coverage.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
name: Linux CI
name: Code Coverage

on:
push:
branches: 'development'
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'
- 'v[0-9]+.[0-9]+.[0-9]+rc[0-9]+'
Expand Down Expand Up @@ -56,14 +55,12 @@ jobs:
- name: Generate code coverage report
run: |
grcov . -s . --binary-path ./target/debug/ -t html --branch --ignore-not-existing -o ./target/debug/coverage
grcov . -s . --binary-path ./target/debug/ -t cobertura --branch --ignore-not-existing -o ./target/debug/coverage/code_cov.xml

- name: Publish Test Results
uses: actions/upload-artifact@v3
with:
name: Unit Test Results
path: |
./target/debug/coverage/code_cov.xml
./target/debug/coverage/index.html

- name: Publish coverage report to GitHub Pages
Expand Down
11 changes: 6 additions & 5 deletions .github/workflows/code-quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: Code quality and sanity

on:
push:
branches: '*'
branches: [main, dev, develop]
pull_request:
branches: '*'
branches: [main, dev, develop]

jobs:
clippy:
Expand All @@ -22,7 +22,8 @@ jobs:
- uses: hecrj/setup-rust-action@v1
with:
components: clippy
- run: cargo clippy --workspace --all-targets --verbose --all-features -- -A clippy::question_mark
- run: cargo clippy --workspace --all-targets --all-features

rustfmt:
name: Verify code formatting
runs-on: ubuntu-latest
Expand All @@ -45,7 +46,7 @@ jobs:
strategy:
fail-fast: false
matrix:
crate: [canyon_connection, canyon_crud, canyon_macros, canyon_observer, canyon_sql]
crate: [canyon_core, canyon_crud, canyon_macros, canyon_entities, canyon_migrations]
steps:
- uses: actions/checkout@v3

Expand All @@ -57,4 +58,4 @@ jobs:
with:
rust-version: nightly

- run: cargo rustdoc -p ${{ matrix.crate }} --all-features -- -D warnings
- run: cargo rustdoc --target=x86_64-unknown-linux-gnu -p ${{ matrix.crate }} --all-features -- -D warnings
27 changes: 16 additions & 11 deletions .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: Continuous Integration

on:
push:
branches: '*'
branches: ['main', 'development']
pull_request:
branches: '*'
branches: ['main', 'development']

env:
CARGO_TERM_COLOR: always
Expand All @@ -18,20 +18,16 @@ jobs:
matrix:
include:
- { rust: stable, os: ubuntu-latest }
- { rust: nightly, os: ubuntu-latest }
# - { rust: nightly, os: ubuntu-latest }
- { rust: stable, os: macos-latest }
- { rust: stable, os: windows-latest }

steps:
- name: Make the USER own the working directory
if: ${{ matrix.os == 'ubuntu-latest' }}
run: sudo chown -R $USER:$USER ${{ github.workspace }}

- uses: actions/checkout@v3

- name: docker-compose
if: ${{ matrix.os == 'ubuntu-latest' }}
run: docker-compose -f ./docker/docker-compose.yml up -d
run: docker compose -f ./docker/docker-compose.yml up -d

- name: Caching cargo dependencies
id: project-cache
Expand All @@ -43,11 +39,20 @@ jobs:

- name: Load data for MSSQL tests
if: ${{ matrix.os == 'ubuntu-latest' }}
run: cargo test initialize_sql_server_docker_instance -p tests --all-features --no-fail-fast -- --show-output --nocapture --include-ignored
run: cargo test initialize_sql_server_docker_instance -p tests --target=x86_64-unknown-linux-gnu --all-features --no-fail-fast -- --show-output --nocapture --include-ignored

- name: Run all tests, UNIT and INTEGRATION for Linux targets
if: ${{ matrix.os == 'ubuntu-latest' }}
run: cargo test --verbose --workspace --all-features --no-fail-fast -- --show-output --test-threads=1

- name: Run UNIT tests with no external connections for the rest of the defined targets
run: cargo test --verbose --workspace --exclude tests --all-features --no-fail-fast -- --show-output
- name: Run only UNIT tests for Windows
if: ${{ matrix.os == 'windows-latest' }}
run: |
cargo test --verbose --workspace --lib --target=x86_64-pc-windows-msvc --all-features --no-fail-fast -- --show-output
cargo test --verbose --workspace --doc --target=x86_64-pc-windows-msvc --all-features --no-fail-fast -- --show-output

- name: Run only UNIT tests for MacOS
if: ${{ matrix.os == 'MacOS-latest' }}
run: |
cargo test --verbose --workspace --lib --all-features --no-fail-fast -- --show-output
cargo test --verbose --workspace --doc --all-features --no-fail-fast -- --show-output
16 changes: 16 additions & 0 deletions .github/workflows/greetings.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
name: Greetings

on: [pull_request_target, issues]

jobs:
greeting:
runs-on: ubuntu-latest
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/first-interaction@v1
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
issue-message: "Thank you for opening your first issue in the Canyon-SQL project!"
pr-message: "Thank you for make your first contribution to the Canyon-SQL project!"
27 changes: 0 additions & 27 deletions .github/workflows/macos-tests.yml

This file was deleted.

31 changes: 6 additions & 25 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ name: Generate Canyon-SQL release

on:
push:
tags:
tags:
- 'v[0-9]+.[0-9]+.[0-9]+'
- 'v[0-9]+.[0-9]+.[0-9]+rc[0-9]+'

Expand All @@ -21,30 +21,11 @@ jobs:
toolchain: stable
override: true

- uses: katyo/publish-crates@v1
- uses: katyo/publish-crates@v2
with:
registry-token: ${{ secrets.CRATES_IO_TOKEN }}
path: './canyon_connection'

- uses: katyo/publish-crates@v1
with:
registry-token: ${{ secrets.CRATES_IO_TOKEN }}
path: './canyon_crud'

- uses: katyo/publish-crates@v1
with:
registry-token: ${{ secrets.CRATES_IO_TOKEN }}
path: './canyon_observer'

- uses: katyo/publish-crates@v1
with:
registry-token: ${{ secrets.CRATES_IO_TOKEN }}
path: './canyon_macros'

- uses: katyo/publish-crates@v1
with:
registry-token: ${{ secrets.CRATES_IO_TOKEN }}
path: './canyon_sql'
publish-delay: 15000
args: --all-features

release-publisher:
needs: 'publish'
Expand All @@ -65,8 +46,8 @@ jobs:
GITHUB_TOKEN: ${{ github.token }}

- name: "Update the CHANGELOG.md for the release"
uses: mikepenz/release-changelog-builder-action@{latest-release}
uses: mikepenz/release-changelog-builder-action@v3.7.0
with:
configuration: "./.github/changelog_configuration.json"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
27 changes: 0 additions & 27 deletions .github/workflows/windows-tests.yml

This file was deleted.

5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,6 @@ Cargo.lock
/tester_canyon_sql/
canyon_tester/
macro_utils.rs
.vscode/
postgres-data/
postgres-data/
mysql-data/
.DS_Store
11 changes: 11 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
{
"rust-analyzer.cargo.features": ["postgres, mssql, mysql, migrations"],
"rust-analyzer.check.workspace": true,
"rust-analyzer.cargo.buildScripts.enable": true,
"rust-analyzer.procMacro.enable": true,
"rust-analyzer.diagnostics.disabled": ["unresolved-proc-macro"],
"rust-analyzer.linkedProjects": [
"./Cargo.toml"
]
}

70 changes: 70 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,76 @@ Year format is defined as: `YYYY-m-d`

## [Unreleased]

## [0.5.0 - 2023 - 12 - 10]

### Feature

- Introduced support to work with MySQL Databases

## [0.4.2 - 2023 - 05 - 02]

### Bugfix

Fixed a bug related to migrations that prevented compiling if features were not specified.

## [0.4.1 - 2023 - 04 - 23]

### Feature

-The "Like" operator has been added with 3 options:

Full: allows a search filtering by the field provided and the value contains the String provided.
Left: allows you to perform a filtered search by the field provided and the value ends with the String provided.
Right: allows a search filtering by the provided field and the value starts with the provided String.

The logic of the operators has been changed a bit.

The corresponding tests have been added to validate that the queries with "Like" are generated correctly.


## [0.4.0] - 2023 - 04 - 23

### Feature

- Added the migrations cfg feature. Removed the arguments of the Canyon main macro for enabling
migrations. Now, the way to enable them is this new cfg feature.

## [0.3.1] - 2023 - 04 - 20

- No changes

## [0.3.0] - 2023 - 04 - 20

### Feature

- Enabled conditional compilation for the database dependencies of the project.
This caused a major rework in the codebase, but none of the client APIs has been affected.
Now, Canyon-SQL comes with two features, ["postgres", "mssql"].
There's no default features enabled for the project.

## [0.2.0] - 2023 - 04 - 13

### Feature [BREAKING CHANGES]

- The configuration file has been reworked, by providing a whole category dedicated
to the authentication against the database server.
- We removed the database type property, since the database type can be inferred by
the new mandatory auth property
- Included support for the `MSSQL` integrated authentication via the cfg feature `mssql-integrated-auth`

## [0.1.2] - 2023 - 03 - 28

### Update

- Implemented bool types for QueryParameters<'_>.
- Minimal performance improvements

## [0.1.1] - 2023 - 03 - 20

### Update

- Adding more types to the supported ones for Tiberius in the row mapper

## [0.1.0] - 2022 - 12 - 25

### Added
Expand Down
Loading