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: Implements DateType and DateVector #651

Merged
merged 4 commits into from
Nov 29, 2022

Conversation

evenyag
Copy link
Contributor

@evenyag evenyag commented Nov 29, 2022

I hereby agree to the terms of the GreptimeDB CLA

What's changed and what's your intention?

This PR

  • implements DateType and DateVector for the datatypes2 crate (date_type.rs and vectors/date.rs)
  • enables more test cases for Value and ConcreteDataType

Implementing Vector for Wrapper Type

Now implementing Vector for a wrapper type is more convenient, taking Date as an example

  • Adds DateType
  • Implements DataType and LogicalPrimitiveType for DateType
  • Implements WrapperType for Date
  • Adds Alias for DateVector and DateVectorBuilder

Checklist

  • I have written the necessary rustdoc comments.
  • I have added the necessary unit tests and integration tests.

Refer to a related PR or issue link (optional)

@evenyag evenyag changed the base branch from develop to datatypes2 November 29, 2022 07:14
@codecov
Copy link

codecov bot commented Nov 29, 2022

Codecov Report

❗ No coverage uploaded for pull request base (datatypes2@ca4f13a). Click here to learn what that means.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             datatypes2     #651   +/-   ##
=============================================
  Coverage              ?   86.14%           
=============================================
  Files                 ?      424           
  Lines                 ?    53364           
  Branches              ?        0           
=============================================
  Hits                  ?    45971           
  Misses                ?     7393           
  Partials              ?        0           
Flag Coverage Δ
rust 86.14% <0.00%> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

src/datatypes2/src/types/date_type.rs Outdated Show resolved Hide resolved
src/datatypes2/src/vectors/date.rs Outdated Show resolved Hide resolved
src/datatypes2/src/vectors/operations.rs Outdated Show resolved Hide resolved
src/datatypes2/src/data_type.rs Outdated Show resolved Hide resolved
@waynexia waynexia merged commit 8bee709 into GreptimeTeam:datatypes2 Nov 29, 2022
@evenyag evenyag deleted the feat/datatypes2-date branch November 29, 2022 11:06
v0y4g3r added a commit that referenced this pull request Dec 5, 2022
* feat: Init datatypes2 crate

* chore: Remove some unimplemented types

