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

Markduckworth/or queries 4274 #6896

Merged
merged 4 commits into from
Dec 21, 2022
Merged

Conversation

MarkDuckworth
Copy link
Contributor

Port of markduckworth/or-queries-4274

  • Update documentation for or() and and()
  • Update the canonical ID computation for flat conjunctions.

@changeset-bot
Copy link

changeset-bot bot commented Dec 16, 2022

🦋 Changeset detected

Latest commit: 76de87e

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 3 packages
Name Type
@firebase/firestore Patch
firebase Patch
@firebase/firestore-compat Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@google-oss-bot
Copy link
Contributor

google-oss-bot commented Dec 16, 2022

Size Report 1

Affected Products

  • @firebase/firestore

    TypeBase (d8af08f)Merge (ea9efff)Diff
    browser272 kB273 kB+52 B (+0.0%)
    esm5339 kB339 kB+69 B (+0.0%)
    main545 kB545 kB+120 B (+0.0%)
    module272 kB273 kB+52 B (+0.0%)
    react-native273 kB273 kB+52 B (+0.0%)
  • bundle

    TypeBase (d8af08f)Merge (ea9efff)Diff
    firestore (Persistence)281 kB281 kB+52 B (+0.0%)
    firestore (Query Cursors)220 kB220 kB+52 B (+0.0%)
    firestore (Query)217 kB217 kB+52 B (+0.0%)
    firestore (Read data once)205 kB205 kB+52 B (+0.0%)
    firestore (Realtime updates)207 kB207 kB+52 B (+0.0%)
    firestore (Transaction)188 kB188 kB+52 B (+0.0%)
    firestore (Write data)188 kB188 kB+52 B (+0.0%)
  • firebase

    TypeBase (d8af08f)Merge (ea9efff)Diff
    firebase-compat.js745 kB746 kB+49 B (+0.0%)
    firebase-firestore-compat.js320 kB320 kB+49 B (+0.0%)
    firebase-firestore.js321 kB321 kB+52 B (+0.0%)

Test Logs

  1. https://storage.googleapis.com/firebase-sdk-metric-reports/SZV2w0qqeU.html

@google-oss-bot
Copy link
Contributor

google-oss-bot commented Dec 16, 2022

Size Analysis Report 1

