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

[CX] IndexOutOfBoundsException during query compilation

    XMLWordPrintable

Details

    • Bug
    • Resolution: Cannot Reproduce
    • Major
    • 5.5.0
    • 5.5.0
    • analytics
    • Untriaged
    • Unknown
    • CX Sprint 88, CX Sprint 89, CX Sprint 90, CX Sprint 91, CX Sprint 92, CX Sprint 93, CX Sprint 94

    Description

      Compiling this (broken) query

      WITH 
      INN_ID_MAX AS 9000, 
      INN_BRAND_ID AS 'MS',
      ARRIVAL_START AS '2017-01-01',
      ARRIVAL_END AS '2017-12-31',
      RATE_CODE AS 'RACK',
      RATE_CATEGORY_EXCEPT AS 'HID',
      inn_idr as (
        SELECT 
          inn_idr.inn_id, inn_idr.arrival_date, inn_idr.Ovr, inn_idr.Avail, inn_idr.RGrp, inn_idr.AGrp, inn_idr.RmsHld, inn_idr.Blocked, inn_idr.Resvd, inn_idr.Oos,
          r.rate_1_person, r.wkend_rate1_person,
          substr(r.start_date, 7, 4) || '-' || substr(r.start_date, 1, 2) || '-' || substr(r.start_date, 4, 2) r_start_date,
          substr(r.end_date, 7, 4) || '-' || substr(r.end_date, 1, 2) || '-' || substr(r.end_date, 4, 2) r_end_date
       
        FROM (
          SELECT 
            inn_id, 
            substr(arrival_date, 7, 4) || '-' || substr(arrival_date, 1, 2) || '-' || substr(arrival_date, 4, 2) arrival_date,
            default_room_type,
            sum(tobigint(idr.overbooking)) Ovr,
            sum(tobigint(idr.available)) Avail,
            sum(tobigint(idr.group_reserved)) RGrp,
            sum(tobigint(idr.group_allotment)) AGrp,
            sum(tobigint(idr.rooms_held)) RmsHld,
            sum(tobigint(idr.blocked)) Blocked,
            sum(tobigint(idr.reserved)) Resvd,
            sum(tobigint(idr.out_of_service)) Oos
            
            FROM inn 
            LEFT OUTER JOIN inn_daily_rooms idr 
            ON inn.inn_id = idr.inn_id
            WHERE tobigint(inn.inn_id) < INN_ID_MAX AND inn.brand_id = INN_BRAND_ID AND inn.valid_inn = '1'
            AND tobigint(idr.inn_id) < INN_ID_MAX AND idr.brand_id = INN_BRAND_ID 
            AND substr(idr.arrival_date, 7, 4) || '-' || substr(idr.arrival_date, 1, 2) || '-' || substr(idr.arrival_date, 4, 2) 
                BETWEEN ARRIVAL_START AND ARRIVAL_END
       
            GROUP BY inn.inn_id, idr.arrival_date, inn.default_room_type 
        )
       
      SELECT 
        t.inn_id, t.arrival_date, RATE_CODE as rate_code, t.rate_1_person, t.wkend_rate1_person, t.Ovr, t.Avail, t.RGrp, t.AGrp, t.RmsHld, t.Blocked, t.Resvd, t.Oos
       
      FROM inn_idr 
       
        LEFT OUTER JOIN fols_rate_table rt 
        ON inn_idr.inn_id = rt.inn_id AND substr(inn_idr.arrival_date, 1, 4) = rt.year 
       
        LEFT OUTER JOIN fols_rates r     
        ON rt.inn_id = r.inn_id AND rt.year = r.year AND inn_idr.default_room_type = r.room_type_cd  
       
        WHERE tobigint(rt.inn_id) < INN_ID_MAX AND rt.brand_id = INN_BRAND_ID AND 
              rt.rate_code = RATE_CODE AND rt.category <> RATE_CATEGORY_EXCEPT AND
            
              tobigint(r.inn_id) < INN_ID_MAX AND r.brand_id = INN_BRAND_ID AND r.rate_code = RATE_CODE
      ) t       
            
      WHERE t.arrival_date BETWEEN t.r_start_date AND t.r_end_date
       
      ORDER BY t.inn_id, t.arrival_date
       
      LIMIT 50
      

      throws the exception

      Exception: java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
      

      Attachments

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

        Activity

          People

            till Till Westmann
            till Till Westmann
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty