De Luna Gomez, Miguel wrote (unfortunately only directly to one guy, not to the
list):
>
> HI I was checking the news and I found you answering a
> question related to opensql. We are changing some portal
> stuff to open sql and one problem came up.
>
> When doing a join there is an error saying: joins columns too
> long. the problem dissapears when i remove the last
> condition:AND it.AIB_Category = atx.AIB_Category
>
> The query is as follows:
>
>
> SELECT it.AIB_IID, it.AIB_Owner, it.AIB_Owner_Type,
> it.AIB_Category, it.AIB_RID1,it.AIB_RID2,it.AIB_RID3, it.AIB_State
> FROM KMC_AIB_ITEMS as it,KMC_AIB_ASSIGNED as atx
> WHERE atx.AIB_RID_Key = '2223017460' AND atx.AIB_RID1 =
> '/userhome/lunawcm/actioninbox/approval/review/0a8b506e-f800-0
> 010-9089-df74001ac5cf.xml.' AND it.AIB_IID = atx.AIB_IID AND
> it.AIB_Owner = atx.AIB_Owner AND it.AIB_Owner_Type =
> atx.AIB_Owner_Type
> AND it.AIB_Category = atx.AIB_Category
>
> and both tables are:
>
> CREATE TABLE "SAPC11DB"."KMC_AIB_ASSIGNED"
> (
> "AIB_IID" Varchar (36) UNICODE NOT NULL,
> "AIB_OWNER" Varchar (256) UNICODE NOT NULL,
> "AIB_OWNER_TYPE" Integer NOT NULL,
> "AIB_CATEGORY" Varchar (254) UNICODE NOT NULL,
> "AIB_RID_KEY" Varchar (16) UNICODE NOT NULL,
> "AIB_RID1" Varchar (1000) UNICODE NOT NULL,
> "AIB_RID2" Varchar (1000) UNICODE NOT NULL,
> "AIB_RID3" Varchar (51) UNICODE NOT NULL
> )
>
>
> CREATE TABLE "SAPC11DB"."KMC_AIB_ITEMS"
> (
> "AIB_IID" Varchar (36) UNICODE NOT NULL,
> "AIB_OWNER" Varchar (254) UNICODE NOT
> NULL DEFAULT ' ',
> "AIB_OWNER_TYPE" Integer NOT NULL
> DEFAULT 0,
> "AIB_CATEGORY" Varchar (254) UNICODE
> NOT NULL DEFAULT ' ',
> "AIB_STATE" Integer NOT NULL,
> "AIB_STATE_CHANGE" Fixed (19,0) NOT NULL,
> "AIB_RID1" Varchar (1000) UNICODE NOT
> NULL DEFAULT ' ',
> "AIB_RID2" Varchar (1000) UNICODE NOT
> NULL DEFAULT ' ',
> "AIB_RID3" Varchar (51) UNICODE NOT
> NULL DEFAULT ' '
> )
>
>
>
> Kannst du bitter mir Helfen?
>
> Danke,
>
> Miguel de Luna
2009: Join columns too long
Explanation:
The internal length of a table's join columns must not exceed 1020 bytes. Join columns
are the columns that are contained in a <JOIN PREDICATE>.
Example
WHERE (S.A = T.V AND S.B < T.W)
The join columns of the table S are the columns S.A and S.B.
The internal length of the join columns of S is the internal length of the column S.A
plus the internal length of the column S.B. The internal length of the join columns of
S must not exceed 1020 bytes.
User Action:
You can attempt to achieve the expected result by issuing several <QUERY statement>s
and creating tables as temporary results.
And your column "AIB_RID1" alone needs 2001 bytes. That can't work.
Don't you think, that an ID of 1000 character is a little bit oversized?
And is UNICODE needed for this, doubling the needed size of bytes?
Elke
SAP Labs Berlin
--
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]