Hey there. Looking through the trace now. Thanks!
On Jun 28, 2013, at 9:02 PM, Virag Kothari <virag@yahoo-inc.com> wrote:
> Hi,
>
> Attached is the trace. Let me work on a unit test case which uses Oracle
> as db.
>
> Thanks,
> Virag
>
> On 6/28/13 12:10 PM, "J Grassel" <fyrewyld@gmail.com> wrote:
>
>> Would it be possible to provide a zip with a unit test for the issue?
>> And in the meantime, can you provide an openjpa trace (a full trace,
>> including sql)? A trace would give me a head start before trying out a
>> junit.
>>
>> Thanks!
>>
>> On Jun 28, 2013, at 1:49 PM, Virag Kothari <virag@yahoo-inc.com> wrote:
>>
>>> Hi Jody,
>>>
>>> Thanks for the reply.
>>> Attached is the schema dump for the table. The schema generator tool
>>> does
>>> map
>>> the sla_xml column to varchar2(4000). So it seems to honor the @length
>>> annotation.
>>> The code where we define the JPA annotations for this table are at
>>>
>>> https://svn.apache.org/repos/asf/oozie/trunk/core/src/main/java/org/apach
>>> e/
>>> oozie/WorkflowActionBean.java
>>> and
>>>
>>> https://svn.apache.org/repos/asf/oozie/trunk/core/src/main/java/org/apach
>>> e/
>>> oozie/client/rest/JsonWorkflowAction.java
>>>
>>> Thanks,
>>> Virag
>>>
>>> On 6/28/13 10:29 AM, "Jody Grassel" <fyrewyld@gmail.com> wrote:
>>>
>>>> Hey there. The @Length annotation should only be used by OpenJPA as an
>>>> instruction to the schema generator tool, the runtime relies on the
>>>> database to enforce the maximum length of a given column - which may or
>>>> may
>>>> not throw an Exception given the configured behavior of the database.
>>>>
>>>> Would you be willing to provide a unit test and a schema dump of your
>>>> table
>>>> from the database?
>>>>
>>>> On Friday, June 28, 2013, Virag Kothari wrote:
>>>>
>>>>> Hi,
>>>>>
>>>>> Can anyone please reply?
>>>>>
>>>>> In summary, two questions
>>>>>
>>>>> Having (@length=4000) is not working when using Oracle db. I see the
>>>>> schema maps to varchar2(4000) but the openjpa insert accepts max 1000
>>>>> chars
>>>>> (throws ORA-24816 which is strange). It is not an Oracle issue as I
>>>>> tried
>>>>> inserting in Oracle directly and anything less than 4000 chars works.
>>>>> Can
>>>>> someone explain why openjpa allows only 1000 chars even if the length
>>>>> is
>>>>> set higher?
>>>>>
>>>>> Is it possible to arrange the columns in a particular order (order
>>>>> defined
>>>>> in java file or based on some other order) so all lob's can be at the
>>>>> end?
>>>>> We require this if we face ORA-24816
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Virag
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> From: Virag Kothari <virag@yahoo-inc.com <javascript:;><mailto:
>>>>> virag@yahoo-inc.com <javascript:;>>>
>>>>> Date: Monday, June 24, 2013 1:35 PM
>>>>> To: "users@openjpa.apache.org <javascript:;><mailto:
>>>>> users@openjpa.apache.org <javascript:;>>"
>>>>> <users@openjpa.apache.org<javascript:;>
>>>>> <mailto:users@openjpa.apache.org <javascript:;>>>
>>>>> Subject: Re: ORA-24816 - column ordering during inserts
>>>>>
>>>>> Hi,
>>>>>
>>>>> An update:
>>>>>
>>>>> It seems the problem is something else.
>>>>> In our code, we have defined the length as 4000.
>>>>>
>>>>> @Basic
>>>>>
>>>>> @Column(name = "sla_xml", length = 4000)
>>>>>
>>>>> private String slaXml = null;
>>>>>
>>>>> However, if this column has more than 1000 characters, it complains
>>>>> with
>>>>> the below ORA-24816.
>>>>>
>>>>> With less than 1000 characters, it works.
>>>>>
>>>>> Also, I see in the oracle schema that the column is mapped as
>>>>> varchar2.
>>>>>
>>>>> So even though the length is defined as 4000, why does openjpa refuse
>>>>> to
>>>>> accept more than 1000 characters?
>>>>>
>>>>> Can anyone help me to figure this out?
>>>>>
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Virag
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> From: Virag Kothari <virag@yahoo-inc.com <javascript:;><mailto:
>>>>> virag@yahoo-inc.com <javascript:;>>>
>>>>> Date: Friday, June 21, 2013 8:01 PM
>>>>> To: "users@openjpa.apache.org <javascript:;><mailto:
>>>>> users@openjpa.apache.org <javascript:;>>"
>>>>> <users@openjpa.apache.org<javascript:;>
>>>>> <mailto:users@openjpa.apache.org <javascript:;>>>
>>>>> Subject: ORA-24816 - column ordering during inserts
>>>>>
>>>>> Hi,
>>>>>
>>>>> We are using Open JPA 2.2.2 in Oozie project.
>>>>>
>>>>> We have a mixture of lob and varchar in our tables. We
>>>>> recently converted few of lob's to varchar (4000).
>>>>> Now sometimes, we are seeing the following error while inserting in
>>>>> table:
>>>>>
>>>>> Caused by: org.apache.openjpa.lib.jdbc.ReportingSQLException:
>>>>> ORA-24816:
>>>>> Expanded non LONG bind data supplied after actual LONG or LOB column
>>>>>
>>>>> It seems that ORA-24816 happens when lob's are not at the end of the
>>>>> insert/update list.
>>>>>
>>>>> 2 questions:
>>>>>
>>>>> 1.
>>>>>
>>>>> Is it possible to arrange the columns in a particular order (order
>>>>> defined
>>>>> in java file or based on some other order) so we can have all lob's at
>>>>> the
>>>>> end?
>>>>>
>>>>> 2. We never encountered this error before even though we had 6 lobs
>>>>> and
>>>>> almost dozen of varchars in our table. We converted 3 lobs to
>>>>> varchar2(4000) and started seeing this issue intermittently. Does
>>>>> anyone
>>>>> suspect that this conversion from lob to varchar has a role to play?
>>>>>
>>>>> Thanks,
>>>>>
>>>>> Virag
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>
>>> <wf_action_schema.txt>
>>
>
> <jpa_exception.txt>
|