Bug Report B20134
Visible to All Users
Duplicate

A problem occurs with the InOperator when the collection exceds 2100 items

created 17 years ago

Hello,
At 10 days before delivering the project to our client we are encountering a RPC parameters limit related issue when testing with production data (large data).
That's why this issue is urgent.
The problem occurs with the InOperator when the collection exceds 2100 items. The issue is very critical as we already delayed the shipping due to transactions management related problems…
Is there another way of passing this InOperator like criteria or mixing with sql ?
Please help!
Sincerely,
Catalin Manoliu
Technical Project Leader
Audilog Groupe Ericsson for Bouygues Telecom
+33675718622
cmanoliu
@
bouyguestelecom.fr

Show previous comments (4)
BT BT
BOUYGUES TELECOM 17 years ago

    With this hint I think I shall be able to workaround the problem.
    Thank you!
    Best regards,
    Catalin

    BT BT
    BOUYGUES TELECOM 17 years ago

      Hello again,
      I have tried the ownership criteria and it works but unfortunately I am still unable to workaround the InOperator criteria problem…
      I have overriden CreateCollection in my base persistent class in order to apply a secondary criteria (InOperator with sometimes more than 2100 items) in supplement to the "ownership" criteria.
      With your link and sample for the ownership criteria, i had arrived at something like this:
       (see attachement)
      The reasons that doesn't working are:
      - "Nested objects loading" exception when adding an new object to an existing collection;
      - the automatically append to the related collection when "is many to many" does not longer exists (as implemented by the default version of CreateCollection that uses a XpRefCollectionHelperManyToMany…)
      Please help me guys as I'm staring to HARDLY regret adopting XPO in our project… (we delayed the have release date for 2 months, mainly of this xpo related issues and others I haven't found time to reproduce with a simple project…)
      Can't you change the way that XPO translates the InOperator to SQL without using "parameters" ?
      This issue is very urgent.
      Thanks for reply,
      Regards,
      Catalin Manoliu
      Technical Project Leader
      Audilog Groupe Ericsson for Bouygues Telecom
      +33675718622
      cmanoliu
      @
      bouyguestelecom.fr

      DevExpress Support Team 17 years ago

        Hello Catalin,
        The easiest solution for you to work around this limitation is to create several criteria when number of parameters exceeds 2100: check the argument length, and split it onto several parts (less then 2000 items in each collection part). Then load collections in a loop and combine them into a single collection. Please send your code for the CreateCollection method and will help you redesign it.
        Thank you,
        Nick

        Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.

        Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.