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

feat: add TinyInt (i8) data type support #191

Conversation

onyedikachi-david
Copy link

Fixes: #154
/claim #154

Rationale for this change

Added support for the TinyInt (i8) data type to expand our integer type support.

What changes are included in this PR?

This PR includes the following changes:

  1. Addition of a TinyInt variant to various Column enum types throughout the codebase.
  2. Implementation of TinyInt handling alongside existing integer types (SmallInt, Int, BigInt) in all relevant parts of the system.
  3. Addition of comprehensive unit tests to cover the new TinyInt operations and ensure they work correctly with existing functionality.

Specific files modified include:

  • Multiple files in crates/proof-of-sql/src/base/commitment/
  • Multiple files in crates/proof-of-sql/src/base/database/
  • Files in crates/proof-of-sql/src/base/polynomial/ and crates/proof-of-sql/src/base/scalar/
  • Several files in crates/proof-of-sql/src/proof_primitive/dory/
  • Multiple files in crates/proof-of-sql/src/sql/proof/ and crates/proof-of-sql/src/sql/proof_exprs/

Are these changes tested?

Yes, these changes are thoroughly tested. We have added comprehensive unit tests to cover the new TinyInt functionality. These tests include:

  1. Basic operations with TinyInt columns (creation, reading, writing)
  2. Arithmetic operations involving TinyInt columns
  3. Conversion between TinyInt and other data types
  4. Edge cases such as overflow and underflow scenarios
  5. Integration tests to ensure TinyInt works correctly with existing query processing and proof generation systems

These tests serve both to prevent accidental breakage by future changes and to document the expected behavior of the new TinyInt functionality.

@algora-pbc algora-pbc bot mentioned this pull request Sep 27, 2024
3 tasks
@Dustin-Ray
Copy link
Contributor

@onyedikachi-david please check that the CI passes locally

@JayWhite2357 JayWhite2357 marked this pull request as draft October 2, 2024 02:06
@Dustin-Ray
Copy link
Contributor

@JayWhite2357 this should probably be closed since the feature has been merged in #190

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.

Add TinyInt / i8 type
2 participants