Re: Fwd: Core dump with nested CREATE TEMP TABLE - Mailing list pgsql-hackers

From Jim Nasby
Subject Re: Fwd: Core dump with nested CREATE TEMP TABLE
Date
Msg-id 55E21004.6090008@BlueTreble.com
Whole thread Raw
In response to Re: Fwd: Core dump with nested CREATE TEMP TABLE  (Andres Freund <andres@anarazel.de>)
List pgsql-hackers
On 8/29/15 11:31 AM, Andres Freund wrote:
> Hi,
>
> On 2015-08-29 11:06:05 -0500, Jim Nasby wrote:
>> Stack trace below. Relevant assert:
>
> What exact revision is this on? Either there's some aggressive inlining
> going on, or these lines don't entirely match up with HEAD.

Oops, that was 9.4.1. Trace from just pulled HEAD below, compiled with -O0.

> That's compiled with optimization, isn't it? Could you compile with -O0?
>
> Can you go up to
>>>     frame #19: 0x0000000116295f1f plpgsql.so`exec_stmt_block(estate=0x00007fff532c0090, block=0x00007fa3f53a21d0) +
2095at pl_exec.c:1300
 
>
> and do 'disass/m' to see where we actually are?

That's now 20 instead of 19. disass/m gives an error (note my gdb is 
tweaked for apple and everything else I've posted here is from lldb). 
Output from 'disassemble' in frame 20 at bottom.

> The area around #19 likely is the PG_CATCH inside exec_stmt_block. So
> what's happening is that there's an exception raised, while handling the
> previous exception. And apparently we're not doing that entirely
> right. Besides the line numbers "during exception cleanup" hints at
> that.

If the line numbers and the 'gui' mode of lldb are to be believed, frame 
20 is NOT in the try block, but #9 is:

> │ 1242 │                PG_CATCH();
                            ││                                   │
 
> │ 1243 │                {
                            ││                                   │
 
> │ 1244 │                        ErrorData  *edata;
                            ││                                   │
 
> │ 1245 │                        ListCell   *e;
                            ││                                   │
 
> │ 1246 │
                            ││                                   │
 
> │ 1247 │                        estate->err_text = gettext_noop("during exception cleanup");
                            ││                                   │
 
> │ 1248 │
                            ││                                   │
 
> │ 1249 │                        /* Save error info */
                            ││                                   │
 
> │ 1250 │                        MemoryContextSwitchTo(oldcontext);
                            ││                                   │
 
> │ 1251 │                        edata = CopyErrorData();
                            ││                                   │
 
> │ 1252 │                        FlushErrorState();
                            ││                                   │
 
> │ 1253 │
                            ││                                   │
 
> │ 1254 │                        /* Abort the inner transaction */
                            ││                                   │
 
> │ 1255 │◆                       RollbackAndReleaseCurrentSubTransaction();

Looking at frame 10
   432          */   433         estate.err_text = NULL;   434         estate.err_stmt = (PLpgSQL_stmt *)
(func->action);
-> 435         rc = exec_stmt_block(&estate, func->action);   436         if (rc != PLPGSQL_RC_RETURN)   437         {
438             estate.err_stmt = NULL;
 

func->fn_signature is results_eq(refcursor,refcursor,text), which is a 
pgtap function that has an exception handler, and I know the code that 
it's calling also has an exception handler.

> (lldb) bt
> * thread #1: tid = 0x3c8fb4, 0x00007fff92a5a866 libsystem_kernel.dylib`__pthread_kill + 10, queue =
'com.apple.main-thread',stop reason = signal SIGABRT
 
>   * frame #0: 0x00007fff92a5a866 libsystem_kernel.dylib`__pthread_kill + 10
>     frame #1: 0x00007fff9001b35c libsystem_pthread.dylib`pthread_kill + 92
>     frame #2: 0x00007fff8cf89b1a libsystem_c.dylib`abort + 125
>     frame #3: 0x000000010fcf3b99 postgres`ExceptionalCondition(conditionName=0x000000010fe157e9,
errorType=0x000000010fd60053,fileName=0x000000010fe14a7f, lineNumber=2055) + 137 at assert.c:54
 
>     frame #4: 0x000000010fcda0ac postgres`RelationClearRelation(relation=0x000000011954f388, rebuild='\0') + 140 at
relcache.c:2053
>     frame #5: 0x000000010fcdb8cf postgres`AtEOSubXact_cleanup(relation=0x000000011954f388, isCommit='\0', mySubid=16,
parentSubid=15)+ 79 at relcache.c:2752
 
>     frame #6: 0x000000010fcdb852 postgres`AtEOSubXact_RelationCache(isCommit='\0', mySubid=16, parentSubid=15) + 242
atrelcache.c:2720
 
>     frame #7: 0x000000010f7dd096 postgres`AbortSubTransaction + 486 at xact.c:4606
>     frame #8: 0x000000010f7df322 postgres`RollbackAndReleaseCurrentSubTransaction + 178 at xact.c:4163
>     frame #9: 0x0000000119245a29 plpgsql.so`exec_stmt_block(estate=0x00007fff50509138, block=0x00007fcc4d0367b0) +
1449at pl_exec.c:1255
 
>     frame #10: 0x000000011924403b plpgsql.so`plpgsql_exec_function(func=0x00007fcc4d145b18,
fcinfo=0x00007fcc4d025ef8,simple_eval_estate=0x0000000000000000) + 1163 at pl_exec.c:435
 
>     frame #11: 0x000000011923d5c6 plpgsql.so`plpgsql_call_handler(fcinfo=0x00007fcc4d025ef8) + 470 at
pl_handler.c:253
>     frame #12: 0x000000010f98cbc9 postgres`ExecMakeFunctionResultNoSets(fcache=0x00007fcc4d025e88,
econtext=0x00007fcc4d124350,isNull=0x00007fff505094ff, isDone=0x0000000000000000) + 377 at execQual.c:2019
 
>     frame #13: 0x000000010f98686d postgres`ExecEvalFunc(fcache=0x00007fcc4d025e88, econtext=0x00007fcc4d124350,
isNull=0x00007fff505094ff,isDone=0x0000000000000000) + 205 at execQual.c:2410
 
>     frame #14: 0x00000001192498c9 plpgsql.so`exec_eval_simple_expr(estate=0x00007fff50509818,
expr=0x00007fcc4d14a0d8,result=0x00007fff505094a8, isNull=0x00007fff505094ff, rettype=0x00007fff505094f8,
rettypmod=0x00007fff505094f4)+ 633 at pl_exec.c:5449
 
>     frame #15: 0x00000001192491e5 plpgsql.so`exec_eval_expr(estate=0x00007fff50509818, expr=0x00007fcc4d14a0d8,
isNull=0x00007fff505094ff,rettype=0x00007fff505094f8, rettypmod=0x00007fff505094f4) + 101 at pl_exec.c:5025
 
>     frame #16: 0x000000011924b226 plpgsql.so`exec_assign_expr(estate=0x00007fff50509818, target=0x00007fcc4d0f7300,
expr=0x00007fcc4d14a0d8)+ 118 at pl_exec.c:4201
 
>     frame #17: 0x000000011924b88a plpgsql.so`exec_stmt_assign(estate=0x00007fff50509818, stmt=0x00007fcc4d14a1c8) +
106at pl_exec.c:1556
 
>     frame #18: 0x000000011924b4fc plpgsql.so`exec_stmt(estate=0x00007fff50509818, stmt=0x00007fcc4d14a1c8) + 252 at
pl_exec.c:1440
>     frame #19: 0x000000011924b2de plpgsql.so`exec_stmts(estate=0x00007fff50509818, stmts=0x00007fcc4d149e28) + 126 at
pl_exec.c:1403
>     frame #20: 0x0000000119245cbe plpgsql.so`exec_stmt_block(estate=0x00007fff50509818, block=0x00007fcc4d14a3e8) +
2110at pl_exec.c:1341
 
