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

ColumnSchema classes for performance of typecasting #273

Merged
merged 10 commits into from
May 30, 2024

Conversation

Tigrov
Copy link
Member

@Tigrov Tigrov commented Sep 1, 2023

Q A
Is bugfix?
New feature? ✔️
Breaks BC? ✔️
Fixed issues yiisoft/db#737

@what-the-diff
Copy link

what-the-diff bot commented Sep 1, 2023

PR Summary

  • Deprecated ColumnSchema Class and Introduced JsonColumnSchema Class
    The ColumnSchema class is now marked as deprecated, and a new class named JsonColumnSchema is introduced, hinting at a shift towards handling JSON type data.

  • New Interface Column\ColumnSchemaInterface
    A new interface, Column\ColumnSchemaInterface, was added suggesting an abstraction that classes dealing with column schemas need to implement.

  • Enhanced Schema Class
    The Schema class received an update, where size, precision, and scale properties are now included in the array of column information. This change offers more specifics about column information.

  • Refactored loadColumnSchema Method in Schema Class
    The loadColumnSchema method in the Schema class has been refactored to use the newly updated column information array and is now capable of handling distinct data types, enhancing its scope and functionality.

  • Removed createColumnSchema Method from Schema Class
    The createColumnSchema method was removed from the Schema class, suggesting a revision in the way column schemas are created.

  • Test Class Update with New Column Schema Classes
    The ColumnSchemaTest class now includes new column schema classes such as BinaryColumnSchema, BooleanColumnSchema, DoubleColumnSchema, IntegerColumnSchema, JsonColumnSchema, StringColumnSchema. The addition of these classes demonstrates the PR's attempt to improve testing for different categories of column schemas.

  • Test Refactoring in ColumnSchemaTest Class
    The tests in the ColumnSchemaTest class have been refactored to utilize the new column schema classes, enhancing the testing scope and coverage.

@codecov
Copy link

codecov bot commented Sep 1, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 97.33%. Comparing base (85a1939) to head (711c381).

Current head 711c381 differs from pull request most recent head eae08a9

Please upload reports for the commit eae08a9 to get more accurate results.

Additional details and impacted files
@@             Coverage Diff              @@
##             master     #273      +/-   ##
============================================
- Coverage     98.46%   97.33%   -1.14%     
  Complexity      339      339              
============================================
  Files            21       19       -2     
  Lines          1043     1049       +6     
============================================
- Hits           1027     1021       -6     
- Misses           16       28      +12     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@Tigrov Tigrov marked this pull request as ready for review September 1, 2023 15:37
@Tigrov Tigrov added the status:under development Someone is working on a pull request. label Jan 31, 2024
@Tigrov Tigrov added status:code review The pull request needs review. and removed status:under development Someone is working on a pull request. labels May 5, 2024
@Tigrov Tigrov merged commit 0d9db18 into yiisoft:master May 30, 2024
31 of 34 checks passed
@Tigrov Tigrov deleted the column_type_classes2 branch May 30, 2024 08:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status:code review The pull request needs review.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants