James Prosser  wrote:
> Hi All,
> 
> My first foray into DELETE TRIGGER has struck a problem 
> demonstrated by the
> following SQL through websql into MaxDB
>    Kernel     Kernel 7.6.00 Build 016-123-109-428
>    Runtime Environment        W32/INTEL 7.6.00 Build 016-123-109-428
> 
> 
> CREATE TABLE "myTable" ("myTableID" INTEGER KEY DEFAULT SERIAL)
> 
> CREATE TRIGGER "myTrigger"
>            FOR "myTable"
>          AFTER DELETE
>        EXECUTE (RETURN;)
> 
> /* this insert not required to demonstrate problem */
> INSERT INTO "myTable" ("myTableID") VALUES (1)
> 
> DELETE FROM "myTable" KEY "myTableID" = 1
> /* Fails with message
>    [MySQL MaxDB][SQLOD32 DLL][MaxDB] General error;-9111
>    and the knldiag.err entries
> 2006-08-08 17:38:27      0xD1C ERR 20011 MOVECODE VAK506:23
> 2006-08-08 17:38:27      0xD1C ERR 20011 MOVECODE 2006-08-08 
> 17:38:27 MOVECODE
> Error 20011
> 2006-08-08 17:38:27      0xD1C ERR 20011 MOVECODE Bad 
> parameter: limit source 11
> destination 32768, source [0X7D6D9BA0]+12, destination 
> [0X7F860498]+12, 3 bytes
> 2006-08-08 17:38:27      0xD1C ERR 51080 SYSERROR -9111 Move error
> 2006-08-08 17:38:27      0xD1C ERR 20011 MOVECODE VAK506:23
> 2006-08-08 17:38:27      0xD1C ERR 20011 MOVECODE 2006-08-08 
> 17:38:27 MOVECODE
> Error 20011
> 2006-08-08 17:38:27      0xD1C ERR 20011 MOVECODE Bad 
> parameter: limit source 11
> destination 32768, source [0X7D6D9BA0]+12, destination 
> [0X7F860498]+12, 3 bytes
> 2006-08-08 17:38:27      0xD1C ERR 20011 MOVECODE  +
> SAPDB_PascalMoveKernel.cpp:96
> 2006-08-08 17:38:27      0xD1C ERR 20011 MOVECODE  + 
> 2006-08-08 17:38:27
> MOVECODE Error 20013
> 2006-08-08 17:38:27      0xD1C ERR 20011 MOVECODE  -   Module 
> VAK506 call index
> 23
> */
> 
> I have found two solutions:
> 
> /* A: Remove the default */
> ALTER TABLE "myTable" COLUMN "myTableID" DROP DEFAULT
> 
> -OR-
> 
> /* B: Delete by WHERE clause rather than KEY */
> DELETE FROM "myTable" WHERE "myTableID" = 1
> 
> As it happens, key values are always provided so losing 
> DEFAULT SERIAL is an
> option.
> 
> Before I proceed though, am I doing something silly here?  I 
> can't see why the
> trio of DEFAULT SERIAL, DELETE by KEY and a DELETE TRIGGER should be
> problematic.
> 
> Either solution requires changes to our domain engine so I'd 
> like to be sure it
> actually needs to be done. And there are likely to be other 
> solutions I haven't
> considered.
> 
> If I went for B option, am I right in thinking MaxDB will 
> execute the WHERE
> DELETE on a Key field as efficiently as the explicit KEY syntax?
> 
> Thanks for any advice.
> 
> James Prosser
> 

It sounds like 
http://pts:1080/webpts?wptsdetail=yes&ErrorType=0&ErrorID=1138461
--> please upgrade
then no need to change the application should exist

Elke
SAP Labs Berlin

> -- 
> MaxDB Discussion Mailing List
> For list archives: http://lists.mysql.com/maxdb
> To unsubscribe:    
> http://lists.mysql.com/[EMAIL PROTECTED]
> 
> 

--
MaxDB Discussion Mailing List
For list archives: http://lists.mysql.com/maxdb
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to