Uploaded image for project: 'eZ Publish / Platform'
  1. eZ Publish / Platform
  2. EZP-20824

ezoracle: db driver - $db->generateSQLINStatement - not working correctly for items > 1000

    Details

      Description

      The restriction for oracle database, which only allows a total amount of 1000 elements in an IN statement is generating a where clause that is not safely encapsulated in braces *( ... )*

      In consequence, when the return value of this method is combined in other *and* clauses on query construction (such as the one in kernel/classes/notification/handler/ezsubtree/ezsubtreenotificationrule.php) the result set won't be the desired one.

      Steps to reproduce:
      • On an environment with eZOracle and over 1000 user accounts, all of them set up to be notified on changes to an object,
      • perform the changes
      • run the notification cronjob (active in *frequent*, by default)
      • The outcome may vary into a fatal error, if your data is large enough to provoke it or an undesired list of users being notified.

        Activity

          People

          • Assignee:
            Unassigned
            Reporter:
            Joaquim Cavalleri (Inactive)
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Time Tracking

              Estimated:
              Original Estimate - Not Specified
              Not Specified
              Remaining:
              Remaining Estimate - 0 minutes
              0m
              Logged:
              Time Spent - 1 hour
              1h