>     frame #21: 0x000000011924403b plpgsql.so`plpgsql_exec_function(func=0x00007fcc4d144d28,
fcinfo=0x00007fcc4d0e6700,simple_eval_estate=0x0000000000000000) + 1163 at pl_exec.c:435
 
>     frame #22: 0x000000011923d5c6 plpgsql.so`plpgsql_call_handler(fcinfo=0x00007fcc4d0e6700) + 470 at
pl_handler.c:253
>     frame #23: 0x000000010f98cbc9 postgres`ExecMakeFunctionResultNoSets(fcache=0x00007fcc4d0e6690,
econtext=0x00007fcc4d0e6468,isNull=0x00007fcc4d0e7198, isDone=0x00007fcc4d0e72d8) + 377 at execQual.c:2019 
>     frame #24: 0x000000010f98686d postgres`ExecEvalFunc(fcache=0x00007fcc4d0e6690, econtext=0x00007fcc4d0e6468,
isNull=0x00007fcc4d0e7198,isDone=0x00007fcc4d0e72d8) + 205 at execQual.c:2410
 
>     frame #25: 0x000000010f98bd9b postgres`ExecTargetList(targetlist=0x00007fcc4d0e72a0, econtext=0x00007fcc4d0e6468,
values=0x00007fcc4d0e7178,isnull=0x00007fcc4d0e7198, itemIsDone=0x00007fcc4d0e72d8, isDone=0x00007fff50509c5c) + 187 at
execQual.c:5345
>     frame #26: 0x000000010f98bca4 postgres`ExecProject(projInfo=0x00007fcc4d0e71b8, isDone=0x00007fff50509c5c) + 756
atexecQual.c:5560
 
>     frame #27: 0x000000010f9af2eb postgres`ExecResult(node=0x00007fcc4d0e6350) + 363 at nodeResult.c:155
>     frame #28: 0x000000010f9800a0 postgres`ExecProcNode(node=0x00007fcc4d0e6350) + 160 at execProcnode.c:385
>     frame #29: 0x000000010f97b4f6 postgres`ExecutePlan(estate=0x00007fcc4d0e6238, planstate=0x00007fcc4d0e6350,
operation=CMD_SELECT,sendTuples='\x01', numberTuples=0, direction=ForwardScanDirection, dest=0x00007fcc4d01cbb8) + 118
atexecMain.c:1549
 
>     frame #30: 0x000000010f97b419 postgres`standard_ExecutorRun(queryDesc=0x00007fcc4d1b4638,
direction=ForwardScanDirection,count=0) + 457 at execMain.c:337
 
>     frame #31: 0x000000010f97b23d postgres`ExecutorRun(queryDesc=0x00007fcc4d1b4638, direction=ForwardScanDirection,
count=0)+ 77 at execMain.c:285
 
>     frame #32: 0x000000010fb4c143 postgres`PortalRunSelect(portal=0x00007fcc4c020c38, forward='\x01', count=0,
dest=0x00007fcc4d01cbb8)+ 307 at pquery.c:946
 
>     frame #33: 0x000000010fb4bb04 postgres`PortalRun(portal=0x00007fcc4c020c38, count=9223372036854775807,
isTopLevel='\x01',dest=0x00007fcc4d01cbb8, altdest=0x00007fcc4d01cbb8, completionTag=0x00007fff5050a090) + 820 at
pquery.c:790
>     frame #34: 0x000000010fb470c6 postgres`exec_simple_query(query_string=0x00007fcc4d863c38) + 1302 at
postgres.c:1104
>     frame #35: 0x000000010fb46352 postgres`PostgresMain(argc=1, argv=0x00007fcc4c0028b0, dbname=0x00007fcc4c002710,
username=0x00007fcc4c0026f0)+ 2546 at postgres.c:4025
 
>     frame #36: 0x000000010faaa41e postgres`BackendRun(port=0x00007fcc4be000f0) + 686 at postmaster.c:4230
>     frame #37: 0x000000010faa99b0 postgres`BackendStartup(port=0x00007fcc4be000f0) + 384 at postmaster.c:3906
>     frame #38: 0x000000010faa60c7 postgres`ServerLoop + 663 at postmaster.c:1665
>     frame #39: 0x000000010faa3704 postgres`PostmasterMain(argc=3, argv=0x00007fcc4bc042a0) + 5652 at
postmaster.c:1274
>     frame #40: 0x000000010f9de85c postgres`main(argc=3, argv=0x00007fcc4bc042a0) + 796 at main.c:223
>     frame #41: 0x00007fff8e9a35fd libdyld.dylib`start + 1

> Dump of assembler code for function exec_stmt_block:
> 0x0000000119245480 <exec_stmt_block+0>:    push   %rbp
> 0x0000000119245481 <exec_stmt_block+1>:    mov    %rsp,%rbp
> 0x0000000119245484 <exec_stmt_block+4>:    sub    $0x190,%rsp
> 0x000000011924548b <exec_stmt_block+11>:    lea    0x173a7(%rip),%rax        # 0x11925c839
> 0x0000000119245492 <exec_stmt_block+18>:    mov    0x18bc7(%rip),%rcx        # 0x11925e060
> 0x0000000119245499 <exec_stmt_block+25>:    mov    (%rcx),%rcx
> 0x000000011924549c <exec_stmt_block+28>:    mov    %rcx,-0x8(%rbp)
> 0x00000001192454a0 <exec_stmt_block+32>:    mov    %rdi,-0xb0(%rbp)
> 0x00000001192454a7 <exec_stmt_block+39>:    mov    %rsi,-0xb8(%rbp)
> 0x00000001192454ae <exec_stmt_block+46>:    movl   $0xffffffff,-0xbc(%rbp)
> 0x00000001192454b8 <exec_stmt_block+56>:    mov    -0xb0(%rbp),%rcx
> 0x00000001192454bf <exec_stmt_block+63>:    mov    %rax,0xb0(%rcx)
> 0x00000001192454c6 <exec_stmt_block+70>:    movl   $0x0,-0xc0(%rbp)
> 0x00000001192454d0 <exec_stmt_block+80>:    mov    -0xc0(%rbp),%eax
> 0x00000001192454d6 <exec_stmt_block+86>:    mov    -0xb8(%rbp),%rcx
> 0x00000001192454dd <exec_stmt_block+93>:    cmp    0x18(%rcx),%eax
> 0x00000001192454e0 <exec_stmt_block+96>:    jge    0x1192457bd <exec_stmt_block+829>
> 0x00000001192454e6 <exec_stmt_block+102>:    movslq -0xc0(%rbp),%rax
> 0x00000001192454ed <exec_stmt_block+109>:    mov    -0xb8(%rbp),%rcx
> 0x00000001192454f4 <exec_stmt_block+116>:    mov    0x20(%rcx),%rcx
> 0x00000001192454f8 <exec_stmt_block+120>:    mov    (%rcx,%rax,4),%edx
> 0x00000001192454fb <exec_stmt_block+123>:    mov    %edx,-0xc4(%rbp)
> 0x0000000119245501 <exec_stmt_block+129>:    movslq -0xc4(%rbp),%rax
> 0x0000000119245508 <exec_stmt_block+136>:    mov    -0xb0(%rbp),%rcx
> 0x000000011924550f <exec_stmt_block+143>:    mov    0x60(%rcx),%rcx
> 0x0000000119245513 <exec_stmt_block+147>:    mov    (%rcx,%rax,8),%rax
> 0x0000000119245517 <exec_stmt_block+151>:    mov    (%rax),%edx
> 0x0000000119245519 <exec_stmt_block+153>:    mov    %edx,%esi
> 0x000000011924551b <exec_stmt_block+155>:    add    $0xfffffffffffffffd,%esi
> 0x000000011924551e <exec_stmt_block+158>:    sub    $0x2,%esi
> 0x0000000119245521 <exec_stmt_block+161>:    mov    %edx,-0x13c(%rbp)
> 0x0000000119245527 <exec_stmt_block+167>:    mov    %esi,-0x140(%rbp)
> 0x000000011924552d <exec_stmt_block+173>:    jb     0x119245750 <exec_stmt_block+720>
> 0x0000000119245533 <exec_stmt_block+179>:    jmpq   0x119245538 <exec_stmt_block+184>
> 0x0000000119245538 <exec_stmt_block+184>:    mov    -0x13c(%rbp),%eax
> 0x000000011924553e <exec_stmt_block+190>:    sub    $0x2,%eax
> 0x0000000119245541 <exec_stmt_block+193>:    mov    %eax,-0x144(%rbp)
> 0x0000000119245547 <exec_stmt_block+199>:    je     0x1192456b8 <exec_stmt_block+568>
> 0x000000011924554d <exec_stmt_block+205>:    jmpq   0x119245552 <exec_stmt_block+210>
> 0x0000000119245552 <exec_stmt_block+210>:    mov    -0x13c(%rbp),%eax
> 0x0000000119245558 <exec_stmt_block+216>:    test   %eax,%eax
> 0x000000011924555a <exec_stmt_block+218>:    jne    0x119245755 <exec_stmt_block+725>
> 0x0000000119245560 <exec_stmt_block+224>:    jmpq   0x119245565 <exec_stmt_block+229>
> 0x0000000119245565 <exec_stmt_block+229>:    mov    $0x0,%rdx
> 0x000000011924556f <exec_stmt_block+239>:    mov    $0x1,%ecx
> 0x0000000119245574 <exec_stmt_block+244>:    mov    $0x0,%r8d
> 0x000000011924557a <exec_stmt_block+250>:    movslq -0xc4(%rbp),%rax
> 0x0000000119245581 <exec_stmt_block+257>:    mov    -0xb0(%rbp),%rsi
> 0x0000000119245588 <exec_stmt_block+264>:    mov    0x60(%rsi),%rsi
> 0x000000011924558c <exec_stmt_block+268>:    mov    (%rsi,%rax,8),%rax
> 0x0000000119245590 <exec_stmt_block+272>:    mov    %rax,-0xd0(%rbp)
> 0x0000000119245597 <exec_stmt_block+279>:    mov    -0xb0(%rbp),%rdi
> 0x000000011924559e <exec_stmt_block+286>:    mov    -0xd0(%rbp),%rsi
> 0x00000001192455a5 <exec_stmt_block+293>:    callq  0x119244dc0 <assign_simple_var>
> 0x00000001192455aa <exec_stmt_block+298>:    mov    -0xd0(%rbp),%rax
> 0x00000001192455b1 <exec_stmt_block+305>:    cmpq   $0x0,0x28(%rax)
> 0x00000001192455b9 <exec_stmt_block+313>:    jne    0x119245692 <exec_stmt_block+530>
> 0x00000001192455bf <exec_stmt_block+319>:    mov    -0xd0(%rbp),%rax
> 0x00000001192455c6 <exec_stmt_block+326>:    mov    0x18(%rax),%rax
> 0x00000001192455ca <exec_stmt_block+330>:    movsbl 0x13(%rax),%ecx
> 0x00000001192455ce <exec_stmt_block+334>:    cmp    $0x64,%ecx
> 0x00000001192455d4 <exec_stmt_block+340>:    jne    0x11924560b <exec_stmt_block+395>
> 0x00000001192455da <exec_stmt_block+346>:    mov    $0x0,%rdx
> 0x00000001192455e4 <exec_stmt_block+356>:    mov    $0x1,%ecx
> 0x00000001192455e9 <exec_stmt_block+361>:    mov    $0x2c1,%r8d
> 0x00000001192455ef <exec_stmt_block+367>:    mov    $0xffffffff,%r9d
> 0x00000001192455f5 <exec_stmt_block+373>:    mov    -0xb0(%rbp),%rdi
> 0x00000001192455fc <exec_stmt_block+380>:    mov    -0xd0(%rbp),%rax
> 0x0000000119245603 <exec_stmt_block+387>:    mov    %rax,%rsi
> 0x0000000119245606 <exec_stmt_block+390>:    callq  0x119247d40 <exec_assign_value>
> 0x000000011924560b <exec_stmt_block+395>:    mov    -0xd0(%rbp),%rax
> 0x0000000119245612 <exec_stmt_block+402>:    cmpl   $0x0,0x24(%rax)
> 0x0000000119245619 <exec_stmt_block+409>:    je     0x11924568d <exec_stmt_block+525>
> 0x000000011924561f <exec_stmt_block+415>:    jmpq   0x119245624 <exec_stmt_block+420>
> 0x0000000119245624 <exec_stmt_block+420>:    mov    $0x14,%edi
> 0x0000000119245629 <exec_stmt_block+425>:    lea    0x16860(%rip),%rsi        # 0x11925be90
> 0x0000000119245630 <exec_stmt_block+432>:    mov    $0x46e,%edx
> 0x0000000119245635 <exec_stmt_block+437>:    lea    0x17232(%rip),%rcx        # 0x11925c86e
> 0x000000011924563c <exec_stmt_block+444>:    lea    0x136fd(%rip),%r8        # 0x119258d40
> 0x0000000119245643 <exec_stmt_block+451>:    callq  0x119256590 <dyld_stub_errstart>
> 0x0000000119245648 <exec_stmt_block+456>:    cmp    $0x0,%al
> 0x000000011924564a <exec_stmt_block+458>:    je     0x119245688 <exec_stmt_block+520>
> 0x0000000119245650 <exec_stmt_block+464>:    mov    $0x4000082,%edi
> 0x0000000119245655 <exec_stmt_block+469>:    callq  0x119256554 <dyld_stub_errcode>
> 0x000000011924565a <exec_stmt_block+474>:    lea    0x1721d(%rip),%rdi        # 0x11925c87e
> 0x0000000119245661 <exec_stmt_block+481>:    mov    -0xd0(%rbp),%rcx
> 0x0000000119245668 <exec_stmt_block+488>:    mov    0x8(%rcx),%rsi
> 0x000000011924566c <exec_stmt_block+492>:    mov    %eax,-0x148(%rbp)
> 0x0000000119245672 <exec_stmt_block+498>:    mov    $0x0,%al
> 0x0000000119245674 <exec_stmt_block+500>:    callq  0x119256578 <dyld_stub_errmsg>
> 0x0000000119245679 <exec_stmt_block+505>:    mov    -0x148(%rbp),%edi
> 0x000000011924567f <exec_stmt_block+511>:    mov    %eax,%esi
> 0x0000000119245681 <exec_stmt_block+513>:    mov    $0x0,%al
> 0x0000000119245683 <exec_stmt_block+515>:    callq  0x11925656c <dyld_stub_errfinish>
> 0x0000000119245688 <exec_stmt_block+520>:    callq  0x119256776 <dyld_stub_abort>
> 0x000000011924568d <exec_stmt_block+525>:    jmpq   0x1192456b3 <exec_stmt_block+563>
> 0x0000000119245692 <exec_stmt_block+530>:    mov    -0xb0(%rbp),%rdi
> 0x0000000119245699 <exec_stmt_block+537>:    mov    -0xd0(%rbp),%rax
> 0x00000001192456a0 <exec_stmt_block+544>:    mov    -0xd0(%rbp),%rcx
> 0x00000001192456a7 <exec_stmt_block+551>:    mov    0x28(%rcx),%rdx
> 0x00000001192456ab <exec_stmt_block+555>:    mov    %rax,%rsi
> 0x00000001192456ae <exec_stmt_block+558>:    callq  0x11924b1b0 <exec_assign_expr>
> 0x00000001192456b3 <exec_stmt_block+563>:    jmpq   0x1192457a2 <exec_stmt_block+802>
> 0x00000001192456b8 <exec_stmt_block+568>:    movslq -0xc4(%rbp),%rax
> 0x00000001192456bf <exec_stmt_block+575>:    mov    -0xb0(%rbp),%rcx
> 0x00000001192456c6 <exec_stmt_block+582>:    mov    0x60(%rcx),%rcx
> 0x00000001192456ca <exec_stmt_block+586>:    mov    (%rcx,%rax,8),%rax
> 0x00000001192456ce <exec_stmt_block+590>:    mov    %rax,-0xd8(%rbp)
> 0x00000001192456d5 <exec_stmt_block+597>:    mov    -0xd8(%rbp),%rax
> 0x00000001192456dc <exec_stmt_block+604>:    cmpb   $0x0,0x28(%rax)
> 0x00000001192456e0 <exec_stmt_block+608>:    je     0x119245701 <exec_stmt_block+641>
> 0x00000001192456e6 <exec_stmt_block+614>:    mov    -0xd8(%rbp),%rax
> 0x00000001192456ed <exec_stmt_block+621>:    mov    0x18(%rax),%rdi
> 0x00000001192456f1 <exec_stmt_block+625>:    callq  0x11925665c <dyld_stub_heap_freetuple>
> 0x00000001192456f6 <exec_stmt_block+630>:    mov    -0xd8(%rbp),%rax
> 0x00000001192456fd <exec_stmt_block+637>:    movb   $0x0,0x28(%rax)
> 0x0000000119245701 <exec_stmt_block+641>:    mov    -0xd8(%rbp),%rax
> 0x0000000119245708 <exec_stmt_block+648>:    cmpb   $0x0,0x29(%rax)
> 0x000000011924570c <exec_stmt_block+652>:    je     0x11924572d <exec_stmt_block+685>
> 0x0000000119245712 <exec_stmt_block+658>:    mov    -0xd8(%rbp),%rax
> 0x0000000119245719 <exec_stmt_block+665>:    mov    0x20(%rax),%rdi
> 0x000000011924571d <exec_stmt_block+669>:    callq  0x119256338 <dyld_stub_FreeTupleDesc>
> 0x0000000119245722 <exec_stmt_block+674>:    mov    -0xd8(%rbp),%rax
> 0x0000000119245729 <exec_stmt_block+681>:    movb   $0x0,0x29(%rax)
> 0x000000011924572d <exec_stmt_block+685>:    mov    -0xd8(%rbp),%rax
> 0x0000000119245734 <exec_stmt_block+692>:    movq   $0x0,0x18(%rax)
> 0x000000011924573c <exec_stmt_block+700>:    mov    -0xd8(%rbp),%rax
> 0x0000000119245743 <exec_stmt_block+707>:    movq   $0x0,0x20(%rax)
> 0x000000011924574b <exec_stmt_block+715>:    jmpq   0x1192457a2 <exec_stmt_block+802>
> 0x0000000119245750 <exec_stmt_block+720>:    jmpq   0x1192457a2 <exec_stmt_block+802>
> 0x0000000119245755 <exec_stmt_block+725>:    jmpq   0x11924575a <exec_stmt_block+730>
> 0x000000011924575a <exec_stmt_block+730>:    lea    0x1672f(%rip),%rdi        # 0x11925be90
> 0x0000000119245761 <exec_stmt_block+737>:    mov    $0x491,%esi
> 0x0000000119245766 <exec_stmt_block+742>:    lea    0x17101(%rip),%rdx        # 0x11925c86e
> 0x000000011924576d <exec_stmt_block+749>:    callq  0x119256548 <dyld_stub_elog_start>
> 0x0000000119245772 <exec_stmt_block+754>:    mov    $0x14,%edi
> 0x0000000119245777 <exec_stmt_block+759>:    lea    0x141c1(%rip),%rsi        # 0x11925993f
> 0x000000011924577e <exec_stmt_block+766>:    movslq -0xc4(%rbp),%rdx
> 0x0000000119245785 <exec_stmt_block+773>:    mov    -0xb0(%rbp),%rax
> 0x000000011924578c <exec_stmt_block+780>:    mov    0x60(%rax),%rax
> 0x0000000119245790 <exec_stmt_block+784>:    mov    (%rax,%rdx,8),%rax
> 0x0000000119245794 <exec_stmt_block+788>:    mov    (%rax),%edx
> 0x0000000119245796 <exec_stmt_block+790>:    mov    $0x0,%al
> 0x0000000119245798 <exec_stmt_block+792>:    callq  0x119256542 <dyld_stub_elog_finish>
> 0x000000011924579d <exec_stmt_block+797>:    callq  0x119256776 <dyld_stub_abort>
> 0x00000001192457a2 <exec_stmt_block+802>:    jmpq   0x1192457a7 <exec_stmt_block+807>
> 0x00000001192457a7 <exec_stmt_block+807>:    mov    -0xc0(%rbp),%eax
> 0x00000001192457ad <exec_stmt_block+813>:    add    $0x1,%eax
> 0x00000001192457b2 <exec_stmt_block+818>:    mov    %eax,-0xc0(%rbp)
> 0x00000001192457b8 <exec_stmt_block+824>:    jmpq   0x1192454d0 <exec_stmt_block+80>
> 0x00000001192457bd <exec_stmt_block+829>:    mov    -0xb8(%rbp),%rax
> 0x00000001192457c4 <exec_stmt_block+836>:    cmpq   $0x0,0x28(%rax)
> 0x00000001192457cc <exec_stmt_block+844>:    je     0x119245c95 <exec_stmt_block+2069>
> 0x00000001192457d2 <exec_stmt_block+850>:    mov    $0x0,%rdi
> 0x00000001192457dc <exec_stmt_block+860>:    lea    0x170d2(%rip),%rax        # 0x11925c8b5
> 0x00000001192457e3 <exec_stmt_block+867>:    mov    0x1881e(%rip),%rcx        # 0x11925e008
> 0x00000001192457ea <exec_stmt_block+874>:    mov    0x1880f(%rip),%rdx        # 0x11925e000
> 0x00000001192457f1 <exec_stmt_block+881>:    mov    (%rdx),%rdx
> 0x00000001192457f4 <exec_stmt_block+884>:    mov    %rdx,-0xe0(%rbp)
> 0x00000001192457fb <exec_stmt_block+891>:    mov    (%rcx),%rcx
> 0x00000001192457fe <exec_stmt_block+894>:    mov    %rcx,-0xe8(%rbp)
> 0x0000000119245805 <exec_stmt_block+901>:    mov    -0xb0(%rbp),%rcx
> 0x000000011924580c <exec_stmt_block+908>:    mov    0xa0(%rcx),%rcx
> 0x0000000119245813 <exec_stmt_block+915>:    mov    %rcx,-0xf0(%rbp)
> 0x000000011924581a <exec_stmt_block+922>:    mov    -0xb0(%rbp),%rcx
> 0x0000000119245821 <exec_stmt_block+929>:    mov    0x30(%rcx),%rcx
> 0x0000000119245825 <exec_stmt_block+933>:    mov    %rcx,-0xf8(%rbp)
> 0x000000011924582c <exec_stmt_block+940>:    mov    -0xb0(%rbp),%rcx
> 0x0000000119245833 <exec_stmt_block+947>:    mov    %rax,0xb0(%rcx)
> 0x000000011924583a <exec_stmt_block+954>:    callq  0x1192562ae <dyld_stub_BeginInternalSubTransaction>
> 0x000000011924583f <exec_stmt_block+959>:    mov    -0xe0(%rbp),%rdi
> 0x0000000119245846 <exec_stmt_block+966>:    callq  0x119245e50 <MemoryContextSwitchTo>
> 0x000000011924584b <exec_stmt_block+971>:    mov    %rax,-0x150(%rbp)
> 0x0000000119245852 <exec_stmt_block+978>:    mov    $0x0,%esi
> 0x0000000119245857 <exec_stmt_block+983>:    lea    -0xa0(%rbp),%rdi
> 0x000000011924585e <exec_stmt_block+990>:    mov    0x18813(%rip),%rax        # 0x11925e078
> 0x0000000119245865 <exec_stmt_block+997>:    mov    0x187bc(%rip),%rcx        # 0x11925e028
> 0x000000011924586c <exec_stmt_block+1004>:    mov    (%rcx),%rcx
> 0x000000011924586f <exec_stmt_block+1007>:    mov    %rcx,-0x100(%rbp)
> 0x0000000119245876 <exec_stmt_block+1014>:    mov    (%rax),%rax
> 0x0000000119245879 <exec_stmt_block+1017>:    mov    %rax,-0x108(%rbp)
> 0x0000000119245880 <exec_stmt_block+1024>:    callq  0x11925679a <dyld_stub_sigsetjmp>
> 0x0000000119245885 <exec_stmt_block+1029>:    cmp    $0x0,%eax
> 0x000000011924588a <exec_stmt_block+1034>:    jne    0x1192459c9 <exec_stmt_block+1353>
> 0x0000000119245890 <exec_stmt_block+1040>:    mov    0x18791(%rip),%rax        # 0x11925e028
> 0x0000000119245897 <exec_stmt_block+1047>:    lea    -0xa0(%rbp),%rcx
> 0x000000011924589e <exec_stmt_block+1054>:    mov    %rcx,(%rax)
> 0x00000001192458a1 <exec_stmt_block+1057>:    mov    -0xb0(%rbp),%rdi
> 0x00000001192458a8 <exec_stmt_block+1064>:    callq  0x11924b0a0 <plpgsql_create_econtext>
> 0x00000001192458ad <exec_stmt_block+1069>:    mov    -0xb0(%rbp),%rax
> 0x00000001192458b4 <exec_stmt_block+1076>:    movq   $0x0,0xb0(%rax)
> 0x00000001192458bf <exec_stmt_block+1087>:    mov    -0xb0(%rbp),%rdi
> 0x00000001192458c6 <exec_stmt_block+1094>:    mov    -0xb8(%rbp),%rax
> 0x00000001192458cd <exec_stmt_block+1101>:    mov    0x10(%rax),%rsi
> 0x00000001192458d1 <exec_stmt_block+1105>:    callq  0x11924b260 <exec_stmts>
> 0x00000001192458d6 <exec_stmt_block+1110>:    lea    0x16ff5(%rip),%rcx        # 0x11925c8d2
> 0x00000001192458dd <exec_stmt_block+1117>:    mov    %eax,-0xbc(%rbp)
> 0x00000001192458e3 <exec_stmt_block+1123>:    mov    -0xb0(%rbp),%rsi
> 0x00000001192458ea <exec_stmt_block+1130>:    mov    %rcx,0xb0(%rsi)
> 0x00000001192458f1 <exec_stmt_block+1137>:    mov    -0xbc(%rbp),%eax
> 0x00000001192458f7 <exec_stmt_block+1143>:    cmp    $0x2,%eax
> 0x00000001192458fc <exec_stmt_block+1148>:    jne    0x119245981 <exec_stmt_block+1281>
> 0x0000000119245902 <exec_stmt_block+1154>:    mov    -0xb0(%rbp),%rax
> 0x0000000119245909 <exec_stmt_block+1161>:    cmpb   $0x0,0x1d(%rax)
> 0x000000011924590d <exec_stmt_block+1165>:    jne    0x119245981 <exec_stmt_block+1281>
> 0x0000000119245913 <exec_stmt_block+1171>:    mov    -0xb0(%rbp),%rax
> 0x000000011924591a <exec_stmt_block+1178>:    cmpb   $0x0,0x10(%rax)
> 0x000000011924591e <exec_stmt_block+1182>:    jne    0x119245981 <exec_stmt_block+1281>
> 0x0000000119245924 <exec_stmt_block+1188>:    mov    -0xb0(%rbp),%rax
> 0x000000011924592b <exec_stmt_block+1195>:    cmpq   $0x0,0x20(%rax)
> 0x0000000119245933 <exec_stmt_block+1203>:    jne    0x119245981 <exec_stmt_block+1281>
> 0x0000000119245939 <exec_stmt_block+1209>:    lea    -0x10a(%rbp),%rsi
> 0x0000000119245940 <exec_stmt_block+1216>:    lea    -0x10b(%rbp),%rdx
> 0x0000000119245947 <exec_stmt_block+1223>:    mov    -0xb0(%rbp),%rax
> 0x000000011924594e <exec_stmt_block+1230>:    mov    0x14(%rax),%edi
> 0x0000000119245951 <exec_stmt_block+1233>:    callq  0x119256620 <dyld_stub_get_typlenbyval>
> 0x0000000119245956 <exec_stmt_block+1238>:    mov    -0xb0(%rbp),%rax
> 0x000000011924595d <exec_stmt_block+1245>:    mov    0x8(%rax),%rdi
> 0x0000000119245961 <exec_stmt_block+1249>:    mov    -0x10b(%rbp),%cl
> 0x0000000119245967 <exec_stmt_block+1255>:    movswl -0x10a(%rbp),%edx
> 0x000000011924596e <exec_stmt_block+1262>:    movsbl %cl,%esi
> 0x0000000119245971 <exec_stmt_block+1265>:    callq  0x119256530 <dyld_stub_datumCopy>
> 0x0000000119245976 <exec_stmt_block+1270>:    mov    -0xb0(%rbp),%rdi
> 0x000000011924597d <exec_stmt_block+1277>:    mov    %rax,0x8(%rdi)
> 0x0000000119245981 <exec_stmt_block+1281>:    callq  0x1192563c8 <dyld_stub_ReleaseCurrentSubTransaction>
> 0x0000000119245986 <exec_stmt_block+1286>:    mov    -0xe0(%rbp),%rdi
> 0x000000011924598d <exec_stmt_block+1293>:    callq  0x119245e50 <MemoryContextSwitchTo>
> 0x0000000119245992 <exec_stmt_block+1298>:    mov    0x1866f(%rip),%rdi        # 0x11925e008
> 0x0000000119245999 <exec_stmt_block+1305>:    mov    -0xe8(%rbp),%rcx
> 0x00000001192459a0 <exec_stmt_block+1312>:    mov    %rcx,(%rdi)
> 0x00000001192459a3 <exec_stmt_block+1315>:    mov    -0xf0(%rbp),%rcx
> 0x00000001192459aa <exec_stmt_block+1322>:    mov    -0xb0(%rbp),%rdi
> 0x00000001192459b1 <exec_stmt_block+1329>:    mov    %rcx,0xa0(%rdi)
> 0x00000001192459b8 <exec_stmt_block+1336>:    mov    %rax,-0x158(%rbp)
> 0x00000001192459bf <exec_stmt_block+1343>:    callq  0x11925646a <dyld_stub_SPI_restore_connection>
> 0x00000001192459c4 <exec_stmt_block+1348>:    jmpq   0x119245c2d <exec_stmt_block+1965>
> 0x00000001192459c9 <exec_stmt_block+1353>:    lea    0x16f1e(%rip),%rax        # 0x11925c8ee
> 0x00000001192459d0 <exec_stmt_block+1360>:    mov    0x186a1(%rip),%rcx        # 0x11925e078
> 0x00000001192459d7 <exec_stmt_block+1367>:    mov    0x1864a(%rip),%rdx        # 0x11925e028
> 0x00000001192459de <exec_stmt_block+1374>:    mov    -0x100(%rbp),%rsi
> 0x00000001192459e5 <exec_stmt_block+1381>:    mov    %rsi,(%rdx)
> 0x00000001192459e8 <exec_stmt_block+1384>:    mov    -0x108(%rbp),%rdx
> 0x00000001192459ef <exec_stmt_block+1391>:    mov    %rdx,(%rcx)
> 0x00000001192459f2 <exec_stmt_block+1394>:    mov    -0xb0(%rbp),%rcx
> 0x00000001192459f9 <exec_stmt_block+1401>:    mov    %rax,0xb0(%rcx)
> 0x0000000119245a00 <exec_stmt_block+1408>:    mov    -0xe0(%rbp),%rdi
> 0x0000000119245a07 <exec_stmt_block+1415>:    callq  0x119245e50 <MemoryContextSwitchTo>
> 0x0000000119245a0c <exec_stmt_block+1420>:    mov    %rax,-0x160(%rbp)
> 0x0000000119245a13 <exec_stmt_block+1427>:    callq  0x1192562c6 <dyld_stub_CopyErrorData>
> 0x0000000119245a18 <exec_stmt_block+1432>:    mov    %rax,-0x118(%rbp)
> 0x0000000119245a1f <exec_stmt_block+1439>:    callq  0x119256320 <dyld_stub_FlushErrorState>
> 0x0000000119245a24 <exec_stmt_block+1444>:    callq  0x1192563da <dyld_stub_RollbackAndReleaseCurrentSubTransaction>
> 0x0000000119245a29 <exec_stmt_block+1449>:    mov    -0xe0(%rbp),%rdi
> 0x0000000119245a30 <exec_stmt_block+1456>:    callq  0x119245e50 <MemoryContextSwitchTo>
> 0x0000000119245a35 <exec_stmt_block+1461>:    mov    0x185cc(%rip),%rcx        # 0x11925e008
> 0x0000000119245a3c <exec_stmt_block+1468>:    mov    -0xe8(%rbp),%rdx
> 0x0000000119245a43 <exec_stmt_block+1475>:    mov    %rdx,(%rcx)
> 0x0000000119245a46 <exec_stmt_block+1478>:    mov    -0xf0(%rbp),%rcx
> 0x0000000119245a4d <exec_stmt_block+1485>:    mov    -0xb0(%rbp),%rdx
> 0x0000000119245a54 <exec_stmt_block+1492>:    mov    %rcx,0xa0(%rdx)
> 0x0000000119245a5b <exec_stmt_block+1499>:    mov    %rax,-0x168(%rbp)
> 0x0000000119245a62 <exec_stmt_block+1506>:    callq  0x11925646a <dyld_stub_SPI_restore_connection>
> 0x0000000119245a67 <exec_stmt_block+1511>:    mov    -0xb0(%rbp),%rax
> 0x0000000119245a6e <exec_stmt_block+1518>:    movq   $0x0,0x90(%rax)
> 0x0000000119245a79 <exec_stmt_block+1529>:    mov    -0xb0(%rbp),%rdi
> 0x0000000119245a80 <exec_stmt_block+1536>:    callq  0x1192453a0 <exec_eval_cleanup>
> 0x0000000119245a85 <exec_stmt_block+1541>:    mov    -0xb8(%rbp),%rax
> 0x0000000119245a8c <exec_stmt_block+1548>:    mov    0x28(%rax),%rax
> 0x0000000119245a90 <exec_stmt_block+1552>:    mov    0x8(%rax),%rdi
> 0x0000000119245a94 <exec_stmt_block+1556>:    callq  0x11924a3e0 <list_head>
> 0x0000000119245a99 <exec_stmt_block+1561>:    mov    %rax,-0x120(%rbp)
> 0x0000000119245aa0 <exec_stmt_block+1568>:    cmpq   $0x0,-0x120(%rbp)
> 0x0000000119245aab <exec_stmt_block+1579>:    je     0x119245bed <exec_stmt_block+1901>
> 0x0000000119245ab1 <exec_stmt_block+1585>:    mov    -0x120(%rbp),%rax
> 0x0000000119245ab8 <exec_stmt_block+1592>:    mov    (%rax),%rax
> 0x0000000119245abb <exec_stmt_block+1595>:    mov    %rax,-0x128(%rbp)
> 0x0000000119245ac2 <exec_stmt_block+1602>:    mov    -0x118(%rbp),%rdi
> 0x0000000119245ac9 <exec_stmt_block+1609>:    mov    -0x128(%rbp),%rax
> 0x0000000119245ad0 <exec_stmt_block+1616>:    mov    0x8(%rax),%rsi
> 0x0000000119245ad4 <exec_stmt_block+1620>:    callq  0x11924b320 <exception_matches_conditions>
> 0x0000000119245ad9 <exec_stmt_block+1625>:    cmp    $0x0,%al
> 0x0000000119245adb <exec_stmt_block+1627>:    je     0x119245bd1 <exec_stmt_block+1873>
> 0x0000000119245ae1 <exec_stmt_block+1633>:    mov    -0xb8(%rbp),%rax
> 0x0000000119245ae8 <exec_stmt_block+1640>:    mov    0x28(%rax),%rax
> 0x0000000119245aec <exec_stmt_block+1644>:    movslq (%rax),%rax
> 0x0000000119245aef <exec_stmt_block+1647>:    mov    -0xb0(%rbp),%rcx
> 0x0000000119245af6 <exec_stmt_block+1654>:    mov    0x60(%rcx),%rcx
> 0x0000000119245afa <exec_stmt_block+1658>:    mov    (%rcx,%rax,8),%rax
> 0x0000000119245afe <exec_stmt_block+1662>:    mov    %rax,-0x130(%rbp)
> 0x0000000119245b05 <exec_stmt_block+1669>:    mov    -0xb8(%rbp),%rax
> 0x0000000119245b0c <exec_stmt_block+1676>:    mov    0x28(%rax),%rax
> 0x0000000119245b10 <exec_stmt_block+1680>:    movslq 0x4(%rax),%rax
> 0x0000000119245b14 <exec_stmt_block+1684>:    mov    -0xb0(%rbp),%rcx
> 0x0000000119245b1b <exec_stmt_block+1691>:    mov    0x60(%rcx),%rcx
> 0x0000000119245b1f <exec_stmt_block+1695>:    mov    (%rcx,%rax,8),%rax
> 0x0000000119245b23 <exec_stmt_block+1699>:    mov    %rax,-0x138(%rbp)
> 0x0000000119245b2a <exec_stmt_block+1706>:    mov    -0xb0(%rbp),%rdi
> 0x0000000119245b31 <exec_stmt_block+1713>:    mov    -0x130(%rbp),%rsi
> 0x0000000119245b38 <exec_stmt_block+1720>:    mov    -0x118(%rbp),%rax
> 0x0000000119245b3f <exec_stmt_block+1727>:    mov    0x38(%rax),%edx
> 0x0000000119245b42 <exec_stmt_block+1730>:    mov    %rdi,-0x170(%rbp)
> 0x0000000119245b49 <exec_stmt_block+1737>:    mov    %edx,%edi
> 0x0000000119245b4b <exec_stmt_block+1739>:    mov    %rsi,-0x178(%rbp)
> 0x0000000119245b52 <exec_stmt_block+1746>:    callq  0x11925674c <dyld_stub_unpack_sql_state>
> 0x0000000119245b57 <exec_stmt_block+1751>:    mov    -0x170(%rbp),%rdi
> 0x0000000119245b5e <exec_stmt_block+1758>:    mov    -0x178(%rbp),%rsi
> 0x0000000119245b65 <exec_stmt_block+1765>:    mov    %rax,%rdx
> 0x0000000119245b68 <exec_stmt_block+1768>:    callq  0x119246cf0 <assign_text_var>
> 0x0000000119245b6d <exec_stmt_block+1773>:    mov    -0xb0(%rbp),%rdi
> 0x0000000119245b74 <exec_stmt_block+1780>:    mov    -0x138(%rbp),%rsi
> 0x0000000119245b7b <exec_stmt_block+1787>:    mov    -0x118(%rbp),%rax
> 0x0000000119245b82 <exec_stmt_block+1794>:    mov    0x40(%rax),%rdx
> 0x0000000119245b86 <exec_stmt_block+1798>:    callq  0x119246cf0 <assign_text_var>
> 0x0000000119245b8b <exec_stmt_block+1803>:    mov    -0x118(%rbp),%rax
> 0x0000000119245b92 <exec_stmt_block+1810>:    mov    -0xb0(%rbp),%rcx
> 0x0000000119245b99 <exec_stmt_block+1817>:    mov    %rax,0x30(%rcx)
> 0x0000000119245b9d <exec_stmt_block+1821>:    mov    -0xb0(%rbp),%rax
> 0x0000000119245ba4 <exec_stmt_block+1828>:    movq   $0x0,0xb0(%rax)
> 0x0000000119245baf <exec_stmt_block+1839>:    mov    -0xb0(%rbp),%rdi
> 0x0000000119245bb6 <exec_stmt_block+1846>:    mov    -0x128(%rbp),%rax
> 0x0000000119245bbd <exec_stmt_block+1853>:    mov    0x10(%rax),%rsi
> 0x0000000119245bc1 <exec_stmt_block+1857>:    callq  0x11924b260 <exec_stmts>
> 0x0000000119245bc6 <exec_stmt_block+1862>:    mov    %eax,-0xbc(%rbp)
> 0x0000000119245bcc <exec_stmt_block+1868>:    jmpq   0x119245bed <exec_stmt_block+1901>
> 0x0000000119245bd1 <exec_stmt_block+1873>:    jmpq   0x119245bd6 <exec_stmt_block+1878>
> 0x0000000119245bd6 <exec_stmt_block+1878>:    mov    -0x120(%rbp),%rax
> 0x0000000119245bdd <exec_stmt_block+1885>:    mov    0x8(%rax),%rax
> 0x0000000119245be1 <exec_stmt_block+1889>:    mov    %rax,-0x120(%rbp)
> 0x0000000119245be8 <exec_stmt_block+1896>:    jmpq   0x119245aa0 <exec_stmt_block+1568>
> 0x0000000119245bed <exec_stmt_block+1901>:    mov    -0xf8(%rbp),%rax
> 0x0000000119245bf4 <exec_stmt_block+1908>:    mov    -0xb0(%rbp),%rcx
> 0x0000000119245bfb <exec_stmt_block+1915>:    mov    %rax,0x30(%rcx)
> 0x0000000119245bff <exec_stmt_block+1919>:    cmpq   $0x0,-0x120(%rbp)
> 0x0000000119245c0a <exec_stmt_block+1930>:    jne    0x119245c1c <exec_stmt_block+1948>
> 0x0000000119245c10 <exec_stmt_block+1936>:    mov    -0x118(%rbp),%rdi
> 0x0000000119245c17 <exec_stmt_block+1943>:    callq  0x1192563b0 <dyld_stub_ReThrowError>
> 0x0000000119245c1c <exec_stmt_block+1948>:    mov    -0x118(%rbp),%rdi
> 0x0000000119245c23 <exec_stmt_block+1955>:    callq  0x119256326 <dyld_stub_FreeErrorData>
> 0x0000000119245c28 <exec_stmt_block+1960>:    jmpq   0x119245c2d <exec_stmt_block+1965>
> 0x0000000119245c2d <exec_stmt_block+1965>:    mov    0x18444(%rip),%rax        # 0x11925e078
> 0x0000000119245c34 <exec_stmt_block+1972>:    mov    0x183ed(%rip),%rcx        # 0x11925e028
> 0x0000000119245c3b <exec_stmt_block+1979>:    mov    -0x100(%rbp),%rdx
> 0x0000000119245c42 <exec_stmt_block+1986>:    mov    %rdx,(%rcx)
> 0x0000000119245c45 <exec_stmt_block+1989>:    mov    -0x108(%rbp),%rcx
> 0x0000000119245c4c <exec_stmt_block+1996>:    mov    %rcx,(%rax)
> 0x0000000119245c4f <exec_stmt_block+1999>:    jmpq   0x119245c54 <exec_stmt_block+2004>
> 0x0000000119245c54 <exec_stmt_block+2004>:    mov    -0xf8(%rbp),%rax
> 0x0000000119245c5b <exec_stmt_block+2011>:    mov    -0xb0(%rbp),%rcx
> 0x0000000119245c62 <exec_stmt_block+2018>:    cmp    0x30(%rcx),%rax
> 0x0000000119245c66 <exec_stmt_block+2022>:    je     0x119245c8b <exec_stmt_block+2059>
> 0x0000000119245c6c <exec_stmt_block+2028>:    lea    0x16c94(%rip),%rdi        # 0x11925c907
> 0x0000000119245c73 <exec_stmt_block+2035>:    lea    0x13488(%rip),%rsi        # 0x119259102
> 0x0000000119245c7a <exec_stmt_block+2042>:    lea    0x1620f(%rip),%rdx        # 0x11925be90
> 0x0000000119245c81 <exec_stmt_block+2049>:    mov    $0x534,%ecx
> 0x0000000119245c86 <exec_stmt_block+2054>:    callq  0x119256314 <dyld_stub_ExceptionalCondition>
> 0x0000000119245c8b <exec_stmt_block+2059>:    jmpq   0x119245c90 <exec_stmt_block+2064>
> 0x0000000119245c90 <exec_stmt_block+2064>:    jmpq   0x119245cc4 <exec_stmt_block+2116>
> 0x0000000119245c95 <exec_stmt_block+2069>:    mov    -0xb0(%rbp),%rax
> 0x0000000119245c9c <exec_stmt_block+2076>:    movq   $0x0,0xb0(%rax)
> 0x0000000119245ca7 <exec_stmt_block+2087>:    mov    -0xb0(%rbp),%rdi
> 0x0000000119245cae <exec_stmt_block+2094>:    mov    -0xb8(%rbp),%rax
> 0x0000000119245cb5 <exec_stmt_block+2101>:    mov    0x10(%rax),%rsi
> 0x0000000119245cb9 <exec_stmt_block+2105>:    callq  0x11924b260 <exec_stmts>
> 0x0000000119245cbe <exec_stmt_block+2110>:    mov    %eax,-0xbc(%rbp)
> 0x0000000119245cc4 <exec_stmt_block+2116>:    mov    -0xb0(%rbp),%rax
> 0x0000000119245ccb <exec_stmt_block+2123>:    movq   $0x0,0xb0(%rax)
> 0x0000000119245cd6 <exec_stmt_block+2134>:    mov    -0xbc(%rbp),%ecx
> 0x0000000119245cdc <exec_stmt_block+2140>:    test   %ecx,%ecx
> 0x0000000119245cde <exec_stmt_block+2142>:    mov    %ecx,-0x17c(%rbp)
> 0x0000000119245ce4 <exec_stmt_block+2148>:    je     0x119245d26 <exec_stmt_block+2214>
> 0x0000000119245cea <exec_stmt_block+2154>:    jmpq   0x119245cef <exec_stmt_block+2159>
> 0x0000000119245cef <exec_stmt_block+2159>:    mov    -0x17c(%rbp),%eax
> 0x0000000119245cf5 <exec_stmt_block+2165>:    sub    $0x1,%eax
> 0x0000000119245cf8 <exec_stmt_block+2168>:    mov    %eax,-0x180(%rbp)
> 0x0000000119245cfe <exec_stmt_block+2174>:    je     0x119245d37 <exec_stmt_block+2231>
> 0x0000000119245d04 <exec_stmt_block+2180>:    jmpq   0x119245d09 <exec_stmt_block+2185>
> 0x0000000119245d09 <exec_stmt_block+2185>:    mov    -0x17c(%rbp),%eax
> 0x0000000119245d0f <exec_stmt_block+2191>:    add    $0xfffffffffffffffe,%eax
> 0x0000000119245d12 <exec_stmt_block+2194>:    sub    $0x1,%eax
> 0x0000000119245d15 <exec_stmt_block+2197>:    mov    %eax,-0x184(%rbp)
> 0x0000000119245d1b <exec_stmt_block+2203>:    ja     0x119245dd2 <exec_stmt_block+2386>
> 0x0000000119245d21 <exec_stmt_block+2209>:    jmpq   0x119245d26 <exec_stmt_block+2214>
> 0x0000000119245d26 <exec_stmt_block+2214>:    mov    -0xbc(%rbp),%eax
> 0x0000000119245d2c <exec_stmt_block+2220>:    mov    %eax,-0xa4(%rbp)
> 0x0000000119245d32 <exec_stmt_block+2226>:    jmpq   0x119245e0d <exec_stmt_block+2445>
> 0x0000000119245d37 <exec_stmt_block+2231>:    mov    -0xb0(%rbp),%rax
> 0x0000000119245d3e <exec_stmt_block+2238>:    cmpq   $0x0,0x28(%rax)
> 0x0000000119245d46 <exec_stmt_block+2246>:    jne    0x119245d5b <exec_stmt_block+2267>
> 0x0000000119245d4c <exec_stmt_block+2252>:    movl   $0x1,-0xa4(%rbp)
> 0x0000000119245d56 <exec_stmt_block+2262>:    jmpq   0x119245e0d <exec_stmt_block+2445>
> 0x0000000119245d5b <exec_stmt_block+2267>:    mov    -0xb8(%rbp),%rax
> 0x0000000119245d62 <exec_stmt_block+2274>:    cmpq   $0x0,0x8(%rax)
> 0x0000000119245d6a <exec_stmt_block+2282>:    jne    0x119245d7f <exec_stmt_block+2303>
> 0x0000000119245d70 <exec_stmt_block+2288>:    movl   $0x1,-0xa4(%rbp)
> 0x0000000119245d7a <exec_stmt_block+2298>:    jmpq   0x119245e0d <exec_stmt_block+2445>
> 0x0000000119245d7f <exec_stmt_block+2303>:    mov    -0xb8(%rbp),%rax
> 0x0000000119245d86 <exec_stmt_block+2310>:    mov    0x8(%rax),%rdi
> 0x0000000119245d8a <exec_stmt_block+2314>:    mov    -0xb0(%rbp),%rax
> 0x0000000119245d91 <exec_stmt_block+2321>:    mov    0x28(%rax),%rsi
> 0x0000000119245d95 <exec_stmt_block+2325>:    callq  0x1192567a6 <dyld_stub_strcmp>
> 0x0000000119245d9a <exec_stmt_block+2330>:    cmp    $0x0,%eax
> 0x0000000119245d9f <exec_stmt_block+2335>:    je     0x119245db4 <exec_stmt_block+2356>
> 0x0000000119245da5 <exec_stmt_block+2341>:    movl   $0x1,-0xa4(%rbp)
> 0x0000000119245daf <exec_stmt_block+2351>:    jmpq   0x119245e0d <exec_stmt_block+2445>
> 0x0000000119245db4 <exec_stmt_block+2356>:    mov    -0xb0(%rbp),%rax
> 0x0000000119245dbb <exec_stmt_block+2363>:    movq   $0x0,0x28(%rax)
> 0x0000000119245dc3 <exec_stmt_block+2371>:    movl   $0x0,-0xa4(%rbp)
> 0x0000000119245dcd <exec_stmt_block+2381>:    jmpq   0x119245e0d <exec_stmt_block+2445>
> 0x0000000119245dd2 <exec_stmt_block+2386>:    jmpq   0x119245dd7 <exec_stmt_block+2391>
> 0x0000000119245dd7 <exec_stmt_block+2391>:    lea    0x160b2(%rip),%rdi        # 0x11925be90
> 0x0000000119245dde <exec_stmt_block+2398>:    mov    $0x55c,%esi
> 0x0000000119245de3 <exec_stmt_block+2403>:    lea    0x16a84(%rip),%rdx        # 0x11925c86e
> 0x0000000119245dea <exec_stmt_block+2410>:    callq  0x119256548 <dyld_stub_elog_start>
> 0x0000000119245def <exec_stmt_block+2415>:    mov    $0x14,%edi
> 0x0000000119245df4 <exec_stmt_block+2420>:    lea    0x16b33(%rip),%rsi        # 0x11925c92e
> 0x0000000119245dfb <exec_stmt_block+2427>:    mov    -0xbc(%rbp),%edx
> 0x0000000119245e01 <exec_stmt_block+2433>:    mov    $0x0,%al
> 0x0000000119245e03 <exec_stmt_block+2435>:    callq  0x119256542 <dyld_stub_elog_finish>
> 0x0000000119245e08 <exec_stmt_block+2440>:    callq  0x119256776 <dyld_stub_abort>
> 0x0000000119245e0d <exec_stmt_block+2445>:    mov    0x1824c(%rip),%rax        # 0x11925e060
> 0x0000000119245e14 <exec_stmt_block+2452>:    mov    -0xa4(%rbp),%ecx
> 0x0000000119245e1a <exec_stmt_block+2458>:    mov    (%rax),%rax
> 0x0000000119245e1d <exec_stmt_block+2461>:    cmp    -0x8(%rbp),%rax
> 0x0000000119245e21 <exec_stmt_block+2465>:    mov    %ecx,-0x188(%rbp)
> 0x0000000119245e27 <exec_stmt_block+2471>:    jne    0x119245e3c <exec_stmt_block+2492>
> 0x0000000119245e2d <exec_stmt_block+2477>:    mov    -0x188(%rbp),%eax
> 0x0000000119245e33 <exec_stmt_block+2483>:    add    $0x190,%rsp
> 0x0000000119245e3a <exec_stmt_block+2490>:    pop    %rbp
> 0x0000000119245e3b <exec_stmt_block+2491>:    retq
> 0x0000000119245e3c <exec_stmt_block+2492>:    callq  0x11925676a <dyld_stub___stack_chk_fail>
> End of assembler dump.

-- 
Jim Nasby, Data Architect, Blue Treble Consulting, Austin TX
Experts in Analytics, Data Architecture and PostgreSQL
Data in Trouble? Get it in Treble! http://BlueTreble.com



pgsql-hackers by date:

Previous
From: Jeff Janes
Date:
Subject: Re: buffer README is out of date
Next
From: Jim Nasby
Date:
Subject: Re: to_json(NULL) should to return JSON null instead NULL