Skip to content
Commits on Source (2)
......@@ -27,7 +27,7 @@ foreach(lang ${languages})
endforeach()
# Defaults
set(version V6.3-003A)
set(version V6.3-004)
if("${version}" STREQUAL "")
set(version V9.9-0)
endif()
......
......@@ -25,16 +25,16 @@ To build GT.M for Linux, do the following steps:
2. Unpack the GT.M sources
The GT.M source tarball extracts to a directory with the version number in
the name, fis-gtm-V6.3-003A
$ tar xfz fis-gtm-V6.3-003A.tar.gz
$ cd fis-gtm-V6.3-003A
the name, fis-gtm-V6.3-004
$ tar xfz fis-gtm-V6.3-004.tar.gz
$ cd fis-gtm-V6.3-004
You should find this README, LICENSE, COPYING and CMakeLists.txt file and
sr_* source directories.
3. Building GT.M -
<fis-gtm-build> can be a sub directory of the source directory,
fis-gtm-V6.3-003A, or any other valid path.
fis-gtm-V6.3-004, or any other valid path.
$ mkdir <fis-gtm-build>
$ cd <fis-gtm-build>
......@@ -53,16 +53,16 @@ To build GT.M for Linux, do the following steps:
#
# -D CMAKE_INSTALL_PREFIX:PATH=${PWD}/package
#
$ cmake -D CMAKE_INSTALL_PREFIX:PATH=${PWD}/package <path to>/fis-gtm-V6.3-003A
$ cmake -D CMAKE_INSTALL_PREFIX:PATH=${PWD}/package <path to>/fis-gtm-V6.3-004
$ make
$ make install
$ cd package/lib/fis-gtm/V6.3-003A_x86_64
$ cd package/lib/fis-gtm/V6.3-004_x86_64
# Now you are ready to install GT.M. Answer a few questions and install it.
# The recommended installation path is /opt/fis-gtm/V6.3-003A_x86_64
# The recommended installation path is /opt/fis-gtm/V6.3-004_x86_64
$ sudo ./configure
......
fis-gtm (6.3-004-1) UNRELEASED; urgency=medium
* Update to fis-gtm V6.3-004
-- Amul Shah <Amul.Shah@fisglobal.com> Wed, 04 Apr 2018 08:07:47 -0400
fis-gtm (6.3-003A-2) unstable; urgency=medium
[ Amul Shah ]
......
......@@ -31,7 +31,7 @@ Homepage: http://sourceforge.net/projects/fis-gtm
Package: fis-gtm
Architecture: all
Depends: ${misc:Depends},
fis-gtm-6.3-003a
fis-gtm-6.3-004
Provides: mumps
Description: metapackage for the latest version of FIS-GT.M database
GT.M is a database engine with scalability proven in large real-time
......@@ -62,7 +62,7 @@ Description: metapackage for the latest version of FIS-GT.M database
.
This metapackage always depends from the default fis-gtm version.
Package: fis-gtm-6.3-003a
Package: fis-gtm-6.3-004
Architecture: amd64 i386
Multi-Arch: same
Depends: ${shlibs:Depends},
......
This diff is collapsed.
This diff is collapsed.
......@@ -128,7 +128,7 @@ const static readonly int error_ansi[] = {
0, /* TRANSMINUS */
0, /* MAXNRSUBSCRIPTS */
75, /* MAXSTRLEN */
0, /* JNLDBERR */
0, /* ENCRYPTCONFLT2 */
0, /* JNLFILOPN */
0, /* MBXRDONLY */
0, /* JNLINVALID */
......@@ -517,7 +517,7 @@ const static readonly int error_ansi[] = {
80, /* SOCKINIT */
81, /* OPENCONN */
0, /* DEVNOTIMP */
0, /* JNLEXTR */
0, /* UNUSEDMSG688 */
0, /* DBREMOTE */
0, /* JNLREQUIRED */
0, /* TPMIXUP */
......@@ -591,7 +591,7 @@ const static readonly int error_ansi[] = {
0, /* DELIMSIZNA */
0, /* INVCTLMNE */
0, /* SOCKLISTEN */
0, /* LQLENGTHNA */
0, /* UNUSEDMSG762 */
0, /* ADDRTOOLONG */
0, /* GTMSECSHRGETSEMFAIL */
0, /* CPBEYALLOC */
......@@ -654,7 +654,7 @@ const static readonly int error_ansi[] = {
0, /* MUNOFINISH */
0, /* DBFILEXT */
0, /* JNLFSYNCERR */
0, /* FSYNCTIMOUT */
0, /* UNUSEDMSG825 */
0, /* ZCPREALLVALINV */
0, /* NEWJNLFILECREAT */
0, /* DSKSPACEFLOW */
......@@ -1502,4 +1502,8 @@ const static readonly int error_ansi[] = {
0, /* DBFREEZEOFF */
0, /* STPCRIT */
0, /* STPOFLOW */
0, /* SYSUTILCONF */
0, /* MSTACKSZNA */
0, /* JNLEXTRCTSEQNO */
0, /* INVSEQNOQUAL */
};
......@@ -130,7 +130,7 @@ LITDEF err_msg merrors[] = {
{ "TRANSMINUS", "Negative numbers not allowed with ZTCOMMIT", 0 },
{ "MAXNRSUBSCRIPTS", "Maximum number of subscripts exceeded", 0 },
{ "MAXSTRLEN", "Maximum string length exceeded", 0 },
{ "JNLDBERR", "Journal file !AD does not correspond to database file !AD", 4 },
{ "ENCRYPTCONFLT2", "A concurrent MUPIP REORG -ENCRYPT changed the encryption key for !AD before the process could initialize it. !AD", 4 },
{ "JNLFILOPN", "Error opening journal file !AD for database file !AD", 4 },
{ "MBXRDONLY", "Mailbox is read only, cannot write to it", 0 },
{ "JNLINVALID", "!AD is not a valid journal file !/ for database file: !AD", 4 },
......@@ -519,7 +519,7 @@ LITDEF err_msg merrors[] = {
{ "SOCKINIT", "Error initializing socket: (errno == !UL) !AD", 3 },
{ "OPENCONN", "Error opening socket connection", 0 },
{ "DEVNOTIMP", "!AD device not implemented on in this environment", 2 },
{ "JNLEXTR", "Error writing journal extract file: !AD", 2 },
{ "UNUSEDMSG688", "JNLEXTR last sometime prior to V4.4-002", 0 },
{ "DBREMOTE", "Database region !AD is remote; perform maintenance on the server node", 2 },
{ "JNLREQUIRED", "Journaling is required for clustered operation with file !AD", 2 },
{ "TPMIXUP", "!AZ transaction cannot be started within !AZ transaction", 2 },
......@@ -593,7 +593,7 @@ LITDEF err_msg merrors[] = {
{ "DELIMSIZNA", "Delimiter size is not appropriate", 0 },
{ "INVCTLMNE", "Invalid control mnemonics", 0 },
{ "SOCKLISTEN", "Error listening on a socket", 0 },
{ "LQLENGTHNA", "Listening queue length !UL not appropriate. Must be between 1 and 5.", 1 },
{ "UNUSEDMSG762", "LQLENGTHNA last used in V6.3-003A", 0 },
{ "ADDRTOOLONG", "Socket address !AD of length !UL is longer than the maximum permissible length !UL", 4 },
{ "GTMSECSHRGETSEMFAIL", "error getting semaphore errno = !UL", 1 },
{ "CPBEYALLOC", "Attempt to copy beyond the allocated buffer", 0 },
......@@ -656,7 +656,7 @@ LITDEF err_msg merrors[] = {
{ "MUNOFINISH", "MUPIP unable to finish all requested actions", 0 },
{ "DBFILEXT", "Database file !AD extended from 0x!XL blocks to 0x!XL at transaction 0x!16@XQ", 5 },
{ "JNLFSYNCERR", "Error synchronizing journal file !AD to disk", 2 },
{ "FSYNCTIMOUT", "Timed out on fsync for journal file !AD", 2 },
{ "UNUSEDMSG825", "FSYNCTIMOUT last used in V6.0-001", 0 },
{ "ZCPREALLVALINV", "The pre-allocation value exceeded the maximum string length", 0 },
{ "NEWJNLFILECREAT", "Journal file !AD nearing maximum size. New journal file created.", 2 },
{ "DSKSPACEFLOW", "Disk Space for file !AD nearing maximum size. !UL blocks available.", 3 },
......@@ -1274,7 +1274,7 @@ LITDEF err_msg merrors[] = {
{ "DSEWCREINIT", "Database cache reinitialized by DSE for region !AD", 2 },
{ "MURNDWNOVRD", "OVERRIDE qualifier used with MUPIP RUNDOWN on database file !AD", 2 },
{ "REPLONLNRLBK", "ONLINE ROLLBACK detected. Starting afresh", 0 },
{ "SRVLCKWT2LNG", "PID !UL is holding the source server lock. Waited for !UL minute(s). Now exiting", 2 },
{ "SRVLCKWT2LNG", "PID !UL is holding the source server lock. Waited for !UL seconds. Now exiting", 2 },
{ "IGNBMPMRKFREE", "Ignoring bitmap free-up operation for region !AD (!AD) due to concurrent ONLINE ROLLBACK", 4 },
{ "PERMGENFAIL", "Failed to determine access permissions to use for creation of !AD for file !AD", 4 },
{ "PERMGENDIAG", "Permissions: Proc(uid:!UL,gid:!UL!AD), DB File(uid:!UL,gid:!UL,perm:!AD), Lib File(gid:!UL,perm:!AD)", 11 },
......@@ -1504,6 +1504,10 @@ LITDEF err_msg merrors[] = {
{ "DBFREEZEOFF", "Region !AD is UNFROZEN (!AZOVERRIDE !AZAUTOREL)", 4 },
{ "STPCRIT", "String pool space critical", 0 },
{ "STPOFLOW", "String pool space overflow", 0 },
{ "SYSUTILCONF", "Error determining the path for system utility. !AD", 2 },
{ "MSTACKSZNA", "User-specified M stack size of !UL KiB not appropriate; must be between !UL KiB and !UL KiB; reverting to !UL KiB", 4 },
{ "JNLEXTRCTSEQNO", "Journal Extracts based on sequence numbers are restricted to a single region when replication is OFF", 0 },
{ "INVSEQNOQUAL", "Invalid SEQNO qualifier value !AD", 2 },
};
LITDEF int ERR_ACK = 150372361;
......@@ -1623,7 +1627,7 @@ LITDEF int ERR_MAXFORARGS = 150373266;
LITDEF int ERR_TRANSMINUS = 150373274;
LITDEF int ERR_MAXNRSUBSCRIPTS = 150373282;
LITDEF int ERR_MAXSTRLEN = 150373290;
LITDEF int ERR_JNLDBERR = 150373298;
LITDEF int ERR_ENCRYPTCONFLT2 = 150373296;
LITDEF int ERR_JNLFILOPN = 150373306;
LITDEF int ERR_MBXRDONLY = 150373314;
LITDEF int ERR_JNLINVALID = 150373322;
......@@ -2012,7 +2016,7 @@ LITDEF int ERR_SOCKACPT = 150376378;
LITDEF int ERR_SOCKINIT = 150376386;
LITDEF int ERR_OPENCONN = 150376394;
LITDEF int ERR_DEVNOTIMP = 150376402;
LITDEF int ERR_JNLEXTR = 150376410;
LITDEF int ERR_UNUSEDMSG688 = 150376410;
LITDEF int ERR_DBREMOTE = 150376418;
LITDEF int ERR_JNLREQUIRED = 150376426;
LITDEF int ERR_TPMIXUP = 150376434;
......@@ -2086,7 +2090,7 @@ LITDEF int ERR_PROTNOTSUP = 150376970;
LITDEF int ERR_DELIMSIZNA = 150376978;
LITDEF int ERR_INVCTLMNE = 150376986;
LITDEF int ERR_SOCKLISTEN = 150376994;
LITDEF int ERR_LQLENGTHNA = 150377002;
LITDEF int ERR_UNUSEDMSG762 = 150377002;
LITDEF int ERR_ADDRTOOLONG = 150377010;
LITDEF int ERR_GTMSECSHRGETSEMFAIL = 150377016;
LITDEF int ERR_CPBEYALLOC = 150377026;
......@@ -2149,7 +2153,7 @@ LITDEF int ERR_RDFLTOOLONG = 150377474;
LITDEF int ERR_MUNOFINISH = 150377482;
LITDEF int ERR_DBFILEXT = 150377491;
LITDEF int ERR_JNLFSYNCERR = 150377498;
LITDEF int ERR_FSYNCTIMOUT = 150377506;
LITDEF int ERR_UNUSEDMSG825 = 150377506;
LITDEF int ERR_ZCPREALLVALINV = 150377514;
LITDEF int ERR_NEWJNLFILECREAT = 150377523;
LITDEF int ERR_DSKSPACEFLOW = 150377531;
......@@ -2997,9 +3001,13 @@ LITDEF int ERR_DBFREEZEON = 150384259;
LITDEF int ERR_DBFREEZEOFF = 150384267;
LITDEF int ERR_STPCRIT = 150384274;
LITDEF int ERR_STPOFLOW = 150384284;
LITDEF int ERR_SYSUTILCONF = 150384290;
LITDEF int ERR_MSTACKSZNA = 150384299;
LITDEF int ERR_JNLEXTRCTSEQNO = 150384306;
LITDEF int ERR_INVSEQNOQUAL = 150384314;
GBLDEF err_ctl merrors_ctl = {
246,
"GTM",
&merrors[0],
1491};
1495};
......@@ -136,7 +136,7 @@ if ( $?gtm_version_change == "1" ) then
# on Cygwin, -ansi defines __STRICT_ANSI__ which suppresses many prototypes
setenv gt_cc_options_common "-c "
else
setenv gt_cc_options_common "-c -ansi "
setenv gt_cc_options_common "-c -std=c99 "
endif
setenv gt_cc_options_common "$gt_cc_options_common -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 "
......
......@@ -52,7 +52,7 @@ else()
# See http://stackoverflow.com/questions/21689124/mkstemp-and-fdopen-in-cygwin-1-7-28
# Cygwin warns if you add -fPIC that the compiled code is already position
# independent. So don't add -fPIC
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ansi -fPIC ")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99 -fPIC ")
endif()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsigned-char -Wmissing-prototypes -Wreturn-type -Wpointer-sign -fno-omit-frame-pointer")
......
/****************************************************************
* *
* Copyright (c) 2001-2017 Fidelity National Information *
* Copyright (c) 2001-2018 Fidelity National Information *
* Services, Inc. and/or its subsidiaries. All rights reserved. *
* *
* This source code contains the intellectual property *
......@@ -12,16 +12,17 @@
#ifndef GTM_RELEASE_NAME
#ifdef __CYGWIN__
#define GTM_RELEASE_NAME "GT.M V6.3-003A CYGWIN x86"
#define GTM_RELEASE_NAME "GT.M V6.3-004 CYGWIN x86"
#elif defined(__ia64)
#define GTM_RELEASE_NAME "GT.M V6.3-003A Linux IA64"
#define GTM_RELEASE_NAME "GT.M V6.3-004 Linux IA64"
#elif defined(__x86_64__)
#define GTM_RELEASE_NAME "GT.M V6.3-003A Linux x86_64"
#define GTM_RELEASE_NAME "GT.M V6.3-004 Linux x86_64"
#elif defined(__s390__)
#define GTM_RELEASE_NAME "GT.M V6.3-003A Linux S390X"
#define GTM_RELEASE_NAME "GT.M V6.3-004 Linux S390X"
#else
#define GTM_RELEASE_NAME "GT.M V6.3-003A Linux x86"
#define GTM_RELEASE_NAME "GT.M V6.3-004 Linux x86"
#endif
#endif
#define GTM_PRODUCT "GT.M"
#define GTM_VERSION "V6.3"
#define GTM_RELEASE_STAMP "20180316 15:27"
/****************************************************************
* *
* Copyright (c) 2001-2016 Fidelity National Information *
* Copyright (c) 2001-2018 Fidelity National Information *
* Services, Inc. and/or its subsidiaries. All rights reserved. *
* *
* This source code contains the intellectual property *
......@@ -52,42 +52,50 @@ GBLREF boolean_t is_final_retry_code_lchar[];
((CDB_STAGNATE > TRIES) || (IS_FINAL_RETRY_CODE(CURRSTATUS)))
#define TP_TRACE_HIST_MOD(BLK_NUM, BLK_TARGET, N, CSD, HISTTN, BTTN, LEVEL) \
{ \
GBLREF block_id t_fail_hist_blk[]; \
GBLREF gd_region *tp_fail_hist_reg[]; \
GBLREF gv_namehead *tp_fail_hist[]; \
GBLREF int4 blkmod_fail_type; \
GBLREF int4 blkmod_fail_level; \
GBLREF trans_num tp_fail_histtn[], tp_fail_bttn[]; \
MBSTART { \
DEBUG_ONLY(GBLREF uint4 dollar_tlevel;) \
DCL_THREADGBL_ACCESS; \
\
SETUP_THREADGBL_ACCESS; \
assert(dollar_tlevel); \
if (TREF(tprestart_syslog_delta)) \
{ \
tp_fail_hist_reg[t_tries] = gv_cur_region; \
t_fail_hist_blk[t_tries] = ((block_id)BLK_NUM); \
tp_fail_hist[t_tries] = (gv_namehead *)(((int)BLK_NUM & ~(-BLKS_PER_LMAP)) ? BLK_TARGET : NULL); \
{ /* next 4 lines of code are identical to TP_TRACE_HIST (below), but repetion saves an if when it matters */ \
assert(dollar_tlevel); \
TAREF1(t_fail_hist_blk, t_tries) = ((block_id)BLK_NUM); \
TAREF1(tp_fail_hist, t_tries) = (gv_namehead *)(((int)BLK_NUM & ~(-BLKS_PER_LMAP)) ? BLK_TARGET : NULL); \
TAREF1(tp_fail_hist_reg, t_tries) = gv_cur_region; \
(CSD)->tp_cdb_sc_blkmod[(N)]++; \
blkmod_fail_type = (N); \
blkmod_fail_level = (LEVEL); \
tp_fail_histtn[t_tries] = (HISTTN); \
tp_fail_bttn[t_tries] = (BTTN); \
TREF(blkmod_fail_level) = (LEVEL); \
TREF(blkmod_fail_type) = (N); \
TAREF1(tp_fail_bttn, t_tries) = (BTTN); \
TAREF1(tp_fail_histtn, t_tries) = (HISTTN); \
} \
}
} MBEND
#define NONTP_TRACE_HIST_MOD(BLK_SRCH_STAT, N) \
{ \
GBLREF int4 blkmod_fail_type; \
GBLREF int4 blkmod_fail_level; \
GBLREF block_id t_fail_hist_blk[]; \
MBSTART { \
DEBUG_ONLY(GBLREF uint4 dollar_tlevel;) \
DCL_THREADGBL_ACCESS; \
\
SETUP_THREADGBL_ACCESS; \
assert(!dollar_tlevel); \
t_fail_hist_blk[t_tries] = (BLK_SRCH_STAT)->blk_num; \
blkmod_fail_type = (N); \
blkmod_fail_level = (BLK_SRCH_STAT)->level; \
}
TREF(blkmod_fail_type) = (N); \
TREF(blkmod_fail_level) = (BLK_SRCH_STAT)->level; \
TAREF1(t_fail_hist_blk, t_tries) = (BLK_SRCH_STAT)->blk_num; \
} MBEND
#define TP_TRACE_HIST(BLK_NUM, BLK_TARGET) \
MBSTART { \
DEBUG_ONLY(GBLREF uint4 dollar_tlevel;) \
DCL_THREADGBL_ACCESS; \
\
SETUP_THREADGBL_ACCESS; \
if (TREF(tprestart_syslog_delta)) \
{ \
assert(dollar_tlevel); \
TAREF1(t_fail_hist_blk, t_tries) = ((block_id)BLK_NUM); \
TAREF1(tp_fail_hist, t_tries) = (gv_namehead *)(((int)BLK_NUM & ~(-BLKS_PER_LMAP)) ? BLK_TARGET : NULL); \
TAREF1(tp_fail_hist_reg, t_tries) = gv_cur_region; \
} \
} MBEND
#endif
/****************************************************************
* *
* Copyright (c) 2005-2016 Fidelity National Information *
* Copyright (c) 2005-2018 Fidelity National Information *
* Services, Inc. and/or its subsidiaries. All rights reserved. *
* *
* This source code contains the intellectual property *
......@@ -494,6 +494,7 @@ void dbc_process_block(phase_static_area *psa, int blk_num, gtm_off_t dbptr)
} else
{
rec2_len = rec2_rlen = 0; /* There is no second record */
rec2_ptr = NULL; /* 4SCA: Assigned value is garbage or undefined even but rec2_rlen is 0 */
assert(0 == blk_levl); /* And thus this is supposed to be lvl0 data block */
}
if (rec1_len > psa->dbc_cs_data->max_rec_size)
......
/****************************************************************
* *
* Copyright (c) 2001-2017 Fidelity National Information *
* Copyright (c) 2001-2018 Fidelity National Information *
* Services, Inc. and/or its subsidiaries. All rights reserved. *
* *
* This source code contains the intellectual property *
......@@ -102,7 +102,6 @@ CONDITION_HANDLER(gvzwrite_ch);
CONDITION_HANDLER(hashtab_rehash_ch);
CONDITION_HANDLER(io_init_ch);
CONDITION_HANDLER(iob_io_error);
CONDITION_HANDLER(iomt_ch);
CONDITION_HANDLER(jnl_file_autoswitch_ch);
CONDITION_HANDLER(job_init_ch);
CONDITION_HANDLER(jobexam_dump_ch);
......
/****************************************************************
* *
* Copyright (c) 2001-2017 Fidelity National Information *
* Copyright (c) 2001-2018 Fidelity National Information *
* Services, Inc. and/or its subsidiaries. All rights reserved. *
* *
* This source code contains the intellectual property *
......@@ -99,7 +99,8 @@ LITDEF nametabent svn_names[] =
,{ 5, "ZPROC*" }
,{ 5, "ZPROM*" }
,{ 2, "ZQ*" }
,{ 3, "ZRE*" }
,{ 3, "ZRE" }, {4, "ZREA*" }
,{ 4, "ZREL*" }
,{ 3, "ZRO*" }
,{ 3, "ZSO*" }
,{ 2, "ZS" }, { 4, "ZSTA*" }
......@@ -129,7 +130,7 @@ LITDEF nametabent svn_names[] =
LITDEF unsigned char svn_index[27] = {
0, 0, 0, 0, 2, 8, 8, 8, 10, /* a b c d e f g h i */
12, 14 ,16, 16, 16, 16, 16, 18, 20, /* j k l m n o p q r */
22, 28, 34 ,34, 34, 34, 35, 36, 99 /* s t u v w x y z ~ */
22, 28, 34 ,34, 34, 34, 35, 36, 101 /* s t u v w x y z ~ */
};
/* These entries correspond to the entries in the svn_names array */
......@@ -187,7 +188,8 @@ LITDEF svn_data_type svn_data[] =
,{ SV_ZPROC, FALSE, ALL_SYS }
,{ SV_PROMPT, TRUE, ALL_SYS }
,{ SV_ZQUIT, TRUE, ALL_SYS }
,{ SV_ZREALSTOR, FALSE, ALL_SYS }
,{ SV_ZREALSTOR, FALSE, ALL_SYS }, { SV_ZREALSTOR, FALSE, ALL_SYS }
,{ SV_ZRELDATE, FALSE, ALL_SYS }
,{ SV_ZROUTINES, TRUE, ALL_SYS }
,{ SV_ZSOURCE, TRUE, ALL_SYS }
,{ SV_ZSTATUS, TRUE, ALL_SYS }, { SV_ZSTATUS, TRUE, ALL_SYS }
......@@ -642,9 +644,10 @@ int expritem(oprtype *a)
case SV_TEST:
*a = put_tref(newtriple(OC_GETTRUTH));
break;
case SV_ZVERSION: /* making these literals at compile time assumes code is */
case SV_ZCHSET: /* generated for/in the environment where it runs, which */
op_svget(sv_opcode, &v); /* relies on appropriate code management */
case SV_ZCHSET: /* making these literals at compile time assumes code is */
case SV_ZRELDATE: /* generated for/in the environment where it runs, which */
case SV_ZVERSION: /* relies on appropriate code management */
op_svget(sv_opcode, &v);
assert(MVTYPE_IS_NUMERIC(v.mvtype) && MVTYPE_IS_STRING(v.mvtype));
ENSURE_STP_FREE_SPACE(v.str.len);
memcpy((char *)stringpool.free, v.str.addr, v.str.len);
......
/****************************************************************
* *
* Copyright (c) 2001-2017 Fidelity National Information *
* Copyright (c) 2001-2018 Fidelity National Information *
* Services, Inc. and/or its subsidiaries. All rights reserved. *
* *
* This source code contains the intellectual property *
......@@ -29,12 +29,15 @@ error_def(ERR_SELECTFALSE);
LITREF octabstruct oc_tab[];
#define SELECT_CLEANUP \
{ \
MBSTART { \
free(TREF(side_effect_base)); \
TREF(side_effect_base) = save_se_base; \
TREF(side_effect_depth) = save_se_depth; \
TREF(expr_depth) = save_expr_depth; \
}
TREF(expr_start) = save_start; \
TREF(expr_start_orig) = save_start_orig; \
TREF(shift_side_effects) = save_shift; \
} MBEND
int f_select(oprtype *a, opctype op)
/* drive parsing for the $select function
......@@ -133,6 +136,13 @@ int f_select(oprtype *a, opctype op)
{ /* it's TRUE: take this argument and disregard any following */
assert(!throwing && (NULL == savechain));
got_true = TRUE;
if (first_time && shifting)
{
setcurtchain(oldchain);
DECREMENT_EXPR_DEPTH;
shifting = FALSE;
TREF(expr_start) = TREF(expr_start_orig) = NULL;
}
}
}
if (EXPR_FAIL == expr(&tmparg, MUMPS_EXPR))
......@@ -211,6 +221,7 @@ int f_select(oprtype *a, opctype op)
loop_save_start = TREF(expr_start);
loop_save_start_orig = TREF(expr_start_orig);
}
assert((dmpchain.exorder.fl == dmpchain.exorder.bl) && (dmpchain.exorder.fl == &dmpchain));
savechain = setcurtchain(&dmpchain); /* discard arguments after a compile time TRUE */
}
cnd = NULL;
......@@ -231,6 +242,7 @@ int f_select(oprtype *a, opctype op)
{ /* if all values were literals and FALSE, supply a dummy evaluation so we reach the error gracefully */
PUT_LITERAL_TRUTH(FALSE, r);
r->opcode = OC_LIT;
ins_triple(r);
}
ref = newtriple(OC_RTERROR);
ref->operand[0] = tmparg;
......@@ -242,12 +254,9 @@ int f_select(oprtype *a, opctype op)
if (shifting)
DECREMENT_EXPR_DEPTH; /* clean up */
assert(!TREF(expr_depth));
TREF(expr_start) = save_start;
TREF(expr_start_orig) = save_start_orig;
TREF(shift_side_effects) = save_shift;
save_se_base[save_expr_depth] |= (TREF(side_effect_base))[TREF(expr_depth)];
TREF(saw_side_effect) = saw_se_in_select | save_saw_side;
SELECT_CLEANUP; /* restores TREF(expr_depth), TREF(side_effect_base) and TREF(side_effect_depth) */
SELECT_CLEANUP; /* restores seven TREFs - see the top of this module */
if (shifting)
{
shifting = ((1 < save_expr_depth) || ((save_start != save_start_orig) && (OC_NOOP != save_start->opcode)));
......
/****************************************************************
* *
* Copyright (c) 2001-2017 Fidelity National Information *
* Copyright (c) 2001-2018 Fidelity National Information *
* Services, Inc. and/or its subsidiaries. All rights reserved. *
* *
* This source code contains the intellectual property *
......@@ -252,6 +252,7 @@ GBLDEF buddy_list *gvt_pending_buddy_list;/* buddy_list for maintaining memory f
GBLDEF buddy_list *noisolation_buddy_list; /* a buddy_list for maintaining the globals that are noisolated */
GBLDEF int4 exi_condition;
GBLDEF uint4 gtmDebugLevel;
GBLDEF boolean_t gtmSystemMalloc;
GBLDEF caddr_t smCallerId; /* Caller of top level malloc/free */
GBLDEF int process_exiting;
GBLDEF int4 dollar_zsystem;
......
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; ;
; Copyright 1989, 2003 Sanchez Computer Associates, Inc. ;
; Copyright (c) 1987-2018 Fidelity National Information ;
; Services, Inc. and/or its subsidiaries. All rights reserved. ;
; ;
; This source code contains the intellectual property ;
; of its copyright holder(s), and is made available ;
......@@ -11,6 +12,7 @@
%GCE ;GT.M %GCE utility - global change every occurrence
;
n c,g,gn,m,n,ns,os,s,sc,sn,%ZD,%ZG,x
i ('$d(%ZQ)) n %ZQ s %ZQ=0
i '$d(%zdebug) n $et s $et="zg "_$zl_":ERR^%GCE" u $p:(ctrap=$c(3):exc="zg "_$zl_":LOOP^%GCE")
w !,"Global Change Every occurrence",!
d base
......@@ -48,15 +50,17 @@ noopen . w !,$p($ZS,",",2,999),! c %ZD s %ZD=""
. u %ZD w $zd($h,"DD-MON-YEAR 24:60:SS"),!,"Global Change Every occurrence of:",!,">",os,"<",!,"To:",!,">",ns,"<",! u $p
f s gn=$o(%ZG(gn)) q:gn="" d search
q
search w:$x>70 ! w gn,?$x\10+1*10
search n wrotegn s wrotegn=0
i '%ZQ s wrotegn=1 w:$x>70 ! w gn,?$x\10+1*10
s g=gn,(m,n)=0 u %ZD
i ($d(@g)#10=1) s n=1 d:@g[os change
f s g=$q(@g) q:g="" s n=n+1 d:@g[os change
i m w !!,m," changes made in total ",n," nodes.",!
e w !!,"No changes made in total ",n," nodes.",!
e w:'%ZQ !!,"No changes made in total ",n," nodes.",!
u $p
q
change w:sc !,g,!,"Was : ",@g
change i 'wrotegn s wrotegn=1 w:$x>70 ! w gn,?$x\10+1*10
w:sc !,g,!,"Was : ",@g
s s=@g,sn="",c=$l(s,os)
f i=1:1:c-1 s sn=sn_$p(s,os,i)_ns
s @g=sn_$p(s,os,c),m=m+i
......@@ -73,3 +77,7 @@ ERR i $d(%ZD),%ZD'=$p c %ZD
LOOP i $d(%ZD),%ZD'=$p c %ZD
d base
q
QUIET n %ZQ
s %ZQ=1
d %GCE
q
......@@ -2,14 +2,14 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
; Generated by scantypedefs.m at 10:26:02 on 2018-01-13
; Build done with GT.M version: GT.M V6.3-002 Linux x86
; Generated by scantypedefs.m at 15:34:43 on 2018-03-16
; Build done with GT.M version: GT.M V6.3-003A Linux x86_64
;
; Environment variables during run:
; $gtm_dist: /usr/library/V63002/dbg
; $gtm_exe: /usr/library/V63003A/dbg
; $gtm_src: /usr/library/V63003A/src
; $gtm_inc: /usr/library/V63003A/inc
; $gtm_dist: /usr/library/V63003A/dbg
; $gtm_exe: /usr/library/V63004/dbg
; $gtm_src: /usr/library/V63004/src
; $gtm_inc: /usr/library/V63004/inc
;
; Note this file should not be manually invoked
;
......
/****************************************************************
* *
* Copyright (c) 2005-2016 Fidelity National Information *
* Copyright (c) 2005-2018 Fidelity National Information *
* Services, Inc. and/or its subsidiaries. All rights reserved. *
* *
* This source code contains the intellectual property *
......@@ -26,7 +26,6 @@
#include "v15_gdsfhead.h"
#include "io.h"
#include "iottdef.h"
#include "iomtdef.h"
#include "gds_blk_downgrade.h"
#define SPACE_NEEDED (SIZEOF(blk_hdr) - SIZEOF(v15_blk_hdr))
......