Pantek Library
Hosting Provided By
CybrHost
High Speed Hosting

Re: Row too long (-2000)

From: Dusan Kolesar <d.kolesar(at)gmail.com>
Date: Tue Jul 24 2007 - 08:43:17 EDT


Hello Elke,
  You're right, on 7.6.0.37 it works correctly.

Thank you, Dusan

-- 
Dusan Kolesar
Helsinska 19
040 13  Kosice
Slovakia
e-mail primary : d.kolesar@gmail.com
e-mail alternative : d.kolesar@centrum.sk
ICQ# : 160507424

On Tue, 24 Jul 2007 11:53:55 +0200, Zietlow, Elke   
wrote:

> Hi,
>
> here the explanation.
> - In case of a join resultrows are physically build.
> - The maximum length of physical rows in version 7.6 is 8088.
> - Because of your value (table1-column, table2-column) an
> intermediate resultrow would be build where both columns are in and the
> function can be used for.
>
> As 4096 byte * 2 is longer than 8088, this intermediate resultrow causes
> the trouble although the final result would not exceed the maximum
> length.
>
> In newer 7.6-version than you use, a new join-handling is implemented,
> that these intermediate resultrows do not exist in a physically stored
> form --> your problem would not arise any more.
>
> Please check, if you can switch to the newest available version.
>
> Elke
> SAP Labs Berlin
> Sitz der Gesellschaft/Registered Office: Walldorf, Germany
>
>
>> -----Original Message-----
>> From: Dusan Kolesar [mailto:d.kolesar@gmail.com]
>> Sent: Dienstag, 24. Juli 2007 11:28
>> To: MaxDB mailing list
>> Subject: [LIKELY JUNK]Row too long (-2000)
>>
>> Hello
>> I'm using MaxDb 7.6.0.34 on WinXp SP2.
>>
>> My DB schema is :
>> CREATE TABLE logTb
>> (
>> "ID" Integer NOT NULL
>> DEFAULT SERIAL (1),
>> "TSTAMP" Timestamp NOT NULL
>> DEFAULT TIMESTAMP,
>> "TYPE" Integer NOT NULL DEFAULT 1,
>> "SENDER_ADDRESS" Varchar (255) ASCII NOT NULL DEFAULT '',
>> "RECEIVER_ADDRESS" Varchar (255) ASCII NOT NULL DEFAULT '',
>> PRIMARY KEY ("ID")
>> )
>> //
>> CREATE TABLE inTb
>> (
>> "ID" Integer NOT NULL DEFAULT
>> SERIAL (1),
>> "TSTAMP" Timestamp NOT NULL DEFAULT
>> TIMESTAMP,
>> "LOGTB_ID" Integer NOT NULL DEFAULT -1,
>> "DATA" Varchar (4096) BYTE NOT NULL,
>> PRIMARY KEY ("ID"),
>> FOREIGN KEY FK_LOGTB_ID ("LOGTB_ID") REFERENCES
>> logTb (Id) ON DELETE SET DEFAULT
>> )
>> //
>> CREATE TABLE outTb
>> (
>> "ID" Integer NOT NULL DEFAULT
>> SERIAL (1),
>> "TSTAMP" Timestamp NOT NULL DEFAULT
>> TIMESTAMP,
>> "LOGTB_ID" Integer NOT NULL DEFAULT -1,
>> "DATA" Varchar (4096) BYTE NOT NULL,
>> PRIMARY KEY ("ID"),
>> FOREIGN KEY FK_LOGTB_ID ("LOGTB_ID") REFERENCES
>> logTb (Id) ON DELETE SET DEFAULT
>> )
>>
>> when I do:
>>
>> select
>> logTb.Id,
>> Value (inTb.Data, outTb.Data) as DataMsg
>> from logTb
>> left join inTb on logTb.Id = inTb.LogTb_Id
>> left join outTb on logTb.Id = outTb.LogTb_Id
>>
>> Syntax error or access violation;-2000 POS(8214) Row too long
>>
>> It seems that sql parser sums length of all columns listed in the
>> statement.
>> (Integer + Varchar (4096) BYTE + Varchar (4096) BYTE) > 8088
>> bytes (max.
>> length of a table row)
>> But when I use Value (Col1, Col2), then maximal length of
>> this column is
>> max of Col1 and Col2 length.
>>
>> The same is when I do:
>>
>> select
>> logTb.Id,
>> Value (Substr (inTb.Data, 1, 10), Substr (outTb.Data, 1,
>> 10)) as DataMsg
>> from logTb
>> left join inTb on logTb.Id = inTb.LogTb_Id
>> left join outTb on logTb.Id = outTb.LogTb_Id
>>
>> Length of Substr (Column, 1, n) is n but not Length of Column type.
>>
>> Is there any way how to restrict length of output columns ???
>>
>>
>> Thank you very much for support.
>> Regards, Dusan
>>
>> --
>> Dusan Kolesar
>> Helsinska 19
>> 040 13 Kosice
>> Slovakia
>> e-mail primary : d.kolesar@gmail.com
>> e-mail alternative : d.kolesar@centrum.sk
>> ICQ# : 160507424
>>
>> --
>> MaxDB Discussion Mailing List
>> For list archives: http://lists.mysql.com/maxdb
>> To unsubscribe:
>> http://lists.mysql.com/maxdb?unsub=elke.zietlow@sap.com
-- MaxDB Discussion Mailing List For list archives: http://lists.mysql.com/maxdb To unsubscribe: http://lists.mysql.com/maxdb?unsub=lists@pantek.com
Received on Tue Jul 24 08:43:51 2007

This archive was generated by hypermail 2.1.8 : Thu Aug 09 2007 - 19:30:27 EDT


Contact Us  Legal Notices  Order Services Online 
Pantek Home  Privacy Policy  IT news  Site Map  Pantek Library