Skip to content

[cloud_firestore: 0.13.4+2] multiple where clause on null filter ignored #2291

Description

@antoniosap

Describe the bug
multiple where on null return partial filtering

To Reproduce

    QuerySnapshot qs = await Firestore.instance
        .collection(collectionName)
        .where('user', isEqualTo: item.user)
        .where('cer', isEqualTo: item.cer)
        .where('statoFisicoS', isEqualTo: null)
        .where('categoriaV', isEqualTo: null)
        .getDocuments();

return ALL user and cer compound fields ignoring databases value

Activity

  1. TahaTesser commented on Apr 3, 2020

    @TahaTesser

    Hi @antoniosap
    Do you have null as value or null as string in your firestore fields?
    can you please provide your flutter doctor -v and flutter run --verbose?
    Could you also post your pubspec.yaml
    Thank you

  2. antoniosap commented on Apr 3, 2020

    @antoniosap
    Author

    have null as value

     flutter doctor -v
    [✓] Flutter (Channel dev, v1.16.2, on Linux, locale en_US.UTF-8)
        • Flutter version 1.16.2 at /home/aldebaran/workspace-flutter/flutter
        • Framework revision 58cad787d8 (11 days ago), 2020-03-23 08:33:41 -0700
        • Engine revision 2d42c74a34
        • Dart version 2.8.0 (build 2.8.0-dev.16.0 ba8baa46b4)
    
     
    [✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
        • Android SDK at /home/aldebaran/Android/Sdk
        • Android NDK location not configured (optional; useful for native profiling support)
        • Platform android-29, build-tools 29.0.2
        • Java binary at: /home/aldebaran/.local/share/JetBrains/Toolbox/apps/AndroidStudio/ch-0/192.6241897/jre/bin/java
        • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
        • All Android licenses accepted.
    
    [✓] Chrome - develop for the web
        • Chrome at google-chrome
    
    [✓] Android Studio (version 3.5)
        • Android Studio at /mnt/1fb99531-1a3b-431a-a046-c05915090f5a/android-studio
        • Flutter plugin version 43.0.1
        • Dart plugin version 191.8593
        • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    
    [✓] Android Studio (version 3.6)
        • Android Studio at /home/aldebaran/.local/share/JetBrains/Toolbox/apps/AndroidStudio/ch-0/192.6241897
        • Flutter plugin version 44.0.2
        • Dart plugin version 192.7761
        • Java version OpenJDK Runtime Environment (build 1.8.0_212-release-1586-b4-5784211)
    
    [✓] Connected device (3 available)
        • SM A405FN  • R58MB4RFKDJ • android-arm64  • Android 10 (API 29)
        • Chrome     • chrome      • web-javascript • Google Chrome 80.0.3987.163
        • Web Server • web-server  • web-javascript • Flutter Tools
    
    
    name: xxx_xxx_x
    description: xxxxx
    
    # The following defines the version and build number for your application.
    # A version number is three numbers separated by dots, like 1.2.43
    # followed by an optional build number separated by a +.
    # Both the version and the builder number may be overridden in flutter
    # build by specifying --build-name and --build-number, respectively.
    # In Android, build-name is used as versionName while build-number used as versionCode.
    # Read more about Android versioning at https://developer.android.com/studio/publish/versioning
    # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
    # Read more about iOS versioning at
    # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
    version: 1.0.31+32
    
    environment:
      sdk: ">=2.3.0 <3.0.0"
    
    dependencies:
      flutter:
        sdk: flutter
      flutter_localizations:
        sdk: flutter
      flutter_cupertino_localizations: ^1.0.1
    
      # The following adds the Cupertino Icons font to your application.
      # Use with the CupertinoIcons class for iOS style icons.
      cupertino_icons: ^0.1.2
      ##-------------------------------------------------------
      ## issue sites:
      ## https://github.com/FirebaseExtended/flutterfire/issues/2087
      ## runner issue:
      ## https://github.com/flutter/flutter/issues/41793
      ##
      firebase_core: 0.4.4+3
      firebase_auth: 0.15.5+3
      firebase_database: 3.1.3
      firebase_storage: 3.1.3
      firebase_messaging: ^6.0.9
      ##google_sign_in: 4.3.0 web version error
      cloud_firestore: 0.13.4+2
      ##-------------------------------------------------------
      datetime_picker_formfield: ^1.0.0
      json_serializable: ^3.2.5
      credit_card: ^0.1.8
      #stripe_sdk: ^2.4.2
      flutter_plugin_pdf_viewer: ^1.0.7
      json_annotation: ^3.0.1
      pdf: ^1.4.1
      #mustache: ^1.1.1 <--- qua si blocca tutto
      fluttertoast: ^3.1.3
      package_info: ^0.4.0+13
      image_picker: ^0.6.3+4
      transparent_image: ^1.0.0
      flutter_google_pay: ^0.1.4
      meta: ^1.1.8
    
    dev_dependencies:
      flutter_test:
        sdk: flutter
    
      build_runner: ^1.8.0
      json_serializable: ^3.2.5
      flutter_launcher_icons: ^0.7.4
    
    
    flutter_icons:
      image_path: "assets/icon/launcher.png"
      android: true
      ios: true
    
    
    # For information on the generic Dart part of this file, see the
    # following page: https://dart.dev/tools/pub/pubspec
    
    # The following section is specific to Flutter.
    flutter:
    
      # The following line ensures that the Material Icons font is
      # included with your application, so that you can use the icons in
      # the material Icons class.
      uses-material-design: true
    
      # To add assets to your application, add an assets section, like this:
      # assets:
      #  - images/a_dot_burr.jpeg
      #  - images/a_dot_ham.jpeg
    
      # An image asset can refer to one or more resolution-specific "variants", see
      # https://flutter.dev/assets-and-images/#resolution-aware.
    
      # For details regarding adding assets from package dependencies, see
      # https://flutter.dev/assets-and-images/#from-packages
    
      # To add custom fonts to your application, add a fonts section here,
      # in this "flutter" section. Each entry in this list should have a
      # "family" key with the font family name, and a "fonts" key with a
      # list giving the asset and other descriptors for the font. For
      # example:
      # fonts:
      #   - family: Schyler
      #     fonts:
      #       - asset: fonts/Schyler-Regular.ttf
      #       - asset: fonts/Schyler-Italic.ttf
      #         style: italic
      #   - family: Trajan Pro
      #     fonts:
      #       - asset: fonts/TrajanPro.ttf
      #       - asset: fonts/TrajanPro_Bold.ttf
      #         weight: 700
      #
      # For details regarding fonts from package dependencies,
      # see https://flutter.dev/custom-fonts/#from-packages
    
      assets:
        - assets/
    
    
    
    
    Launching lib/main.dart on SM A405FN in debug mode...
    Running Gradle task 'assembleDebug'...
    ✓ Built build/app/outputs/apk/debug/app-debug.apk.
    Installing build/app/outputs/apk/app.apk...
    Debug service listening on ws://127.0.0.1:41395/xbA7_a4aKI4=/ws
    Syncing files to device SM A405FN...
    D/ViewRootImpl@6300a6f[MainActivity](17299): setView = com.android.internal.policy.DecorView@f338a87 TM=true MM=false
    W/.io.app_waste_(17299): Accessing hidden method Landroid/view/accessibility/AccessibilityNodeInfo;->getSourceNodeId()J (greylist, reflection, allowed)
    W/.io.app_waste_(17299): Accessing hidden method Landroid/view/accessibility/AccessibilityRecord;->getSourceNodeId()J (greylist, reflection, allowed)
    W/.io.app_waste_(17299): Accessing hidden field Landroid/view/accessibility/AccessibilityNodeInfo;->mChildNodeIds:Landroid/util/LongArray; (greylist, reflection, allowed)
    W/.io.app_waste_(17299): Accessing hidden method Landroid/util/LongArray;->get(I)J (greylist, reflection, allowed)
    D/SurfaceView(17299): onWindowVisibilityChanged(0) true io.flutter.view.FlutterView{55cde8b VFE...... ......I. 0,0-0,0} of ViewRootImpl@6300a6f[MainActivity]
    D/ViewRootImpl@6300a6f[MainActivity](17299): Relayout returned: old=(0,0,1080,2340) new=(0,0,1080,2340) req=(1080,2340)0 dur=40 res=0x7 s={true 516594708480} ch=true
    D/OpenGLRenderer(17299): createReliableSurface : 0x78d8961740, 0x784771b000
    D/mali_winsys(17299): EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
    D/SurfaceView(17299): surfaceCreated 1 #8 io.flutter.view.FlutterView{55cde8b VFE...... ......ID 0,0-1080,2196}
    D/mali_winsys(17299): EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
    I/.io.app_waste_(17299): Background concurrent copying GC freed 3346(296KB) AllocSpace objects, 4(208KB) LOS objects, 49% free, 2423KB/4847KB, paused 18.490ms total 159.478ms
    D/SurfaceView(17299): surfaceChanged (1080,2196) 1 #8 io.flutter.view.FlutterView{55cde8b VFE...... ......ID 0,0-1080,2196}
    W/Gralloc3(17299): mapper 3.x is not supported
    I/gralloc (17299): Arm Module v1.0
    I/Choreographer(17299): Skipped 42 frames!  The application may be doing too much work on its main thread.
    D/ViewRootImpl@6300a6f[MainActivity](17299): Relayout returned: old=(0,0,1080,2340) new=(0,0,1080,2340) req=(1080,2340)0 dur=48 res=0x1 s={true 516594708480} ch=false
    D/ViewRootImpl@6300a6f[MainActivity](17299): MSG_WINDOW_FOCUS_CHANGED 1 1
    D/InputMethodManager(17299): prepareNavigationBarInfo() DecorView@f338a87[MainActivity]
    D/InputMethodManager(17299): getNavigationBarColor() -855310
    D/InputMethodManager(17299): prepareNavigationBarInfo() DecorView@f338a87[MainActivity]
    D/InputMethodManager(17299): getNavigationBarColor() -855310
    V/InputMethodManager(17299): Starting input: tba=flutter.io.app_waste_2 ic=null mNaviBarColor -855310 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
    D/InputMethodManager(17299): startInputInner - Id : 0
    I/InputMethodManager(17299): startInputInner - mService.startInputOrWindowGainedFocus
    D/ViewRootImpl@6300a6f[MainActivity](17299): MSG_RESIZED: frame=(0,0,1080,2340) ci=(0,86,0,144) vi=(0,86,0,144) or=1
    D/InputMethodManager(17299): prepareNavigationBarInfo() DecorView@f338a87[MainActivity]
    D/InputMethodManager(17299): getNavigationBarColor() -855310
    V/InputMethodManager(17299): Starting input: tba=flutter.io.app_waste_2 ic=null mNaviBarColor -855310 mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
    D/InputMethodManager(17299): startInputInner - Id : 0
    I/flutter (17299): -----> Push Messaging token: dUEnE4KdRbs:APA91bFxfxF-7G4gwF_mbB15PoSk5HoLUgyIPw5yEr5wU8vP60Q0wcTBFc1UxetKQi5tNSo5zXrF9pdpQGxMe6naiNOhsFZV_2eE2IVZVSQEPSlkIYZhYVj3bFugQ-CXuL2d07hzyi-C
    D/ConnectivityManager(17299): requestNetwork; CallingUid : 10354, CallingPid : 17299
    W/DynamiteModule(17299): Local module descriptor class for providerinstaller not found.
    I/DynamiteModule(17299): Considering local module providerinstaller:0 and remote module providerinstaller:0
    W/ProviderInstaller(17299): Failed to load providerinstaller module: No acceptable module found. Local version is 0 and remote version is 0.
    I/.io.app_waste_(17299): The ClassLoaderContext is a special shared library.
    I/chatty  (17299): uid=10354(flutter.io.app_waste_2) AsyncTask #1 identical 1 line
    I/.io.app_waste_(17299): The ClassLoaderContext is a special shared library.
    W/.io.app_waste_(17299): Accessing hidden method Lsun/misc/Unsafe;->getLong(Ljava/lang/Object;J)J (greylist,core-platform-api, linking, allowed)
    W/.io.app_waste_(17299): Accessing hidden method Lsun/misc/Unsafe;->arrayBaseOffset(Ljava/lang/Class;)I (greylist,core-platform-api, linking, allowed)
    W/.io.app_waste_(17299): Accessing hidden method Lsun/misc/Unsafe;->copyMemory(JJJ)V (greylist, linking, allowed)
    W/.io.app_waste_(17299): Accessing hidden method Lsun/misc/Unsafe;->objectFieldOffset(Ljava/lang/reflect/Field;)J (greylist,core-platform-api, linking, allowed)
    W/.io.app_waste_(17299): Accessing hidden method Lsun/misc/Unsafe;->getByte(J)B (greylist,core-platform-api, linking, allowed)
    W/.io.app_waste_(17299): Accessing hidden method Lsun/misc/Unsafe;->getByte(Ljava/lang/Object;J)B (greylist,core-platform-api, linking, allowed)
    W/.io.app_waste_(17299): Accessing hidden method Lsun/misc/Unsafe;->getLong(J)J (greylist,core-platform-api, linking, allowed)
    W/.io.app_waste_(17299): Accessing hidden method Lsun/misc/Unsafe;->putByte(JB)V (greylist,core-platform-api, linking, allowed)
    W/.io.app_waste_(17299): Accessing hidden method Lsun/misc/Unsafe;->putByte(Ljava/lang/Object;JB)V (greylist,core-platform-api, linking, allowed)
    W/.io.app_waste_(17299): Accessing hidden method Lsun/misc/Unsafe;->getLong(Ljava/lang/Object;J)J (greylist,core-platform-api, reflection, allowed)
    W/.io.app_waste_(17299): Accessing hidden method Lsun/misc/Unsafe;->getLong(Ljava/lang/Object;J)J (greylist,core-platform-api, reflection, allowed)
    W/.io.app_waste_(17299): Accessing hidden field Ljava/nio/Buffer;->address:J (greylist, reflection, allowed)
    V/NativeCrypto(17299): Registering com/google/android/gms/org/conscrypt/NativeCrypto's 286 native methods...
    W/.io.app_waste_(17299): Accessing hidden method Ljava/security/spec/ECParameterSpec;->getCurveName()Ljava/lang/String; (greylist, reflection, allowed)
    D/NetworkSecurityConfig(17299): No Network Security Config specified, using platform default
    I/ProviderInstaller(17299): Installed default security provider GmsCore_OpenSSL
    D/ConnectivityManager(17299): requestNetwork; CallingUid : 10354, CallingPid : 17299
    W/.io.app_waste_(17299): Accessing hidden field Ljava/net/Socket;->impl:Ljava/net/SocketImpl; (greylist, reflection, allowed)
    W/.io.app_waste_(17299): Accessing hidden method Ldalvik/system/CloseGuard;->get()Ldalvik/system/CloseGuard; (greylist,core-platform-api, linking, allowed)
    W/.io.app_waste_(17299): Accessing hidden method Ldalvik/system/CloseGuard;->open(Ljava/lang/String;)V (greylist,core-platform-api, linking, allowed)
    W/.io.app_waste_(17299): Accessing hidden field Ljava/io/FileDescriptor;->descriptor:I (greylist, JNI, allowed)
    W/.io.app_waste_(17299): Accessing hidden method Ljava/security/spec/ECParameterSpec;->setCurveName(Ljava/lang/String;)V (greylist, reflection, allowed)
    W/.io.app_waste_(17299): Accessing hidden method Ldalvik/system/BlockGuard;->getThreadPolicy()Ldalvik/system/BlockGuard$Policy; (greylist,core-platform-api, linking, allowed)
    W/.io.app_waste_(17299): Accessing hidden method Ldalvik/system/BlockGuard$Policy;->onNetwork()V (greylist, linking, allowed)
    D/ViewRootImpl@6300a6f[MainActivity](17299): ViewPostIme pointer 0
    D/ViewRootImpl@6300a6f[MainActivity](17299): ViewPostIme pointer 1
    D/ViewRootImpl@6300a6f[MainActivity](17299): ViewPostIme pointer 0
    D/ViewRootImpl@6300a6f[MainActivity](17299): ViewPostIme pointer 1
    D/ViewRootImpl@6300a6f[MainActivity](17299): ViewPostIme pointer 0
    D/ViewRootImpl@6300a6f[MainActivity](17299): ViewPostIme pointer 1
    D/ViewRootImpl@6300a6f[MainActivity](17299): ViewPostIme pointer 0
    D/ViewRootImpl@6300a6f[MainActivity](17299): ViewPostIme pointer 1
    I/flutter (17299): -----> Push Messaging token: dUEnE4KdRbs:APA91bFxfxF-7G4gwF_mbB15PoSk5HoLUgyIPw5yEr5wU8vP60Q0wcTBFc1UxetKQi5tNSo5zXrF9pdpQGxMe6naiNOhsFZV_2eE2IVZVSQEPSlkIYZhYVj3bFugQ-CXuL2d07hzyi-C
    D/ViewRootImpl@10b1625[Toast](17299): setView = android.widget.FrameLayout@815e3fa TM=true MM=false
    D/ViewRootImpl@10b1625[Toast](17299): Relayout returned: old=(0,86,1080,2196) new=(86,1005,993,1276) req=(907,271)0 dur=45 res=0x7 s={true 516664975360} ch=true
    D/OpenGLRenderer(17299): createReliableSurface : 0x78401ffb00, 0x784ba1e000
    D/mali_winsys(17299): EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
    D/ViewRootImpl@10b1625[Toast](17299): MSG_RESIZED: frame=(86,1005,993,1276) ci=(0,0,0,0) vi=(0,0,907,271) or=1
    W/libEGL  (17299): EGLNativeWindowType 0x78401ffb10 disconnect failed
    D/ViewRootImpl@10b1625[Toast](17299): dispatchDetachedFromWindow
    D/InputTransport(17299): Input channel destroyed: '73859ea', fd=102
    
    
  3. added
    impact: customerA bug with low impact (e.g. affecting only a few customers or has a workaround). (P3)
    and removed
    blocked: customer-responseWaiting for customer response, e.g. more information was requested.
    on Apr 20, 2020
  4. Salakar commented on Jul 7, 2020

    @Salakar
    Contributor

    Hey, as part of our on-going work for #2582, this has been resolved in our Firebase Firestore rework (#2913) - which has now been merged into master. We'll look at publishing some prereleases in the next few days. Thank you

  5. locked and limited conversation to collaborators on Aug 7, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    impact: customerA bug with low impact (e.g. affecting only a few customers or has a workaround). (P3)plugin: cloud_firestoretype: bugSomething isn't working

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions