Mumpster
http://mumpster.org/

More MUMPS V1 utility
http://mumpster.org/viewtopic.php?f=13&t=398
Page 5 of 8

Author:  raynewman [ Sun Oct 23, 2011 4:04 am ]
Post subject:  Re: More MUMPS V1 utility

Sorry Josef, I don't understand the question.

Ray

Author:  cais28 [ Sun Oct 23, 2011 4:50 am ]
Post subject:  Re: More MUMPS V1 utility

Ray

Why not during possible Journaling function to activate ?
If MV1 is runing , and Journaling is ON , after stop the journal / S ^$SYSTEM("VOL",1,"JOURNAL_REQUESTED")=0 / the next journal starting is failed . Need a restart MV1 for activate the journaling ?

Author:  raynewman [ Sun Oct 23, 2011 1:06 pm ]
Post subject:  Re: More MUMPS V1 utility

I have never tried turning off the journal then turning it back on.
For backup, I use:
/usr/bin/mumps -x 'S ^$S("VOL",1,"WRITELOCK")=1' /one/onedb
echo `date` ONE environment write locked.
cp /Volumes/Journal/journal.dat journal.bak/journal`date "+%Y%m%d"`
/usr/bin/mumps -x 'S ^$S("VOL",1,"JOURNAL_SIZE")=0' /one/onedb
echo `date` ONE Journal coppied to journal.bak and zeroed.
#Now we start backing up tape first.
bru -cf ntape0 /
if ($status) then
echo `date` ERROR - tape backup FAILED.
else
echo `date` ONE and OSX/Network data backed up to tape.
endif
/usr/bin/mumps -x 'S ^$S("VOL",1,"WRITELOCK")=0' /one/onedb
echo `date` ONE Database write enabled.

Ray

Author:  cais28 [ Sun Oct 23, 2011 11:04 pm ]
Post subject:  Re: More MUMPS V1 utility

This is a simple localTCP DeJournaling Utility :

MUMPS Code :
=============================================
DEJOURN ;DeJournaling | Restore Data from Journal
N $ET ;S $ET="D ^%ET"
ST W !," MUMPS V1 DeJournaling Utility",!
S FILE=$G(^$SYSTEM("VOL",1,"JOURNAL_FILE"))
W !,"Default journal file : "_FILE,!
ASK ;-- Selecting data criterial
R "DeJournaling All Global (Y/N)?: ",AGL,! Q:AGL=""
I AGL="N" R "Global : ",GBL,!
R "DeJournaling All Action /All/SET/KILL (A/S/K)?: ",AAC,! Q:AAC=""
R "DeJournaling Sarting date <yyyymmdd/Enter-All>: ",STD,!
R "DeJournaling Last date <yyyymmdd/Enter-Today> : ",LTD,!
S GBL=$G(GBL),STD=$G(STD),STDN="" S:STD'="" STDN=$$^%ZDH(STD)
S LTD=$G(LTD),LTDN="" S:LTD'="" LTDN=$$^%ZDH(LTD)
S AAC=$G(AAC,"A"),AAC=$S(AAC="A":"ALL",AAC="S":"SET",AAC="K":"KILL",1:AAC),ACS="D" D RJF
R "DeJournaling selected items (Y/N) ? : ",PSA,!
I PSA="Y" D
.W !,"Restoring selected items ...."
.S recl=0,rec="" F S rec=$O(^MTEMP($J,rec)) Q:rec="" S PP=$G(^MTEMP($J,rec)) Q:PP="" X PP W !,PP_" done." S recl=rec
.W !,$G(recl)_" actions restored done.",!
G ST Q
RJF ;--- Read Journal File & Save selection to ^MTEMP($J,...
K ^MTEMP($J) S DD=$C(34) I '$&%FILE(FILE,"EXISTS") W "NO SUCH FILE",! Q
C 1 O 1:(FILE:"R") U 1:("TERMINATOR=")
R MAGIC#4,OFFSET#8 U 0 S MAGIC=$$CVT(MAGIC),OFFSET=$$CVT(OFFSET)
I MAGIC-4155766916 W "Invalid MAGIC number",! C 1 Q
W "Date/Time",?24,"Action",?31,"UCI",?35,"Reference/Data",!
S OFF=12,rec=0 F Q:OFF'<OFFSET D
.U 1 R TIME#8 U 0 S SIZE=$$CVT($E(TIME,1,2)),UCI=$A(TIME,4),ACTION=$A(TIME,3),UCIN=""
.S:UCI'="" UCIN=$G(^$SYSTEM("VOL",1,"UCI",UCI))
.S TIME=$$CVT($E(TIME,5,8)),TIME=(TIME\86400+47117)_","_(TIME#86400)
.S ACTION=$S(ACTION=5:"KILL",ACTION=4:"SET",ACTION=3:"ESTOP",ACTION=2:"STOP",ACTION=1:"START",'ACTION:"CREATE")
.I SIZE=8 S OFF=OFF+SIZE Q
.S:SIZE#4 SIZE=SIZE\4+1*4 S OFF=OFF+SIZE U 1 R DATA#(SIZE-8) U 0
.S NAME=$TR($E(DATA,1,8),$C(0)),SLEN=$A(DATA,9),DATA=$E(DATA,10,99999)
.Q:(GBL'="")&(GBL'=NAME)
.Q:(STD'="")&(STDN>+TIME)
.Q:(LTD'="")&(LTDN<+TIME)
.Q:(AAC'="ALL")&(AAC'=ACTION)
.S KEY=$$FULLUNK^FIX1($E(DATA,1,SLEN)),DATA=$E(DATA,SLEN+1,99999)
.S REF="^"_NAME_$S(SLEN:"("_KEY_")",1:"")
.S:ACTION="SET" DBC=$$CVT($E(DATA,1,2)),DATA=$$DISP^%U($E(DATA,3,DBC+2)) S rec=rec+1
.I ACS="D" W $$D^%D(+TIME)," ",$$T^%T($P(TIME,",",2)),?24,ACTION,?31,UCIN,?35,REF W:ACTION="SET" "=",DATA W !
.S ^MTEMP($J,rec)=ACTION_" ^["_DD_UCIN_DD_"]"_$E(REF,2,999)_$S(ACTION="SET":"="_DD_DATA_DD,1:"")
C 1 W !,$G(rec)_" items listed.",!
Q
CVT(BIN,I) S I=0 F S I=I*256+$A(BIN,$L(BIN)),BIN=$E(BIN,1,$L(BIN)-1) Q:'$L(BIN)
Q I
INT(FILE,AGL,GBL,ACC,STD,LTD,PSA) ;Internal Call
;--- FILE = Journal File *full name*
; AGL = All global Y/N
; GBL = Selected Global name
; ACC = All action A/S/K
; STD = Starting Date 'yyyymmdd'
; LTD = Last Date 'yyyymmdd'
; PSA = Processing Status Y/N > Y=eXecute actions
S GBL=$G(GBL),STD=$G(STD),STDN="" S:STD'="" STDN=$$^%ZDH(STD)
S LTD=$G(LTD),LTDN="" S:LTD'="" LTDN=$$^%ZDH(LTD) S PSA=$G(PAS,"N"),recl=0
S AAC=$G(AAC,"A"),AAC=$S(AAC="A":"ALL",AAC="S":"SET",AAC="K":"KILL",1:AAC),ACS="D" D RJF
I PSA="Y" S recl=0,rec="" F S rec=$O(^MTEMP($J,rec)) Q:rec="" S PP=$G(^MTEMP($J,rec)) Q:PP="" X PP W !,PP_" done." S recl=rec
Q recl
=============================================

Author:  cais28 [ Tue Oct 25, 2011 6:05 am ]
Post subject:  Re: More MUMPS V1 utility

Enable / Disable or Listing status of globals to JOURNALING

MUMPS code:
=================================================
%JOURNAL ;Set Global(s) to JOURNALING
W !," Set Global(s) to Journaling",!!
R !,"Enable/Disable or Listing Journaling (E/D/L) ?: ",%GF Q:%GF="" Q:(%GF'="E")&(%GF'="D")&(%GF'="L")
R !,"Global(s): ",GLO Q:GLO=""
D INT(GLO) Q
INT(GLO,%,VOL,UCI,G,ZR) N $ET S ZR="INT^%JOURNAL",$ET="D EX^%JOURNAL"
S UI=$$UI^%U() K ^UTILITY(UI) S GLO=$$PAT^%U(GLO)
D INT^%GD(3,GLO,^$J($J,"GLOBAL"),"","z","^UTILITY("_UI_")")
I $O(^UTILITY(UI,""))="" W !,"?No globals selected.",! Q
S %=^$J($J,"GLOBAL_VOL"),VOL=^$S("VOL",%,"NAME")
S UCI=^$S("VOL",%,"UCI",^$J($J,"GLOBAL"))
G:%GF="L" LS
SET ;Set Journal Flag
S GLO="" F S GLO=$O(^UTILITY(UI,GLO)) Q:GLO="" D
.I %GF="E" S ^$G(GLO,"JOURNAL")=1
.I %GF="D" S ^$G(GLO,"JOURNAL")=0
LS ;List global as journal
W !,"Global | Journal Status"
S $E(BLL,80)=" ",GLO="" F S GLO=$O(^UTILITY(UI,GLO)) Q:GLO="" D
.S fl=$G(^$G(GLO,"JOURNAL")) W !,$E(GLO_BLL,1,8)_" = "_$S(fl=1:"ON",1:"OFF")
Q
EX W ! Q
=========================================================

Author:  cais28 [ Wed Oct 26, 2011 1:47 pm ]
Post subject:  Re: More MUMPS V1 utility

New Utility : MV1 GUI Global Editor
(now under testing period , in this week will available download .....)

Attachments:
File comment: GUI Global Editor
MV1GED2.JPG
MV1GED2.JPG [ 154.68 KiB | Viewed 76724 times ]

Author:  cais28 [ Wed Oct 26, 2011 2:03 pm ]
Post subject:  Re: More MUMPS V1 utility

Ray please help me...

When runing a %GS utility was a MUMPS_CRASH .
This is my first CRASH !
----------------------------------------------------------------------
MUMPS CRASH OCCURED on Tue Oct 25 15:29:11 2011
MUMPS V1.53 for Linux i686
FATAL MUMPS ERROR occured - pid 2015!!
Get_block: lseek() failed!
errno = 22 Invalid argument
Job No 3
Uci: 2 Routine: %GS Line: 17
Last Global: ^MPACU
------------------------------------------------------------------------

The error : Get_block: lseek() failed , a disk error ? Because the ^IC utility show 7 block pointer error .
Now restore the last backup database and reload the new-actual routines , and working normaly.
I may have forgotten to stop/shutdown it sometime it MV1 ? But in Linux system shutdown (Ubuntu RC6 level) is MV1 STOP is avtive ....
Anything Your Idea ?

Author:  raynewman [ Wed Oct 26, 2011 2:23 pm ]
Post subject:  Re: More MUMPS V1 utility

A linux shutdown of an active MUMPS system CAN cause database corruption which could cause the above problem. Put the following line in the linux rc.shutdown (or whatever linux calls that file):
/usr/bin/mumps -x D ^SSD /yourdatabase

Ray

Author:  cais28 [ Thu Oct 27, 2011 4:17 am ]
Post subject:  Re: More MUMPS V1 utility

The new version of MV1SysTray2 is available :
www.cais-system.com/MUMPS/MV1_SysTray_U ... rsion_2_0/
(with GUI Global Editor)

Author:  cais28 [ Sun Oct 30, 2011 12:20 am ]
Post subject:  Re: More MUMPS V1 utility

In the new release of MV1SysTray2 is available :
www.cais-system.com/MUMPS/MV1_SysTray_U ... date_2_01/
In GUI Global Editor : [Next] & [Prev] options !!
and this function working in command line : %GSEL utility (output to ^MTEMP($j,... )
Usage , ex.: ^GLOBAL/M100 (Next 100 record)
^GLOBAL/M-100 (Prev. 100 record)
if need a record order reverse , use : $$RO^%GSEL() /return number of record/

Page 5 of 8 All times are UTC - 8 hours [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/