![]() |
|
|||
0001 /** 0002 * @brief Sample application for testing SQL codes provided for Posgres 0003 * for certain cases 0004 * 0005 * @file codestest.c 0006 */ 0007 /* ----------------------------------------------------------------------------- 0008 * Enduro/X Middleware Platform for Distributed Transaction Processing 0009 * Copyright (C) 2009-2016, ATR Baltic, Ltd. All Rights Reserved. 0010 * Copyright (C) 2017-2023, Mavimax, Ltd. All Rights Reserved. 0011 * This software is released under one of the following licenses: 0012 * AGPL (with Java and Go exceptions) or Mavimax's license for commercial use. 0013 * See LICENSE file for full text. 0014 * ----------------------------------------------------------------------------- 0015 * AGPL license: 0016 * 0017 * This program is free software; you can redistribute it and/or modify it under 0018 * the terms of the GNU Affero General Public License, version 3 as published 0019 * by the Free Software Foundation; 0020 * 0021 * This program is distributed in the hope that it will be useful, but WITHOUT ANY 0022 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 0023 * PARTICULAR PURPOSE. See the GNU Affero General Public License, version 3 0024 * for more details. 0025 * 0026 * You should have received a copy of the GNU Affero General Public License along 0027 * with this program; if not, write to the Free Software Foundation, Inc., 0028 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 0029 * 0030 * ----------------------------------------------------------------------------- 0031 * A commercial use license is available from Mavimax, Ltd 0032 * contact@mavimax.com 0033 * ----------------------------------------------------------------------------- 0034 */ 0035 #include <stdlib.h> 0036 #include <string.h> 0037 #include <memory.h> 0038 #include <ctype.h> 0039 #include <errno.h> 0040 0041 #include <userlog.h> 0042 0043 #include <ndrstandard.h> 0044 #include <ndebug.h> 0045 0046 #include <libpq-fe.h> 0047 0048 /*#include <ecpglib.h>*/ 0049 0050 0051 /*------------------------------Externs---------------------------------------*/ 0052 /*------------------------------Macros----------------------------------------*/ 0053 /*------------------------------Enums-----------------------------------------*/ 0054 /*------------------------------Typedefs--------------------------------------*/ 0055 typedef struct { 0056 0057 char *field; 0058 int id; 0059 0060 } details_t; 0061 /*------------------------------Globals---------------------------------------*/ 0062 /*------------------------------Statics---------------------------------------*/ 0063 0064 0065 exprivate details_t M_tests [] = { 0066 0067 {"PG_DIAG_SEVERITY", PG_DIAG_SEVERITY}, 0068 {"PG_DIAG_SQLSTATE", PG_DIAG_SQLSTATE}, 0069 {"PG_DIAG_MESSAGE_PRIMARY", PG_DIAG_MESSAGE_PRIMARY}, 0070 {"PG_DIAG_MESSAGE_DETAIL", PG_DIAG_MESSAGE_DETAIL}, 0071 {"PG_DIAG_MESSAGE_HINT", PG_DIAG_MESSAGE_HINT}, 0072 {"PG_DIAG_STATEMENT_POSITION", PG_DIAG_STATEMENT_POSITION}, 0073 {"PG_DIAG_CONTEXT", PG_DIAG_CONTEXT}, 0074 {"PG_DIAG_SOURCE_FILE", PG_DIAG_SOURCE_FILE}, 0075 {"PG_DIAG_SOURCE_LINE", PG_DIAG_SOURCE_LINE}, 0076 {"PG_DIAG_SOURCE_FUNCTION", PG_DIAG_SOURCE_FUNCTION}, 0077 0078 {NULL} 0079 0080 }; 0081 0082 /*------------------------------Prototypes------------------------------------*/ 0083 0084 /** 0085 * Entry point for test application 0086 * @param argc 0087 * @param argv 0088 * @return 0089 */ 0090 int main(int argc, char **argv) 0091 { 0092 char stmt[1024]; 0093 PGresult *res = NULL; 0094 PGconn * conn = NULL; 0095 int ret; 0096 details_t *det; 0097 0098 char *tests_nok[] = { 0099 "BEGIN TRANSACTION;" 0100 ,"PREPARE TRANSACTION 'EHLO';" 0101 ,"ROLLBACK PREPARED 'EHLO';" 0102 ,"COMMIT PREPARED 'EHLO';" 0103 ,"drop table ndrx_test_account;" 0104 ,"drop table ndrx_test_account;" 0105 ,"CREATE TABLE ndrx_test_account(userid integer UNIQUE NOT NULL);" 0106 ,"select count(*) from ndrx_test_account" 0107 ,"BEGIN TRANSACTION;" 0108 ,"insert into ndrx_test_account(userid) values (1);" 0109 ,"PREPARE TRANSACTION 'TEST1';" 0110 ,"ROLLBACK PREPARED 'TEST1';" 0111 ,"COMMIT PREPARED 'TEST1';" 0112 ,"BEGIN TRANSACTION;" 0113 ,"insert into ndrx_test_account(userid) values (1);" 0114 ,"PREPARE TRANSACTION 'TEST1';" 0115 ,"COMMIT PREPARED 'TEST1';" 0116 ,"ROLLBACK PREPARED 'TEST1';" 0117 ,"select count(*) from ndrx_test_account;" 0118 ,NULL 0119 }; 0120 0121 int i=0; 0122 0123 /* 0124 sqlca.sqlcode = 0; 0125 0126 if (!ECPGconnect (__LINE__, 0, "unix:postgresql://localhost/template1", "postgres", 0127 "", "local", EXFALSE)) 0128 { 0129 NDRX_LOG(log_error, "ECPGconnect failed, code %ld state: [%s]: %s", 0130 (long)sqlca.sqlcode, sqlca.sqlstate, sqlca.sqlerrm.sqlerrmc); 0131 0132 return EXFAIL; 0133 } 0134 0135 conn = ECPGget_PGconn("local"); 0136 0137 if (NULL==conn) 0138 { 0139 NDRX_LOG(log_error, "Postgres error: failed to get PQ connection!"); 0140 return EXFAIL; 0141 } 0142 */ 0143 0144 conn = PQconnectdb("postgresql://exdbtest:exdbtest1@localhost/xe"); 0145 if (PQstatus(conn) != CONNECTION_OK) 0146 { 0147 NDRX_LOG(log_error, "ERROR: Connection to database failed: %s", 0148 PQerrorMessage(conn)); 0149 PQfinish(conn); 0150 return EXFAIL; 0151 } 0152 0153 0154 while (tests_nok[i]) 0155 { 0156 NDRX_LOG(log_info, "Exec: [%s]", tests_nok[i]); 0157 0158 res = PQexec(conn, tests_nok[i]); 0159 0160 ret=(int)PQresultStatus(res); 0161 det = M_tests; 0162 0163 NDRX_LOG(log_error, "PQresultStatus: %d (conn err: %s)", ret, PQerrorMessage(conn)); 0164 while (det->field) 0165 { 0166 NDRX_LOG(log_error, "%s: %s", det->field, PQresultErrorField(res, det->id)); 0167 det++; 0168 } 0169 i++; 0170 0171 PQclear(res); 0172 } 0173 /* 0174 WE GET: 0175 0176 N:NDRX:4:d5d3db3a: 3461:7f311b089800:000:20190623:124334264:plugins_load:inbase.c:0180:No plugins defined by NDRX_PLUGINS env variable 0177 N:NDRX:5:d5d3db3a: 3461:7f311b089800:000:20190623:124334264:cconfig_load:config.c:0429:CC tag set to: [] 0178 N:NDRX:5:d5d3db3a: 3461:7f311b089800:000:20190623:124334264:x_inicfg_new:inicfg.c:0114:_ndrx_inicfg_new: load_global_env: 1 0179 N:NDRX:5:d5d3db3a: 3461:7f311b089800:000:20190623:124334264:ig_load_pass:config.c:0396:_ndrx_cconfig_load_pass: ret: 0 is_internal: 1 G_tried_to_load: 1 0180 N:NDRX:4:d5d3db3a: 3461:7f311b089800:000:20190623:124334264:main :estest.c:0141:Exec: [BEGIN TRANSACTION;] 0181 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334264:main :estest.c:0148:PQresultStatus: 1 (conn err: ) 0182 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334264:main :estest.c:0151:PG_DIAG_SEVERITY: (null) 0183 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334264:main :estest.c:0151:PG_DIAG_SQLSTATE: (null) 0184 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334264:main :estest.c:0151:PG_DIAG_MESSAGE_PRIMARY: (null) 0185 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334264:main :estest.c:0151:PG_DIAG_MESSAGE_DETAIL: (null) 0186 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334264:main :estest.c:0151:PG_DIAG_MESSAGE_HINT: (null) 0187 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334264:main :estest.c:0151:PG_DIAG_STATEMENT_POSITION: (null) 0188 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334265:main :estest.c:0151:PG_DIAG_CONTEXT: (null) 0189 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334265:main :estest.c:0151:PG_DIAG_SOURCE_FILE: (null) 0190 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334265:main :estest.c:0151:PG_DIAG_SOURCE_LINE: (null) 0191 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334265:main :estest.c:0151:PG_DIAG_SOURCE_FUNCTION: (null) 0192 N:NDRX:4:d5d3db3a: 3461:7f311b089800:000:20190623:124334265:main :estest.c:0141:Exec: [PREPARE TRANSACTION 'EHLO';] 0193 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334265:main :estest.c:0148:PQresultStatus: 1 (conn err: ) 0194 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334265:main :estest.c:0151:PG_DIAG_SEVERITY: (null) 0195 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334265:main :estest.c:0151:PG_DIAG_SQLSTATE: (null) 0196 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334265:main :estest.c:0151:PG_DIAG_MESSAGE_PRIMARY: (null) 0197 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334266:main :estest.c:0151:PG_DIAG_MESSAGE_DETAIL: (null) 0198 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334266:main :estest.c:0151:PG_DIAG_MESSAGE_HINT: (null) 0199 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334266:main :estest.c:0151:PG_DIAG_STATEMENT_POSITION: (null) 0200 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334266:main :estest.c:0151:PG_DIAG_CONTEXT: (null) 0201 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334266:main :estest.c:0151:PG_DIAG_SOURCE_FILE: (null) 0202 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334266:main :estest.c:0151:PG_DIAG_SOURCE_LINE: (null) 0203 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334266:main :estest.c:0151:PG_DIAG_SOURCE_FUNCTION: (null) 0204 N:NDRX:4:d5d3db3a: 3461:7f311b089800:000:20190623:124334266:main :estest.c:0141:Exec: [ROLLBACK PREPARED 'EHLO';] 0205 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334266:main :estest.c:0148:PQresultStatus: 1 (conn err: ) 0206 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334266:main :estest.c:0151:PG_DIAG_SEVERITY: (null) 0207 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334266:main :estest.c:0151:PG_DIAG_SQLSTATE: (null) 0208 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334266:main :estest.c:0151:PG_DIAG_MESSAGE_PRIMARY: (null) 0209 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334267:main :estest.c:0151:PG_DIAG_MESSAGE_DETAIL: (null) 0210 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334267:main :estest.c:0151:PG_DIAG_MESSAGE_HINT: (null) 0211 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334267:main :estest.c:0151:PG_DIAG_STATEMENT_POSITION: (null) 0212 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334267:main :estest.c:0151:PG_DIAG_CONTEXT: (null) 0213 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334267:main :estest.c:0151:PG_DIAG_SOURCE_FILE: (null) 0214 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334267:main :estest.c:0151:PG_DIAG_SOURCE_LINE: (null) 0215 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334267:main :estest.c:0151:PG_DIAG_SOURCE_FUNCTION: (null) 0216 N:NDRX:4:d5d3db3a: 3461:7f311b089800:000:20190623:124334267:main :estest.c:0141:Exec: [COMMIT PREPARED 'EHLO';] 0217 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334267:main :estest.c:0148:PQresultStatus: 7 (conn err: ERROR: prepared transaction with identifier "EHLO" does not exist 0218 ) 0219 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334267:main :estest.c:0151:PG_DIAG_SEVERITY: ERROR 0220 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334267:main :estest.c:0151:PG_DIAG_SQLSTATE: 42704 0221 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334267:main :estest.c:0151:PG_DIAG_MESSAGE_PRIMARY: prepared transaction with identifier "EHLO" does not exist 0222 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334267:main :estest.c:0151:PG_DIAG_MESSAGE_DETAIL: (null) 0223 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334267:main :estest.c:0151:PG_DIAG_MESSAGE_HINT: (null) 0224 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334267:main :estest.c:0151:PG_DIAG_STATEMENT_POSITION: (null) 0225 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334267:main :estest.c:0151:PG_DIAG_CONTEXT: (null) 0226 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334267:main :estest.c:0151:PG_DIAG_SOURCE_FILE: twophase.c 0227 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334267:main :estest.c:0151:PG_DIAG_SOURCE_LINE: 539 0228 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334267:main :estest.c:0151:PG_DIAG_SOURCE_FUNCTION: LockGXact 0229 N:NDRX:4:d5d3db3a: 3461:7f311b089800:000:20190623:124334267:main :estest.c:0141:Exec: [drop table ndrx_test_account;] 0230 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334269:main :estest.c:0148:PQresultStatus: 1 (conn err: ) 0231 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334269:main :estest.c:0151:PG_DIAG_SEVERITY: (null) 0232 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334269:main :estest.c:0151:PG_DIAG_SQLSTATE: (null) 0233 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334269:main :estest.c:0151:PG_DIAG_MESSAGE_PRIMARY: (null) 0234 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334269:main :estest.c:0151:PG_DIAG_MESSAGE_DETAIL: (null) 0235 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334269:main :estest.c:0151:PG_DIAG_MESSAGE_HINT: (null) 0236 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334269:main :estest.c:0151:PG_DIAG_STATEMENT_POSITION: (null) 0237 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334269:main :estest.c:0151:PG_DIAG_CONTEXT: (null) 0238 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334269:main :estest.c:0151:PG_DIAG_SOURCE_FILE: (null) 0239 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334269:main :estest.c:0151:PG_DIAG_SOURCE_LINE: (null) 0240 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334269:main :estest.c:0151:PG_DIAG_SOURCE_FUNCTION: (null) 0241 N:NDRX:4:d5d3db3a: 3461:7f311b089800:000:20190623:124334269:main :estest.c:0141:Exec: [CREATE TABLE ndrx_test_account(userid integer UNIQUE NOT NULL);] 0242 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334283:main :estest.c:0148:PQresultStatus: 1 (conn err: ) 0243 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334283:main :estest.c:0151:PG_DIAG_SEVERITY: (null) 0244 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334283:main :estest.c:0151:PG_DIAG_SQLSTATE: (null) 0245 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334283:main :estest.c:0151:PG_DIAG_MESSAGE_PRIMARY: (null) 0246 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334283:main :estest.c:0151:PG_DIAG_MESSAGE_DETAIL: (null) 0247 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334283:main :estest.c:0151:PG_DIAG_MESSAGE_HINT: (null) 0248 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334283:main :estest.c:0151:PG_DIAG_STATEMENT_POSITION: (null) 0249 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334283:main :estest.c:0151:PG_DIAG_CONTEXT: (null) 0250 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334283:main :estest.c:0151:PG_DIAG_SOURCE_FILE: (null) 0251 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334283:main :estest.c:0151:PG_DIAG_SOURCE_LINE: (null) 0252 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334283:main :estest.c:0151:PG_DIAG_SOURCE_FUNCTION: (null) 0253 N:NDRX:4:d5d3db3a: 3461:7f311b089800:000:20190623:124334283:main :estest.c:0141:Exec: [BEGIN TRANSACTION;] 0254 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334284:main :estest.c:0148:PQresultStatus: 1 (conn err: ) 0255 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334284:main :estest.c:0151:PG_DIAG_SEVERITY: (null) 0256 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334284:main :estest.c:0151:PG_DIAG_SQLSTATE: (null) 0257 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334284:main :estest.c:0151:PG_DIAG_MESSAGE_PRIMARY: (null) 0258 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334284:main :estest.c:0151:PG_DIAG_MESSAGE_DETAIL: (null) 0259 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334284:main :estest.c:0151:PG_DIAG_MESSAGE_HINT: (null) 0260 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334284:main :estest.c:0151:PG_DIAG_STATEMENT_POSITION: (null) 0261 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334284:main :estest.c:0151:PG_DIAG_CONTEXT: (null) 0262 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334284:main :estest.c:0151:PG_DIAG_SOURCE_FILE: (null) 0263 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334284:main :estest.c:0151:PG_DIAG_SOURCE_LINE: (null) 0264 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334284:main :estest.c:0151:PG_DIAG_SOURCE_FUNCTION: (null) 0265 N:NDRX:4:d5d3db3a: 3461:7f311b089800:000:20190623:124334284:main :estest.c:0141:Exec: [insert into ndrx_test_account(userid) values (1);] 0266 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334284:main :estest.c:0148:PQresultStatus: 1 (conn err: ) 0267 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334284:main :estest.c:0151:PG_DIAG_SEVERITY: (null) 0268 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334284:main :estest.c:0151:PG_DIAG_SQLSTATE: (null) 0269 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334284:main :estest.c:0151:PG_DIAG_MESSAGE_PRIMARY: (null) 0270 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334284:main :estest.c:0151:PG_DIAG_MESSAGE_DETAIL: (null) 0271 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334284:main :estest.c:0151:PG_DIAG_MESSAGE_HINT: (null) 0272 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334284:main :estest.c:0151:PG_DIAG_STATEMENT_POSITION: (null) 0273 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334284:main :estest.c:0151:PG_DIAG_CONTEXT: (null) 0274 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334284:main :estest.c:0151:PG_DIAG_SOURCE_FILE: (null) 0275 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334284:main :estest.c:0151:PG_DIAG_SOURCE_LINE: (null) 0276 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334284:main :estest.c:0151:PG_DIAG_SOURCE_FUNCTION: (null) 0277 N:NDRX:4:d5d3db3a: 3461:7f311b089800:000:20190623:124334284:main :estest.c:0141:Exec: [PREPARE TRANSACTION 'TEST1';] 0278 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334285:main :estest.c:0148:PQresultStatus: 1 (conn err: ) 0279 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334285:main :estest.c:0151:PG_DIAG_SEVERITY: (null) 0280 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334285:main :estest.c:0151:PG_DIAG_SQLSTATE: (null) 0281 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334285:main :estest.c:0151:PG_DIAG_MESSAGE_PRIMARY: (null) 0282 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334285:main :estest.c:0151:PG_DIAG_MESSAGE_DETAIL: (null) 0283 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334285:main :estest.c:0151:PG_DIAG_MESSAGE_HINT: (null) 0284 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334285:main :estest.c:0151:PG_DIAG_STATEMENT_POSITION: (null) 0285 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334285:main :estest.c:0151:PG_DIAG_CONTEXT: (null) 0286 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334285:main :estest.c:0151:PG_DIAG_SOURCE_FILE: (null) 0287 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334285:main :estest.c:0151:PG_DIAG_SOURCE_LINE: (null) 0288 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334285:main :estest.c:0151:PG_DIAG_SOURCE_FUNCTION: (null) 0289 N:NDRX:4:d5d3db3a: 3461:7f311b089800:000:20190623:124334285:main :estest.c:0141:Exec: [ROLLBACK PREPARED 'TEST1';] 0290 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0148:PQresultStatus: 1 (conn err: ) 0291 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_SEVERITY: (null) 0292 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_SQLSTATE: (null) 0293 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_MESSAGE_PRIMARY: (null) 0294 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_MESSAGE_DETAIL: (null) 0295 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_MESSAGE_HINT: (null) 0296 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_STATEMENT_POSITION: (null) 0297 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_CONTEXT: (null) 0298 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_SOURCE_FILE: (null) 0299 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_SOURCE_LINE: (null) 0300 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_SOURCE_FUNCTION: (null) 0301 N:NDRX:4:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0141:Exec: [COMMIT PREPARED 'TEST1';] 0302 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0148:PQresultStatus: 7 (conn err: ERROR: prepared transaction with identifier "TEST1" does not exist 0303 ) 0304 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_SEVERITY: ERROR 0305 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_SQLSTATE: 42704 0306 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_MESSAGE_PRIMARY: prepared transaction with identifier "TEST1" does not exist 0307 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_MESSAGE_DETAIL: (null) 0308 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_MESSAGE_HINT: (null) 0309 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_STATEMENT_POSITION: (null) 0310 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_CONTEXT: (null) 0311 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_SOURCE_FILE: twophase.c 0312 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_SOURCE_LINE: 539 0313 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_SOURCE_FUNCTION: LockGXact 0314 N:NDRX:4:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0141:Exec: [BEGIN TRANSACTION;] 0315 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0148:PQresultStatus: 1 (conn err: ) 0316 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_SEVERITY: (null) 0317 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_SQLSTATE: (null) 0318 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_MESSAGE_PRIMARY: (null) 0319 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_MESSAGE_DETAIL: (null) 0320 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_MESSAGE_HINT: (null) 0321 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_STATEMENT_POSITION: (null) 0322 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_CONTEXT: (null) 0323 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_SOURCE_FILE: (null) 0324 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_SOURCE_LINE: (null) 0325 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0151:PG_DIAG_SOURCE_FUNCTION: (null) 0326 N:NDRX:4:d5d3db3a: 3461:7f311b089800:000:20190623:124334286:main :estest.c:0141:Exec: [insert into ndrx_test_account(userid) values (1);] 0327 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334287:main :estest.c:0148:PQresultStatus: 1 (conn err: ) 0328 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334287:main :estest.c:0151:PG_DIAG_SEVERITY: (null) 0329 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334287:main :estest.c:0151:PG_DIAG_SQLSTATE: (null) 0330 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334287:main :estest.c:0151:PG_DIAG_MESSAGE_PRIMARY: (null) 0331 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334287:main :estest.c:0151:PG_DIAG_MESSAGE_DETAIL: (null) 0332 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334287:main :estest.c:0151:PG_DIAG_MESSAGE_HINT: (null) 0333 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334287:main :estest.c:0151:PG_DIAG_STATEMENT_POSITION: (null) 0334 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334287:main :estest.c:0151:PG_DIAG_CONTEXT: (null) 0335 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334287:main :estest.c:0151:PG_DIAG_SOURCE_FILE: (null) 0336 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334287:main :estest.c:0151:PG_DIAG_SOURCE_LINE: (null) 0337 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334287:main :estest.c:0151:PG_DIAG_SOURCE_FUNCTION: (null) 0338 N:NDRX:4:d5d3db3a: 3461:7f311b089800:000:20190623:124334287:main :estest.c:0141:Exec: [PREPARE TRANSACTION 'TEST1';] 0339 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334287:main :estest.c:0148:PQresultStatus: 1 (conn err: ) 0340 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334287:main :estest.c:0151:PG_DIAG_SEVERITY: (null) 0341 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334287:main :estest.c:0151:PG_DIAG_SQLSTATE: (null) 0342 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334288:main :estest.c:0151:PG_DIAG_MESSAGE_PRIMARY: (null) 0343 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334288:main :estest.c:0151:PG_DIAG_MESSAGE_DETAIL: (null) 0344 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334288:main :estest.c:0151:PG_DIAG_MESSAGE_HINT: (null) 0345 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334288:main :estest.c:0151:PG_DIAG_STATEMENT_POSITION: (null) 0346 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334288:main :estest.c:0151:PG_DIAG_CONTEXT: (null) 0347 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334288:main :estest.c:0151:PG_DIAG_SOURCE_FILE: (null) 0348 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334288:main :estest.c:0151:PG_DIAG_SOURCE_LINE: (null) 0349 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334288:main :estest.c:0151:PG_DIAG_SOURCE_FUNCTION: (null) 0350 N:NDRX:4:d5d3db3a: 3461:7f311b089800:000:20190623:124334288:main :estest.c:0141:Exec: [COMMIT PREPARED 'TEST1';] 0351 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334288:main :estest.c:0148:PQresultStatus: 1 (conn err: ) 0352 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334288:main :estest.c:0151:PG_DIAG_SEVERITY: (null) 0353 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334288:main :estest.c:0151:PG_DIAG_SQLSTATE: (null) 0354 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0151:PG_DIAG_MESSAGE_PRIMARY: (null) 0355 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0151:PG_DIAG_MESSAGE_DETAIL: (null) 0356 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0151:PG_DIAG_MESSAGE_HINT: (null) 0357 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0151:PG_DIAG_STATEMENT_POSITION: (null) 0358 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0151:PG_DIAG_CONTEXT: (null) 0359 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0151:PG_DIAG_SOURCE_FILE: (null) 0360 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0151:PG_DIAG_SOURCE_LINE: (null) 0361 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0151:PG_DIAG_SOURCE_FUNCTION: (null) 0362 N:NDRX:4:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0141:Exec: [ROLLBACK PREPARED 'TEST1';] 0363 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0148:PQresultStatus: 7 (conn err: ERROR: prepared transaction with identifier "TEST1" does not exist 0364 ) 0365 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0151:PG_DIAG_SEVERITY: ERROR 0366 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0151:PG_DIAG_SQLSTATE: 42704 0367 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0151:PG_DIAG_MESSAGE_PRIMARY: prepared transaction with identifier "TEST1" does not exist 0368 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0151:PG_DIAG_MESSAGE_DETAIL: (null) 0369 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0151:PG_DIAG_MESSAGE_HINT: (null) 0370 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0151:PG_DIAG_STATEMENT_POSITION: (null) 0371 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0151:PG_DIAG_CONTEXT: (null) 0372 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0151:PG_DIAG_SOURCE_FILE: twophase.c 0373 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0151:PG_DIAG_SOURCE_LINE: 539 0374 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0151:PG_DIAG_SOURCE_FUNCTION: LockGXact 0375 N:NDRX:4:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0141:Exec: [select count(*) from ndrx_test_account;] 0376 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0148:PQresultStatus: 2 (conn err: ) 0377 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0151:PG_DIAG_SEVERITY: (null) 0378 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0151:PG_DIAG_SQLSTATE: (null) 0379 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0151:PG_DIAG_MESSAGE_PRIMARY: (null) 0380 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0151:PG_DIAG_MESSAGE_DETAIL: (null) 0381 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0151:PG_DIAG_MESSAGE_HINT: (null) 0382 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0151:PG_DIAG_STATEMENT_POSITION: (null) 0383 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0151:PG_DIAG_CONTEXT: (null) 0384 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0151:PG_DIAG_SOURCE_FILE: (null) 0385 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0151:PG_DIAG_SOURCE_LINE: (null) 0386 N:NDRX:2:d5d3db3a: 3461:7f311b089800:000:20190623:124334289:main :estest.c:0151:PG_DIAG_SOURCE_FUNCTION: (null) 0387 0388 */ 0389 0390 0391 /* try to do some work */ 0392 0393 0394 return 0; 0395 } 0396 0397 /* vim: set ts=4 sw=4 et smartindent: */
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.1.0 LXR engine. The LXR team |
![]() ![]() |