Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-22001

RQG: N1QL vs SQL: Difference in number of results seen for few aggregate queries

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 5.0.0
    • 5.0.0
    • query
    • 4.7.0-1480
    • Untriaged
    • Yes

    Description

      This is a regression from 4.7.0-1431.

      Job failing:
      cen006-n1ql-vset02-01-rqg-aggregate-methods-simple-table-primary-secondary-tests

      How to run the test?
      ./testrunner -i local.ini -p gsi_type=forestdb -t rqg.test_rqg.RQGTests.test_rqg_concurrent,test_file_path=b/resources/rqg/simple_table_db/query_tests_using_templates/query_50000_aggregate_functions.txt.zip,database=multiple_table_db,reset_database=True,concurreny_count=10,index_quota_percent=30,password=password,use_mysql=True,replicas=0,create_secondary_indexes=True,run_query_with_primary=True,record_failure=True,failure_record_path=/tmp,nodes_init=1,build_index_batch_size=1000,build_secondary_index_in_seq=True,nodes_init=1,number_of_buckets=1,total_queries=10000,skip_cleanup=True,ram_quota=1000,indexer_memQuota=5000,change_bucket_properties=True

      Example of local.ini:
      [global]
      port:8091
      username:root
      password:couchbase
      index_port:9102

      [servers]
      1:SERVER_1

      [SERVER_1]
      ip:172.23.105.209
      services=n1ql,kv,index

      [membase]
      rest_username:Administrator
      rest_password:password

      Above test will generate the dataset also.

      These queries give different result while the test is running.
      sql_query :: SELECT AVG( DISTINCT int_field1 ) FROM simple_table_1 WHERE (decimal_field1 <= 5025) AND ((NOT (bool_field1) AND varchar_field1 >= "aeLMLeAjlF")) ORDER BY AVG( int_field1 )
      n1ql_query :: SELECT AVG( DISTINCT int_field1 ) FROM multiple_table_db_339_simple_table_1 WHERE (decimal_field1 <= 5025) AND ((NOT (bool_field1) AND varchar_field1 >= "aeLMLeAjlF")) ORDER BY AVG( int_field1 )

      sql_query :: SELECT COUNT( primary_key_id ) FROM simple_table_1 WHERE ((int_field1 < 4869 AND varchar_field1 >= "aeLMLeAjlF" AND bool_field1)) AND ((bool_field1 AND decimal_field1 > 5025)) ORDER BY SUM( decimal_field1 )
      n1ql_query :: SELECT COUNT( primary_key_id ) FROM multiple_table_db_339_simple_table_1 WHERE ((int_field1 < 4869 AND varchar_field1 >= "aeLMLeAjlF" AND bool_field1)) AND ((bool_field1 AND decimal_field1 > 5025)) ORDER BY SUM( decimal_field1 )

      sql_query :: SELECT MIN( int_field1 ) FROM simple_table_1 WHERE ((bool_field1 != false AND NOT (varchar_field1 > "aeLMLeAjlF"))) AND (((int_field1 BETWEEN 11 and 9998) AND (decimal_field1 != 5025) AND char_field1 = "N" AND bool_field1 = true)) ORDER BY SUM(DISTINCT decimal_field1 )
      n1ql_query :: SELECT MIN( int_field1 ) FROM multiple_table_db_339_simple_table_1 WHERE ((bool_field1 != false AND NOT (varchar_field1 > "aeLMLeAjlF"))) AND (((int_field1 BETWEEN 11 and 9998) AND (decimal_field1 != 5025) AND char_field1 = "N" AND bool_field1 = true)) ORDER BY SUM(DISTINCT decimal_field1 )

      sql_query :: SELECT COUNT( varchar_field1 ) FROM simple_table_1 WHERE ((char_field1 LIKE 'N%' AND (int_field1 != 4869) AND (decimal_field1 >= 5025))) AND ((NOT (bool_field1) AND int_field1 > 4869))
      n1ql_query :: SELECT COUNT( varchar_field1 ) FROM multiple_table_db_339_simple_table_1 WHERE ((char_field1 LIKE 'N%' AND (int_field1 != 4869) AND (decimal_field1 >= 5025))) AND ((NOT (bool_field1) AND int_field1 > 4869))

      sql_query :: SELECT MIN( decimal_field1 ) FROM simple_table_1 WHERE ((bool_field1 != true AND varchar_field1 IS NOT NULL)) AND ((char_field1 = "N" AND decimal_field1 != 5025)) GROUP BY int_field1 , decimal_field1
      n1ql_query :: SELECT MIN( decimal_field1 ) FROM multiple_table_db_339_simple_table_1 WHERE ((bool_field1 != true AND varchar_field1 IS NOT NULL)) AND ((char_field1 = "N" AND decimal_field1 != 5025)) GROUP BY int_field1 , decimal_field1

      sql_query :: SELECT SUM(DISTINCT decimal_field1 ) FROM simple_table_1 WHERE (int_field1 != 4869) AND ((decimal_field1 < 5025 AND NOT (char_field1 NOT BETWEEN "A" and "Z") AND bool_field1)) ORDER BY COUNT( varchar_field1 )
      n1ql_query :: SELECT SUM(DISTINCT decimal_field1 ) FROM multiple_table_db_339_simple_table_1 WHERE (int_field1 != 4869) AND ((decimal_field1 < 5025 AND NOT (char_field1 NOT BETWEEN "A" and "Z") AND bool_field1)) ORDER BY COUNT( varchar_field1 )

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            Prerna.Manaktala Prerna Manaktala (Inactive)
            Prerna.Manaktala Prerna Manaktala (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty