This pull request introduces the capability to use SpecialKey for specifying values in nested structures within sessions, enhancing the flexibility of our session management. The primary motivation for this change is to support complex querying scenarios, such as cross-querying session data by user IDs, which are stored in nested objects within session structures.
Key Changes:
Nested Structure Support: Previously, accessing nested attributes like userId within a user object in the session data was not possible with SpecialKey. This update enables this functionality, allowing SpecialKey to target nested attributes.
Compatibility and Testing:
The changes maintain backward compatibility and do not alter existing functionalities.
New tests have been added to ensure that SpecialKey can now handle nested attributes without breaking existing functionalities.
Use Case:
Consider a session structured as follows:
With the current system, it is impossible to set userId as a SpecialKey for purposes like querying in DynamoDB's Global Secondary Indexes (GSI) for cross-session user data retrieval. This update addresses such limitations by allowing userId to be specified as a SpecialKey.
Impact:
This enhancement will significantly improve our ability to perform more complex queries on session data, facilitating better data management and retrieval based on user-specific or other nested session attributes.
Description:
This pull request introduces the capability to use
SpecialKey
for specifying values in nested structures within sessions, enhancing the flexibility of our session management. The primary motivation for this change is to support complex querying scenarios, such as cross-querying session data by user IDs, which are stored in nested objects within session structures.Key Changes:
Nested Structure Support: Previously, accessing nested attributes like userId within a user object in the session data was not possible with SpecialKey. This update enables this functionality, allowing SpecialKey to target nested attributes.
Compatibility and Testing:
Use Case: Consider a session structured as follows:
set special keys.
dynamodb-client query output
With the current system, it is impossible to set
userId
as aSpecialKey
for purposes like querying in DynamoDB's Global Secondary Indexes (GSI) for cross-session user data retrieval. This update addresses such limitations by allowing userId to be specified as aSpecialKey
.Impact: This enhancement will significantly improve our ability to perform more complex queries on session data, facilitating better data management and retrieval based on user-specific or other nested session attributes.