Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

[1/4] Add support for WebDX Groups, Feature-Group Mappings & Group Descendants #594

Merged
merged 1 commit into from
Aug 17, 2024

Conversation

jcscottiii
Copy link
Collaborator

@jcscottiii jcscottiii commented Aug 14, 2024

Depends on #593

Description:

This PR introduces the foundational schema and data access layer for managing WebDX Groups and their associations with Web Features in Spanner. This is the beginning of #299 to support only the groups storage and filtering. (Snapshot schema will come separately)

Key Changes

  • Schema:

    • Created the WebDXGroups table to store group metadata.
    • Created the WebFeatureGroups table to map web features to their associated groups.
    • Created the WebDXGroupDescendants to include the descendant group IDs for efficient querying
  • Data Access Layer:

    • Implemented UpsertGroup and GetGroupIDFromGroupKey methods in the Client struct to interact with the WebDXGroups table.
    • Implemented UpsertWebFeatureGroup to manage feature-group mappings in the WebFeatureGroups table.
    • Implemeneted UpsertGroupDescendantInfo to manage mappings of groups to all descendant groups.
    • Introduced helper structs and mappers (WebFeatureGroup, groupSpannerMapper, etc.) to facilitate data mapping and persistence.

Purpose

  • Enables storing and retrieving information about WebDX Groups and their relationships with Web Features.
  • Lays the groundwork for future features that rely on group-based organization and filtering.
  • Optimizes queries for features associated with a group and its descendants by pre-calculating and storing descendant group IDs.
    • This is useful because if a user queries for a group, it should return the features belonging to children groups too.

@jcscottiii jcscottiii changed the title Add support for WebDX Groups and Feature-Group Mappings Add support for WebDX Groups, Feature-Group Mappings & Group Descendants Aug 15, 2024
@jcscottiii jcscottiii force-pushed the jcscottiii/refactor-spanner-client branch from 29704a5 to f5430a9 Compare August 15, 2024 15:07
@jcscottiii jcscottiii changed the title Add support for WebDX Groups, Feature-Group Mappings & Group Descendants [1/4] Add support for WebDX Groups, Feature-Group Mappings & Group Descendants Aug 16, 2024
Base automatically changed from jcscottiii/refactor-spanner-client to main August 17, 2024 15:21
**Description:**

This PR introduces the foundational schema and data access layer for managing WebDX Groups and their associations with Web Features in Spanner.

**Key Changes**

* **Schema:**
   * Created the `WebDXGroups` table to store group metadata.
   * Created the `WebFeatureGroups` table to map web features to their associated groups.
   * Created the `WebDXGroupDescendants` to include the descendant group IDs for efficient querying

* **Data Access Layer:**
   * Implemented `UpsertGroup` and `GetGroupIDFromGroupKey` methods in the `Client` struct to interact with the `WebDXGroups` table.
   * Implemented `UpsertWebFeatureGroup` to manage feature-group mappings in the `WebFeatureGroups` table.
   * Implemeneted `UpsertGroupDescendantInfo` to manage mappings of groups to all descendant groups.
   * Introduced helper structs and mappers (`WebFeatureGroup`, `groupSpannerMapper`, etc.) to facilitate data mapping and persistence.

**Purpose**

* Enables storing and retrieving information about WebDX Groups and their relationships with Web Features.
* Lays the groundwork for future features that rely on group-based organization and filtering.
* Optimizes queries for features associated with a group and its descendants by pre-calculating and storing descendant group IDs.
  * This is useful because if a user queries for a group, it should return the features belonging to children groups too.
@jcscottiii jcscottiii added this pull request to the merge queue Aug 17, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Aug 17, 2024
@jcscottiii jcscottiii added this pull request to the merge queue Aug 17, 2024
Merged via the queue into main with commit 244b7c0 Aug 17, 2024
3 checks passed
@jcscottiii jcscottiii deleted the jcscottiii/add-groups-table branch August 17, 2024 16:38
@jcscottiii jcscottiii linked an issue Aug 19, 2024 that may be closed by this pull request
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Filter by groups and snapshots
3 participants