* feat: Implements PrimitiveType and PrimitiveVector for datatypes2 (#633)

* feat: Implement primitive types and vectors

* feat: Implement a wrapper type

* feat: Remove VectorType from ScalarRef

* feat: Move some trait bound from NativeType to WrapperType

* feat: pub use  primitive vectors and builders

* feat: Returns error in try_from when type mismatch

* feat: Impl PartialEq for some vectors

* test: Pass vector tests

* chore: Add license header

* test: Pass more vector tests

* feat: Implement some methods of vector Helper

* test: Pass more tests

* style: Fix clippy

* chore: Add license header

* feat: Remove IntoValueRef trait

* feat: Add NativeType trait bound to WrapperType::Native

* docs: Explain what is wrapper type

* chore: Fix typos

* refactor: LogicalPrimitiveType::type_name returns str

* feat: Implements DateType and DateVector (#651)

* feat: Implement DateType and DateVector

* test: Pass more value and data type tests

* chore: Address CR comments

* test: Skip list value test

* feat: datatypes2 datetime (#661)

* feat: impl DateTime type and vector

* fix: add license header

* fix: CR comments and add more tests

* fix: customized serialization for wrapper type

* feat: Implements NullType and NullVector (#658)

* feat: Implements NullType and NullVector

* chore: Address CR comment

Co-authored-by: Ruihang Xia <[email protected]>

* chore: Address CR comment

Co-authored-by: Ruihang Xia <[email protected]>

* feat: Implements StringType and StringVector (#659)

* feat: implement string vector

Signed-off-by: Ruihang Xia <[email protected]>

* add more test and from

Signed-off-by: Ruihang Xia <[email protected]>

* fix clippy

Signed-off-by: Ruihang Xia <[email protected]>

* cover NUL

Signed-off-by: Ruihang Xia <[email protected]>

Signed-off-by: Ruihang Xia <[email protected]>

* feat: impl datatypes2/timestamp (#686)

* feat: add timestamp datatype and vectors

* fix: cr comments and reformat code

* chore: add some tests

* feat: Implements ListType and ListVector (#681)

* feat: Implement ListType and ListVector

* test: Pass more tests

* style: Fix clippy

* chore: Fix comment

* chore: Address CR comments

* feat: impl constant vector (#680)

* feat: impl constant vector

Signed-off-by: Ruihang Xia <[email protected]>

* fix tests

Signed-off-by: Ruihang Xia <[email protected]>

* Apply suggestions from code review

Co-authored-by: Yingwen <[email protected]>

* rename fn names

Signed-off-by: Ruihang Xia <[email protected]>

* remove println

Signed-off-by: Ruihang Xia <[email protected]>

Signed-off-by: Ruihang Xia <[email protected]>
Co-authored-by: Yingwen <[email protected]>

* feat: Implements Validity (#684)

* feat: Implements Validity

* chore: remove pub from sub mod in vectors

* feat: Implements schema for datatypes2 (#695)

* feat: Add is_timestamp_compatible to DataType

* feat: Implement ColumnSchema and Schema

* feat: Impl RawSchema

* chore: Remove useless codes and run more tests

* chore: Fix clippy

* feat: Impl from_arrow_time_unit and pass schema tests

* chore: add more tests for timestamp (#702)

* chore: add more tests for timestamp

* chore: add replicate test for timestamps

* feat: Implements helper methods for vectors/values (#703)

* feat: Implement helper methods for vectors/values

* chore: Address CR comments

* chore: add more test for timestamp

Signed-off-by: Ruihang Xia <[email protected]>
Co-authored-by: evenyag <[email protected]>
Co-authored-by: Lei, HUANG <[email protected]>
Co-authored-by: Lei, HUANG <[email protected]>
paomian pushed a commit to paomian/greptimedb that referenced this pull request Oct 19, 2023
…m#705)

* feat: Init datatypes2 crate

* chore: Remove some unimplemented types

* feat: Implements PrimitiveType and PrimitiveVector for datatypes2 (GreptimeTeam#633)

* feat: Implement primitive types and vectors

* feat: Implement a wrapper type

* feat: Remove VectorType from ScalarRef

* feat: Move some trait bound from NativeType to WrapperType

* feat: pub use  primitive vectors and builders

* feat: Returns error in try_from when type mismatch

* feat: Impl PartialEq for some vectors

* test: Pass vector tests

* chore: Add license header

* test: Pass more vector tests

* feat: Implement some methods of vector Helper

* test: Pass more tests

* style: Fix clippy

* chore: Add license header

* feat: Remove IntoValueRef trait

* feat: Add NativeType trait bound to WrapperType::Native

* docs: Explain what is wrapper type

* chore: Fix typos

* refactor: LogicalPrimitiveType::type_name returns str

* feat: Implements DateType and DateVector (GreptimeTeam#651)

* feat: Implement DateType and DateVector

* test: Pass more value and data type tests

* chore: Address CR comments

* test: Skip list value test

* feat: datatypes2 datetime (GreptimeTeam#661)

* feat: impl DateTime type and vector

* fix: add license header

* fix: CR comments and add more tests

* fix: customized serialization for wrapper type

* feat: Implements NullType and NullVector (GreptimeTeam#658)

* feat: Implements NullType and NullVector

* chore: Address CR comment

Co-authored-by: Ruihang Xia <[email protected]>

* chore: Address CR comment

Co-authored-by: Ruihang Xia <[email protected]>

* feat: Implements StringType and StringVector (GreptimeTeam#659)

* feat: implement string vector

Signed-off-by: Ruihang Xia <[email protected]>

* add more test and from

Signed-off-by: Ruihang Xia <[email protected]>

* fix clippy

Signed-off-by: Ruihang Xia <[email protected]>

* cover NUL

Signed-off-by: Ruihang Xia <[email protected]>

Signed-off-by: Ruihang Xia <[email protected]>

* feat: impl datatypes2/timestamp (GreptimeTeam#686)

* feat: add timestamp datatype and vectors

* fix: cr comments and reformat code

* chore: add some tests

* feat: Implements ListType and ListVector (GreptimeTeam#681)

* feat: Implement ListType and ListVector

* test: Pass more tests

* style: Fix clippy

* chore: Fix comment

* chore: Address CR comments

* feat: impl constant vector (GreptimeTeam#680)

* feat: impl constant vector

Signed-off-by: Ruihang Xia <[email protected]>

* fix tests

Signed-off-by: Ruihang Xia <[email protected]>

* Apply suggestions from code review

Co-authored-by: Yingwen <[email protected]>

* rename fn names

Signed-off-by: Ruihang Xia <[email protected]>

* remove println

Signed-off-by: Ruihang Xia <[email protected]>

Signed-off-by: Ruihang Xia <[email protected]>
Co-authored-by: Yingwen <[email protected]>

* feat: Implements Validity (GreptimeTeam#684)

* feat: Implements Validity

* chore: remove pub from sub mod in vectors

* feat: Implements schema for datatypes2 (GreptimeTeam#695)

* feat: Add is_timestamp_compatible to DataType

* feat: Implement ColumnSchema and Schema

* feat: Impl RawSchema

* chore: Remove useless codes and run more tests

* chore: Fix clippy

* feat: Impl from_arrow_time_unit and pass schema tests

* chore: add more tests for timestamp (GreptimeTeam#702)

* chore: add more tests for timestamp

* chore: add replicate test for timestamps

* feat: Implements helper methods for vectors/values (GreptimeTeam#703)

* feat: Implement helper methods for vectors/values

* chore: Address CR comments

* chore: add more test for timestamp

Signed-off-by: Ruihang Xia <[email protected]>
Co-authored-by: evenyag <[email protected]>
Co-authored-by: Lei, HUANG <[email protected]>
Co-authored-by: Lei, HUANG <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants