[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference orarep::nomahs::sql

Title:SQL notes
Moderator:NOVA::SMITHI
Created:Wed Aug 27 1986
Last Modified:Thu Jun 05 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:3895
Total number of notes:17726

3874.0. "ACCVIO opening dynamic cursor" by ukvms3.uk.oracle.com::PJACKSON (Oracle UK Rdb Support) Wed Mar 26 1997 05:14

    Since upgrading to V7.0 a customer has been getting ACCVIOs like these,
    when opening a dynamic cursor. 
    
    %SYSTEM-F-ACCVIO, access violation, reason mask=04, virtual
    address=00000004, PC=001FC498, PSL=03C00004
    %TRACE-F-TRACEBACK, symbolic stack dump follows
    module name     routine name                     line       rel PC   abs PC
    
                                                               001FC498 001FC498
    FPDB_ARCHIVE_SQ OPEN_CURSOR                                000000BA 0000A6E4
    FPDB_ARCHIVE    archive_table_rows              11943      0000007B 00007F87
    FPDB_ARCHIVE    archive_table_data              11622      00000377 00007B97
    FPDB_ARCHIVE    archive_table                   10847      00000077 0000724B
    FPDB_ARCHIVE    main                             9945      000003E0 00006008
    
    Has anyone seen this before?
    
    The program worked under V6.0-15. The version built using V6.0-15 fails on
    V7.0. More information follows.
    
    Peter
    
    The SQL access is done via modular SQL. This is the OPEN_CURSOR
    routine.
    
    
    PROCEDURE OPEN_CURSOR
        SQLCODE,
        SQLDA;
    
        OPEN SEL USING DESCRIPTOR SQLDA;
    
    Cursor SEL is dynamic.
    
    DECLARE SEL CURSOR FOR
        DYN_SQL_STATEMENT
    
    There is a procedure to prepare the statement.
    
    PROCEDURE PREPARE_SELECT_STATEMENT
        SQLCODE,
        SQLDA,
        P_SQL_STATEMENT CHAR(8192);
    
        PREPARE DYN_SQL_STATEMENT SELECT LIST INTO SQLDA FROM P_SQL_STATEMENT;
    
    A macro listing shows the ACCVIO occurs within SQL$OPEN
    
                                 000001AD  1246         .PSECT SQL$VARIABLES
                                     01AD  1247 ;;
                                     01AD  1248 ;;      Procedure OPEN_CURSOR
                                     01AD  1249 ;;
                                 00000C2A  1250         .PSECT SQL$MACRO_CODE
                               0FFC  0C2A  1251         .ENTRY OPEN_CURSOR ^M<R2,R3,R4,R5,R6,R7,R8,R9,R10,R11>
           00000000'GF   10 AD   D0  0C2C  1252         MOVL    16(FP), G^CALLER_PC
                    5B   04 BC   9E  0C34  1253         MOVAB   @4(AP),R11      ; Pointer to SQLCODE
                            6B   D4  0C38  1254         CLRL    (R11)           ; Initialize SQLCODE
              5E   00000040 8F   C2  0C3A  1255         SUBL2   #64,SP  ; Allocate procedure info block
6E   0040 8F   00   00 8F   00   2C  0C41  1256         MOVC5   #0, #0, #0, #64, (SP)
                   0000006A'GF   D4  0C4A  1257         CLRL    G^SET_TXN_PARMS     ; TXN params
              59   00000000'GF   9E  0C50  1258         MOVAB   G^RDB$MESSAGE_VECTOR, R9
                       69   01   D0  0C57  1259         MOVL    #1, (R9)
                    04 A9   01   D0  0C5A  1260         MOVL    #1, 4(R9)
                    5A   F4 BD   9E  0C5E  1261      MOVAB   @-12(FP),R10     ; Pointer to SQLSTATE
                   00000000'GF   16  0C62  1262         JSB     G^SQL$INIT_HANDLER_R11
                                     0C68  1263
                       02   6C   D1  0C68  1264         CMPL    (AP), #2        ; arg count
                            26   13  0C6B  1265         BEQL    2$
                            6C   DD  0C6D  1266         PUSHL   (AP)            ; was passed this many
                            02   DD  0C6F  1267         PUSHL   #2              ; expected this many
                   00000C87'EF   9F  0C71  1268         PUSHAB  1$              ; procedure name
                            03   DD  0C77  1269         PUSHL   #3              ; fao arg count
                   00000000'8F   DD  0C79  1270         PUSHL   #SQL$_ARGCOUNT  ; error code
              00000000'GF   05   FB  0C7F  1271         CALLS   #5, G^COSI$CHF_SIGNAL
                                 04  0C86  1272         RET
52 4F 53 52 55 43 5F 4E 45 50 4F 00' 0C87  1273 1$:     .ASCIC .OPEN_CURSOR.    ; procedure name
                                 0B  0C87
                                     0C93  1274 2$:
                   0000001E'EF   D4  0C93  1275         CLRL    GLOBAL_TID
                   00000016'EF   D4  0C99  1276         CLRL    CUR_TXNHDL
              55   00000000'GF   9E  0C9F  1277         MOVAB   G^Rdb$L_TRANSACTION_HANDLE, R5
              53   00000000'GF   9E  0CA6  1278         MOVAB   G^RDB$DBHANDLE,R3       ; DBhandle
                            54   D4  0CAD  1279         CLRL    R4                      ; Do NOT start request
              00000029'EF   01   90  0CAF  1280         MOVB    #1,SQL$DYN_CALL ; Don't start txn
                       F4A5 CF   16  0CB6  1281         JSB     Sql$DEF_START_TXN_R2_TO_R11
                         06 50   E8  0CBA  1282         BLBS    R0,9999$        ; On error return.
                   0000357F'EF   17  0CBD  1283         JMP     MAP_SQLCODE_RET
                                     0CC3  1284 9999$:
              50   0000002A'GF   D0  0CC3  1285         MOVL    G^MODCTX, R0
                         2C A0   D4  0CCA  1286         CLRL    44(R0)
                         08 AC   DD  0CCD  1287         PUSHL   8(AP)           ; SQLDA
              7E   0000091B'GF   9E  0CD0  1288         MOVAB   G^TMP$4, -(SP)
                   0000002A'GF   DD  0CD7  1289         PUSHL   G^MODCTX        ; Module context
              00000000'GF   03   FB  0CDD  1290         CALLS   #3,G^SQL$OPEN; Open cursor for Prepared Stmt
                         06 50   E8  0CE4  1291         BLBS    R0,3$
                   0000357F'EF   17  0CE7  1292         JMP     MAP_SQLCODE_RET
                                     0CED  1293 3$:
                                 04  0CED  1294         RET
                                     0CEE  1295                                 ; End procedure OPEN_CURSOR

    
T.RTitleUserPersonal
Name
DateLines
3874.1NOVA::SMITHIDon&#039;t understate or underestimate Rdb!Wed Mar 26 1997 09:043
Please submit a BUG report

Ian
3874.2ukvms3.uk.oracle.com::PJACKSONOracle UK Rdb SupportWed Mar 26 1997 10:265
>Please submit a BUG report
    
    I'll try to reproduce it inhouse first.
    
    Peter