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

    XMLWordPrintable

    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.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              joaquim.cavalleri-obsolete@ez.no 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