Skip to content
This repository was archived by the owner on Feb 20, 2026. It is now read-only.

fix: Add excludeFromIndexes in the proper places for large properties of nested fields#1266

Merged
danieljbruce merged 8 commits intomainfrom
1242-to-main-2
Aug 28, 2024
Merged

fix: Add excludeFromIndexes in the proper places for large properties of nested fields#1266
danieljbruce merged 8 commits intomainfrom
1242-to-main-2

Conversation

@danieljbruce
Copy link
Copy Markdown
Contributor

Solves #1242.

This PR combines the following PRs which have already been reviewed:

#1265
#1264
#1263

* Add interfaces that restrict values passed to save

* Add interfaces for save

We need help from the compiler so these interfaces will be useful for determining the shape of the data.

* Modify current interfaces to make a closer match

The interfaces should match the actual data types that get passed in.

* key and data in PrepareEntityObjectResponse option

These properties are actually optional

* Document all the interfaces added for the save fn

* Add two tests showing name/value should be provide

* Make the SaveNonArrayData more specific.

save doesn’t encode strings or ints or any values that don’t have keys properly so we should restrict the interface to what it does include.

* Add header

* Test should be more flexible

* Add a class for elements with ToString

* Define the toString class inline

* Eliminate links to points in code
…es for a complex case (#1263)

* Write a sample test for what save output should be

* Add a test for a bunch of complex excludeFromIndex

* Change the replace function so it works everywhere

* Modify the expected value

Make it contain longStringArray

* Correct the test for evaluating arrays

* Break up the entityToEntityProto into separate par

* Fix the tests to work with new addExcludeFromIndex

* Revert "Break up the entityToEntityProto into separate par"

This reverts commit 60dabd7.

* Revert "Fix the tests to work with new addExcludeFromIndex"

This reverts commit ba4e82b.

* Remove source code changes

* Skip the test that looks at arrays

* Remove some of the wildcard indexes

This is in excludeFromIndexes - replace them with literals.

* Remove another boolean value from excludeFromIndex

* Eliminate duplicate expectedMutations

* Eliminate duplicate runTest function

* Begin to set up the async tests

* Pack all tests into the async framework

* Delete tests addressed by async

* Get rid of test functions and inline everything

* Add comment

* Add comments describing each test case

* Remove only

* Add another test looks at name/value not in array

* Add a test for excludeLarge properties and name/va

* Fix the test so that the array case matches

Matches the single case

* should pass the right properties for an array

* Rename the test

* Change name to entityName

* Add two tests that capture the array encoding

encoding problem

* Change expected output of arrays

* Remove only

* Add 2 more tests to ensure behaviour is preserved

* Correct test - it should apply excludeFromIndexes

* Update the test for the nested value
* Write a sample test for what save output should be

* Add a test for a bunch of complex excludeFromIndex

* Change the replace function so it works everywhere

* Modify the expected value

Make it contain longStringArray

* Correct the test for evaluating arrays

* Break up the entityToEntityProto into separate par

* Fix the tests to work with new addExcludeFromIndex

* Break up the entityToEntityProto into separate par

* Fix the tests to work with new addExcludeFromIndex

* Revert "Break up the entityToEntityProto into separate par"

This reverts commit 60dabd7.

* Revert "Fix the tests to work with new addExcludeFromIndex"

This reverts commit ba4e82b.

* Remove source code changes

* Skip the test that looks at arrays

* Remove some of the wildcard indexes

This is in excludeFromIndexes - replace them with literals.

* Remove another boolean value from excludeFromIndex

* Eliminate duplicate expectedMutations

* Eliminate duplicate runTest function

* Begin to set up the async tests

* Pack all tests into the async framework

* Delete tests addressed by async

* Get rid of test functions and inline everything

* Add comment

* Add comments describing each test case

* Remove only

* Add another test looks at name/value not in array

* Add a test for excludeLarge properties and name/va

* Fix the test so that the array case matches

Matches the single case

* should pass the right properties for an array

* Rename the test

* Change name to entityName

* Add two tests that capture the array encoding

encoding problem

* Change expected output of arrays

* Remove only

* Add 2 more tests to ensure behaviour is preserved

* Make argument more specific for excludeFromIndexes

* Use excludeLargeProperties for array/non-array cas

* Fix the test to include entity proto

* Correct mistakes in initial implementation

* Don’t skip any of the tests

* Remove only

* Add check for excludeLargeProperties

* Remove TODO
@danieljbruce danieljbruce requested a review from a team as a code owner August 28, 2024 15:00
@danieljbruce danieljbruce requested a review from a team August 28, 2024 15:00
@product-auto-label product-auto-label bot added size: l Pull request size is large. api: datastore Issues related to the googleapis/nodejs-datastore API. labels Aug 28, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

api: datastore Issues related to the googleapis/nodejs-datastore API. size: l Pull request size is large.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants