[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
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.R | Title | User | Personal Name | Date | Lines |
---|
3874.1 | | NOVA::SMITHI | Don't understate or underestimate Rdb! | Wed Mar 26 1997 09:04 | 3 |
| Please submit a BUG report
Ian
|
3874.2 | | ukvms3.uk.oracle.com::PJACKSON | Oracle UK Rdb Support | Wed Mar 26 1997 10:26 | 5 |
| >Please submit a BUG report
I'll try to reproduce it inhouse first.
Peter
|