Affected Products

  • @firebase/firestore

    • addDoc

      Size

      TypeBase (d8af08f)Merge (ea9efff)Diff
      size118 kB118 kB+52 B (+0.0%)
      size-with-ext-deps178 kB178 kB+52 B (+0.0%)
    • deleteDoc

      Size

      TypeBase (d8af08f)Merge (ea9efff)Diff
      size109 kB109 kB+52 B (+0.0%)
      size-with-ext-deps169 kB169 kB+52 B (+0.0%)
    • disableNetwork

      Size

      TypeBase (d8af08f)Merge (ea9efff)Diff
      size97.5 kB97.6 kB+52 B (+0.1%)
      size-with-ext-deps157 kB157 kB+52 B (+0.0%)
    • enableIndexedDbPersistence

      Size

      TypeBase (d8af08f)Merge (ea9efff)Diff
      size179 kB179 kB+52 B (+0.0%)
      size-with-ext-deps239 kB239 kB+52 B (+0.0%)
    • enableMultiTabIndexedDbPersistence

      Size

      TypeBase (d8af08f)Merge (ea9efff)Diff
      size211 kB211 kB+52 B (+0.0%)
      size-with-ext-deps271 kB271 kB+52 B (+0.0%)
    • enableNetwork

      Size

      TypeBase (d8af08f)Merge (ea9efff)Diff
      size97.5 kB97.6 kB+52 B (+0.1%)
      size-with-ext-deps157 kB157 kB+52 B (+0.0%)
    • executeWrite

      Size

      TypeBase (d8af08f)Merge (ea9efff)Diff
      size108 kB108 kB+52 B (+0.0%)
      size-with-ext-deps168 kB168 kB+52 B (+0.0%)
    • getCountFromServer

      Size

      TypeBase (d8af08f)Merge (ea9efff)Diff
      size104 kB104 kB+52 B (+0.0%)
      size-with-ext-deps164 kB164 kB+52 B (+0.0%)
    • getDoc

      Size

      TypeBase (d8af08f)Merge (ea9efff)Diff
      size135 kB135 kB+52 B (+0.0%)
      size-with-ext-deps194 kB194 kB+52 B (+0.0%)
    • getDocFromCache

      Size

      TypeBase (d8af08f)Merge (ea9efff)Diff
      size90.6 kB90.7 kB+52 B (+0.1%)
      size-with-ext-deps150 kB150 kB+52 B (+0.0%)
    • getDocFromServer

      Size

      TypeBase (d8af08f)Merge (ea9efff)Diff
      size135 kB135 kB+52 B (+0.0%)
      size-with-ext-deps194 kB194 kB+52 B (+0.0%)
    • getDocs

      Size

      TypeBase (d8af08f)Merge (ea9efff)Diff
      size136 kB136 kB+52 B (+0.0%)
      size-with-ext-deps196 kB196 kB+52 B (+0.0%)
    • getDocsFromCache

      Size

      TypeBase (d8af08f)Merge (ea9efff)Diff
      size98.3 kB98.3 kB+52 B (+0.1%)
      size-with-ext-deps157 kB157 kB+52 B (+0.0%)
    • getDocsFromServer

      Size

      TypeBase (d8af08f)Merge (ea9efff)Diff
      size136 kB136 kB+52 B (+0.0%)
      size-with-ext-deps196 kB196 kB+52 B (+0.0%)
    • loadBundle

      Size

      TypeBase (d8af08f)Merge (ea9efff)Diff
      size107 kB107 kB+52 B (+0.0%)
      size-with-ext-deps166 kB166 kB+52 B (+0.0%)
    • namedQuery

      Size

      TypeBase (d8af08f)Merge (ea9efff)Diff
      size84.1 kB84.1 kB+52 B (+0.1%)
      size-with-ext-deps143 kB143 kB+52 B (+0.0%)
    • onSnapshot

      Size

      TypeBase (d8af08f)Merge (ea9efff)Diff
      size137 kB137 kB+52 B (+0.0%)
      size-with-ext-deps196 kB197 kB+52 B (+0.0%)
    • onSnapshotsInSync

      Size

      TypeBase (d8af08f)Merge (ea9efff)Diff
      size127 kB127 kB+52 B (+0.0%)
      size-with-ext-deps186 kB186 kB+52 B (+0.0%)
    • runTransaction

      Size

      TypeBase (d8af08f)Merge (ea9efff)Diff
      size118 kB118 kB+52 B (+0.0%)
      size-with-ext-deps178 kB178 kB+52 B (+0.0%)
    • setDoc

      Size

      TypeBase (d8af08f)Merge (ea9efff)Diff
      size117 kB117 kB+52 B (+0.0%)
      size-with-ext-deps177 kB177 kB+52 B (+0.0%)
    • setIndexConfiguration

      Size

      TypeBase (d8af08f)Merge (ea9efff)Diff
      size86.7 kB86.7 kB+52 B (+0.1%)
      size-with-ext-deps146 kB146 kB+52 B (+0.0%)
    • updateDoc

      Size

      TypeBase (d8af08f)Merge (ea9efff)Diff
      size118 kB118 kB+52 B (+0.0%)
      size-with-ext-deps177 kB177 kB+52 B (+0.0%)
    • waitForPendingWrites

      Size

      TypeBase (d8af08f)Merge (ea9efff)Diff
      size97.9 kB98.0 kB+52 B (+0.1%)
      size-with-ext-deps157 kB157 kB+52 B (+0.0%)
    • writeBatch

      Size

      TypeBase (d8af08f)Merge (ea9efff)Diff
      size120 kB120 kB+52 B (+0.0%)
      size-with-ext-deps179 kB179 kB+52 B (+0.0%)

Test Logs

  1. https://storage.googleapis.com/firebase-sdk-metric-reports/gzSJ7YYiIs.html

// the canonical ID for these two are the same. For example:
// `col.whereEquals("a", 1).whereEquals("b", 2)` should have the same
// canonical ID as `col.where(and(equals("a",1), equals("b",2)))`.
return filter.filters.map(filter => canonifyFilter(filter)).join(',');
Copy link
Contributor

@ehsannas ehsannas Dec 21, 2022

Choose a reason for hiding this comment

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

it's interesting that the canonical id of a==1 && b==1 is different strings in web and android.
In Android it'll be a==1b==1. In the Web, it'll be a==1,b==1. Nothing wrong with either one. I just checked target.ts (canonifyTarget) to make sure this is correct.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I had the same surprise. Tests caught it. Thanks for the thorough review!

@MarkDuckworth MarkDuckworth merged commit a7622d4 into master Dec 21, 2022
@MarkDuckworth MarkDuckworth deleted the markduckworth/or-queries-4274 branch December 21, 2022 22:29
@google-oss-bot google-oss-bot mentioned this pull request Jan 17, 2023
@firebase firebase locked and limited conversation to collaborators Jan 21, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants