Skip to content

Conversation

@brfrn169
Copy link
Collaborator

@brfrn169 brfrn169 commented Aug 26, 2025

Description

This PR removes deprecated API usages. The changes were primarily made using Claude Code.

Related issues and/or PRs

Changes made

  • Removed deprecated methods usages of Result.
  • Removed deprecated XXXValue classes usages.
  • Removed other deprecated usages.

Checklist

The following is a best-effort checklist. If any items in this checklist are not applicable to this PR or are dependent on other, unmerged PRs, please still mark the checkboxes after you have read and understood each item.

  • I have commented my code, particularly in hard-to-understand areas.
  • I have updated the documentation to reflect the changes.
  • I have considered whether similar issues could occur in other products, components, or modules if this PR is for bug fixes.
  • Any remaining open issues linked to this PR are documented and up-to-date (Jira, GitHub, etc.).
  • Tests (unit, integration, etc.) have been added for the changes.
  • My changes generate no new warnings.
  • Any dependent changes in other PRs have been merged and published.

Additional notes (optional)

N/A

Release notes

N/A

@brfrn169 brfrn169 requested a review from Copilot August 26, 2025 08:24
@brfrn169 brfrn169 self-assigned this Aug 26, 2025
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Summary of Changes

Hello @brfrn169, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request focuses on modernizing the codebase by systematically removing deprecated API usages across various modules. The changes primarily involve updating how Result objects are accessed, replacing old XXXValue classes with XXXColumn classes, and adjusting key construction logic to align with the latest API patterns. This cleanup improves code maintainability and prepares the system for future enhancements.

Highlights

  • API Usage Update: Replaced deprecated StorageFactory.getAdmin() calls with StorageFactory.getStorageAdmin() for consistency.
  • Result API Modernization: Updated Result object access methods, moving from result.getValue(...).get().getAs...() to direct result.get...() methods (e.g., getInt, getText).
  • Type System Refinement: Migrated from deprecated XXXValue classes (e.g., IntValue, TextValue) to their modern XXXColumn counterparts or direct primitive types.
  • Key Construction Enhancement: Refactored Snapshot.Key constructors and related logic to correctly handle TableMetadata when extracting partition and clustering keys from Result objects.
  • Key Access Standardization: Standardized key and column access within Key objects, replacing Key.get().get().get(0) with Key.get().getColumns().get(0).
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point in your pull request via creating an issue comment (i.e. comment on the pull request page) using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in issue comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR removes deprecated API usages throughout the ScalarDB codebase as part of ongoing modernization efforts. The changes replace deprecated methods and classes with their recommended alternatives to maintain compatibility with current and future versions.

Key changes include:

  • Replaced deprecated Result.getValue() method calls with direct getter methods like Result.getInt(), Result.getText(), etc.
  • Replaced deprecated XXXValue classes with XXXColumn classes for data representation
  • Updated deprecated StorageFactory.getAdmin() calls to use getStorageAdmin()

Reviewed Changes

Copilot reviewed 37 out of 37 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
TestUtils.java Updated to use BigIntColumn.MIN_VALUE/MAX_VALUE instead of BigIntValue constants
TwoPhaseConsensusCommitSpecificIntegrationTestBase.java Replaced Result.getValue() chains with direct getters, removed Value import
ConsensusCommitSpecificIntegrationTestBase.java Modernized result value access patterns and transaction building
TwoPhaseCommitTransactionIntegrationTestBase.java Updated balance retrieval and Put building to use modern APIs
DistributedTransactionIntegrationTestBase.java Similar modernization of result access and Put construction
Multiple DistributedStorage*Base.java files Updated factory.getAdmin() to factory.getStorageAdmin() calls
DistributedStorageIntegrationTestBase.java Comprehensive replacement of getValue() with direct getters throughout
Test files in core/ Updated test mocks and assertions to use modern Result API methods
Snapshot.java Updated Key constructors to use ScalarDbUtils helper methods
CrudHandler.java Updated Key construction with proper TableMetadata parameter
Coordinator.java Modernized Result value extraction with direct getters

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request effectively removes deprecated API usages across the codebase, focusing on StorageFactory, Result, Value classes, and Snapshot.Key constructors. The changes are consistent and well-executed, improving code clarity and maintainability by adopting modern, more explicit APIs. The test updates are also beneficial, making assertions more robust and readable. Overall, this is a solid refactoring effort with no issues found.

Copy link
Contributor

@Torch3333 Torch3333 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thank you!

Copy link
Contributor

@komamitsu komamitsu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thank you!

Copy link
Contributor

@feeblefakie feeblefakie left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Thank you!

@brfrn169 brfrn169 merged commit 9f3a31b into master Aug 28, 2025
56 checks passed
@brfrn169 brfrn169 deleted the remove-deprecated-api-usages3 branch August 28, 2025 13:59
brfrn169 added a commit that referenced this pull request Aug 28, 2025
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