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

CBL-5181: Array Index API tests and adjustments #3330

Merged
merged 6 commits into from
Oct 7, 2024
Merged

Conversation

velicuvlad
Copy link
Contributor

@velicuvlad velicuvlad commented Oct 2, 2024

  • updated LiteCore to 3.2.1-5
  • moved Internal section at the end of file for Objective-C/CBLCollection.mm
  • implement internal indexesInfo which is exactly coll.indexes() but keeping all information for each index found, not only stripping the name out of it
  • fixed expectExcepion typo
  • tests for both Obj-C and Swift for Array Index API
  • contains CBL-5899 as well

@@ -33,7 +35,7 @@

NS_ASSUME_NONNULL_BEGIN

@interface CBLCollection () <CBLRemovableListenerToken>
@interface CBLCollection () <CBLRemovableListenerToken, CBLIndexableInternal>
Copy link
Contributor

Choose a reason for hiding this comment

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

I don't see a reason to create a protocol for CBLIndexableInternal as CBLCollection will not be used as CBLIndexableInternal type. I think you can just add a method indexesInfo in CBLCollection() directly.


NS_ASSUME_NONNULL_BEGIN

@protocol CBLIndexableInternal <CBLIndexable>
Copy link
Contributor

Choose a reason for hiding this comment

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

Don't need to create the protocol for this as the method can be put directly to CBLCollection Internal.

Also no need to have underscored prefix as this function will not be a public API.

@velicuvlad velicuvlad marked this pull request as ready for review October 4, 2024 15:54
@velicuvlad velicuvlad requested a review from pasin October 4, 2024 16:38
Copy link
Contributor

@pasin pasin left a comment

Choose a reason for hiding this comment

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

One comment and the rest is looking good.

[NSException raise: NSInvalidArgumentException format:
@"Expressions cannot be empty "];
@"Empty expressions is not allowed, use nil instead"];
Copy link
Contributor

Choose a reason for hiding this comment

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

Can you add another validation for a single empty string ? We don't allow that to be set as well. See the updated API spec.

@velicuvlad velicuvlad merged commit e2c459c into release/3.2 Oct 7, 2024
8 checks passed
@velicuvlad velicuvlad deleted the CBL-5181 branch October 7, 2024 14:25
velicuvlad added a commit that referenced this pull request Nov 11, 2024
* CBL-5524 : Add all keys to the Privacy Manifest file (#3258)
* CBL-5541 : Update vector search test per changes in v1.8 (#3260)
* CBL-5365: Remove CBLErrors.h from Swift Public API (#3271)
* CBL-5508: Update Min macOS Support Version to 12.0 (#3272)
* CBL-5693 : Fix missing exported symbols (#3281)
* CBL-5222: MutableDocument should be usable before creating a database instance (#3278)
* CBL-5613: Swift API docs for Scope using Obj-c reference (#3284)
* CBL-5710: Add note that the replicator cannot be started in the inBatch() function (#3286)
* CBL-5514: Swift MutableDocument's collection is not set when a new document is saved (#3287)
* CBL-5660 : Fix a released query context may be used in observer callback (#3285)
* CBL-5668: Get Code Coverage at least 80% (#3289)
* CBL-3385: Allow null expression parameter for Function.count(expression) (#3290)
* CBL-5750  + CBL-5757  Lazy Index - ObjC (#3291)
* CBL-5811 : Support Vector Dimension to 4096 and Vector in Base64 String (#3294)
* CBL-5803 : Implement Lazy Vector Index and Test for Swift (#3295)
* CBL-5567 : Implement log replicator heiroglyphics (#3296)
* CBL-5859 : Allow explicitly enable vector search (#3297)
* CBL-5886: Add missing numProbes and correct min/maxTrainingSize default value (#3298)
* CBL-5932: Update default constants and public symbols (#3299)
* CBL-5928 : CBLErrors.h is not included in the umbrella header (#3301)
* CBL-5927 : Fix Duplicate CBLQueryIndex Interface Definition (#3300)
* CBL-5893: Throw exception for everything if finish() was successfully called beforehand (#3302)
* CBL-5956: Update DistanceMetric (#3303)
* CBL-5690 : Update Distance Metric Enum and VS SQL in Tests (#3304)
* CBL-5990 : Fix _kCBLDefaultLogFileUsePlaintext symbol (#3305)
* CBL-6070: Implement Database Full-Sync Option (#3318)
* CBL-6144: Add testConcurrentCreateAndQuery to verify query's lock (#3320)
* CBL-6191 : Fix null URL for proxy CONNECT request (#3324)
* CBL-5180: Implement Array Index API (#3327)
* CBL-5181: Array Index API tests and adjustments (#3330)
* CBL-5899
* CBL-6307: Database MMap Configuration API and tests (#3333)
* CBL-6349: Implement Document's getRevisionHistory() for E2E Test Server (#3335)
* LiteCore 3.2.1-19
* Export symbol for mmap constant (#3341)
* ArrayIndexConfiguration explicit expressions arg on set (#3342)

---------

Co-authored-by: Pasin Suriyentrakorn <[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.

2 participants