feat(new source): Add ODBC source implementation - #24044
Conversation
…ata_path properties tests
# Conflicts: # Cargo.lock # Cargo.toml # scripts/integration/Dockerfile # src/internal_events/mod.rs # src/sources/mod.rs
…ostgreSQL services
…ion for an ODBC source
…for MariaDB usage
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 18692f7b78
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…ks and update metrics accordingly
…nhance buffer handling
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: b3531b026f
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a17af1b7bc
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6e72d5bad5
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…r cases in ODBC client
…s from dropped count
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f4348a79b5
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
…pped events on closed streams
# Conflicts: # .github/workflows/test.yml
# Conflicts: # .github/workflows/test.yml
# Conflicts: # Cargo.lock # LICENSE-3rdparty.csv
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 55493e68ef
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| Ok(Err(error)) | Err(error) => { | ||
| return Err(error); |
There was a problem hiding this comment.
Report buffered rows dropped by late query failures
When tracking_columns is enabled and the driver fails after returning one or more batches, such as on a mid-stream network or fetch error, those rows have already been counted by record_received and retained in pending_batches, but this return discards them without emitting ComponentEventsDropped. Fresh evidence beyond the earlier partial-batch accounting issue is that received metrics now run before tracking batches are buffered, so repeated failures can inflate received totals while the discarded event instances remain invisible; emit the buffered row count as dropped before returning the query error.
AGENTS.md reference: AGENTS.md:L218-L218
Useful? React with 👍 / 👎.
Summary
This PR implemented a new ODBC(Open Database Connectivity) Source.
Vector configuration
Manual configuration example
Create example sql file
Configure ODBC and MariaDB Driver on MacOS
Run MariaDB docker container
docker run \ --rm \ --name mariadb \ -e MYSQL_ROOT_PASSWORD=vector \ -e MYSQL_USER=vector \ -e MYSQL_PASSWORD=vector \ -e MYSQL_DATABASE=vector_db \ -v $(pwd)/example.sql:/docker-entrypoint-initdb.d/example.sql:ro \ -p 3306:3306 \ mariadb:latestHow did you test this PR?
I tested it with integration tests of two databases: MariaDB and Postgresql.
(Testing the MySQL container integration in an ARM64 architecture is not simple, so I tested it with MariaDB. Instead, I manually tested MySQL locally.)
Change Type
Is this a breaking change?
Does this PR include user facing changes?
no-changeloglabel to this PR.References
Notes
@vectordotdev/vectorto reach out to us regarding this PR.pre-pushhook, please see this template.make fmtmake check-clippy(if there are failures it's possible some of them can be fixed withmake clippy-fix)make testgit merge origin masterandgit push.Cargo.lock), pleaserun
make build-licensesto regenerate the license inventory and commit the changes (if any). More details here.