Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add driver fields to the connection open request #540

Draft
wants to merge 17 commits into
base: development
Choose a base branch
from

Conversation

dmitrii-ubskii
Copy link
Member

@dmitrii-ubskii dmitrii-ubskii commented Dec 14, 2023

Usage and product changes

Added and populated driver name and version fields to the Connection.Open request payload.

Note: despite proto3 being able to handle added fields, due to a library packaging issue, older versions of TypeDB cannot handle new fields. This means that this change breaks compatibility with TypeDB server 2.25.x and earlier.

@typedb-bot
Copy link
Member

PR Review Checklist

Do not edit the content of this comment. The PR reviewer should simply update this comment by ticking each review item below, as they get completed.


Trivial Change

  • This change is trivial and does not require a code or architecture review.

Code

  • Packages, classes, and methods have a single domain of responsibility.
  • Packages, classes, and methods are grouped into cohesive and consistent domain model.
  • The code is canonical and the minimum required to achieve the goal.
  • Modules, libraries, and APIs are easy to use, robust (foolproof and not errorprone), and tested.
  • Logic and naming has clear narrative that communicates the accurate intent and responsibility of each module (e.g. method, class, etc.).
  • The code is algorithmically efficient and scalable for the whole application.

Architecture

  • Any required refactoring is completed, and the architecture does not introduce technical debt incidentally.
  • Any required build and release automations are updated and/or implemented.
  • Any new components follows a consistent style with respect to the pre-existing codebase.
  • The architecture intuitively reflects the application domain, and is easy to understand.
  • The architecture has a well-defined hierarchy of encapsulated components.
  • The architecture is extensible and scalable.

.factory/automation.yml Outdated Show resolved Hide resolved
cpp/lib/connection/driver.cpp Outdated Show resolved Hide resolved
nodejs/common/rpc/RequestBuilder.ts Outdated Show resolved Hide resolved
rust/src/connection/connection.rs Outdated Show resolved Hide resolved
@dmitrii-ubskii dmitrii-ubskii changed the title Handshake Add driver fields to the connection open request Dec 14, 2023
@dmitrii-ubskii dmitrii-ubskii added this to the 2.26.0 milestone Dec 14, 2023
@flyingsilverfin flyingsilverfin removed this from the 2.26.0 milestone Dec 19, 2023
@farost
Copy link
Member

farost commented Apr 8, 2024

We preserve this PR until 3.0.0 as it breaks backward compatibility, and we don't want to break it until 3.0.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants