拓展系统命令

news/2024/8/30 20:38:01 标签: IRIS, Cache, M, 自定义命令, 拓展命令
M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);">

文章目录

  • 拓展系统命令
    • 使用方式
    • 拓展系统命令
      • 快速运行方法命令 - `ZFASTRUN`
      • 安全运行方法命令 - `ZFASTSAFERUN`
      • 快速运行`Query`方法命令 -` ZFASTQUERY`
      • 安全运行`Query`方法 命令 - `ZSAFEQUARY`
      • 防止调试时误将数据提交命令 - `ZTRN`
      • 在`Terminal`执行`SQL`语句命令 - `ZSQL`
      • 安全`Global`命令 - `ZSAFEKILL`
      • 安全锁命令 - `ZSAFELOCK`
      • 安全JOB命令 -` ZSAFEJOB`
      • 快捷监视变量 - `ZTRACEVAR`

拓展系统命令

  • 本篇介绍自定义的拓展系统命令。

使用方式

  • 直接将CustomFunction.xml导入到Studio里即可。
    • 下载文件连接:
      • CSDN链接
      • 阿里云盘

注:有想实现其他的自定义命令功能或提供一些想法与需求,请与我联系或底部留言。

拓展系统命令

快速运行方法命令 - ZFASTRUN

快速运行方法ZFASTRUN命令相比传统的w ##class(classname).methodname("params")去除一些固定的关键字。

ZFASTRUN "classname_methodname(params)"
ZFR "classname_methodname(params)"
  • classname - 类名。
  • methodname - 方法名。
  • params - 逗号分割的参数列表,参数省略引号。

示例

  • 示例被调用方法:
Class M.Custom Extends %RegisteredObject
{
ClassMethod Sum(a, b, c)
{
	q a + b + c
}
}
  • 全拼命令调用:
USER>zfastrun "M.Custom_Sum(1,2,3)"
6
  • 缩写命令调用:
USER>zfr "M.Custom_Sum(1,2,3)"
6
USER>zfr "M.Custom_Sum(1,2,3,4)"
 
zSum(a,b,c) public {
     ^
<PARAMETER>zSum^M.Custom.1
USER 4e2>

注:当方法没有参数时可省略括号直接调用如下方式:

ZFR "classname_methodname"
  • 无参数调用:
ClassMethod NoParameter()
{
	q "这是一个无参方法"
}
USER>zfr "M.Custom_NoParameter"
这是一个无参方法

安全运行方法命令 - ZFASTSAFERUN

安全运行方法ZFASTSAFERUN命令,可以拦截任何系统错误,并且将错误信息进行输出。

ZFASTSAFERUN "classname_methodname(params)"
ZFS "classname_methodname(params)"
  • classname - 类名。
  • methodname - 方法名。
  • params - 逗号分割的参数列表,参数省略引号。

示例

  • 正常运行方法:
USER>zfastsaferun "M.Custom_Sum(1,2,3)"
6
  • 输入错误参数运行方法,将错误提示输出:
USER>zfs "M.Custom_Sum(1,2,3,4)"
<PARAMETER>zSum^M.Custom.1
USER>

快速运行Query方法命令 - ZFASTQUERY

快速运行Query方法ZFASTQUERY命令与快速运行方法ZFASTRUN类似,去除传统调用QUERY关键字

ZFASTQUERY "classname_queryname(params)"
ZFQ "classname_queryname(params)"
  • classname - 类名。
  • queryname - 查询名。
  • params - 逗号分割的参数列表,参数省略引号。

示例

  • 全拼命令有参数调用:
USER>zfastquery "%SYSTEM.License_Key(1)"
 
Field:Value:
LicenseCapacity:Cache 2014.1 Enterprise - Concurrent Users:300, Multi-Server, Platform Independent:
CustomerName:Beijing Tongren Hospital:
OrderNumber:201502125:
ExpirationDate:9/23/2044:
AuthorizationKey:412470003000003000000000000B4D8C6D71980041:
MachineID::<PARAMETER>zCountsExecute^%SYSTEM.License.1
  • 缩写命令无参调用;
USER>zfq "%SYSTEM.License_Counts"
 
InstanceLicenseUse:License Units:
授权的总数量 LU:300:
当前可用 LU:298:
最小可用 LU:298:
当前用户处于活动状态:2:
处于活动状态的最大用户数:2:
当前 CSP 用户处于活动状态:1:
处于活动状态的最大 CSP 用户数:1:
当前 CSP 会话处于宽限期:0:
处于宽限期的最大 CSP 会话数:0:

安全运行Query方法 命令 - ZSAFEQUARY

安全运行Query方法ZSQ命令,可以拦截任何系统错误,并且将错误信息进行输出。

ZSAFEQUARY "classname_queryname(params)"
ZSQ "classname_queryname(params)"
  • classname - 类名。
  • queryname - 查询名。
  • params - 逗号分割的参数列表,参数省略引号。

示例

  • 全拼命令调用:
USER>zsq "%SYSTEM.License_Counts(1)"
<PARAMETER>zCountsExecute^%SYSTEM.License.1
  • 缩写命令调用:
USER>ZSAFEQUARY "%SYSTEM.License_Counts(1)"
<PARAMETER>zCountsExecute^%SYSTEM.License.1

防止调试时误将数据提交命令 - ZTRN

在调试程序时,可能会遇到不能将数据提交与生产库时。可直接ZTRN命令,可以在调试方法结束后,进行是否回滚操作。

ZTRAN "classname_classname(params)"

示例

  • 在输入方法结束后输入y将数据进行回顾,输入n提交数据。
ClassMethod SaveData()
{
	s obj = ##class(User.Person).%New()
	s obj.name = "姚鑫"
	s obj.age = "18"
	s sc = obj.%Save()
	q sc
}
USER>Ztran "M.Custom_SaveData"
1
是否将数据回滚,输入y回滚,n不回滚:y
USER>Ztran "M.Custom_SaveData"
1
是否将数据回滚,输入y回滚,n不回滚:n

在这里插入图片描述


Terminal执行SQL语句命令 - ZSQL

ZSQL命令可以在Terminal中输入带引号的SQL语句进行执行命令。

ZSQL "SQL statement"
  • SQL statement - DML SQL语句

示例

  • Terminal直接输入sql查询语句,显示数据。
USER>zsql "SELECT * FROM M_T.Person"
id      MT_Age  MT_Money        MT_Name MT_No
1       26      25708   Vanzetti,Fred G.        279753
2       20      26776   White,Barbara G.        986492
3       27      22598   Young,Ralph P.  156477
4       27      3721    Moon,Terry O.   366644
5       26      14233   Newton,Julie Q. 251303
6       23      26461   Perez,Diane P.  423210
7       19      13603   Schaefer,Diane Q.       800001
8       18      28008   Winters,Julie D.        738133
9       25      18447   Xenia,Fred H.   558275
...
1054    23      25785   Iacobelli,Michelle Y.   840578
1055    24      12446   Diavolo,Barbara B.

安全Global命令 - ZSAFEKILL

安全删除命令ZSAFEKILL防止错误操作把数据进行错误删除。

ZSAFEKILL "Global Name"
ZSK "Global Name"
  • Global Name - Global名称

示例

  • 在执行ZSK命令后,会提示是否将数据回滚输入y回滚,输入n提交数据。
USER>s ^yx("name")="yx"
 
USER>zw ^yx
^yx("name")="yx"
 
USER>zsk "^yx"
 
是否将数据回滚,输入y回滚,n不回滚:y
USER>zw ^yx
^yx("name")="yx"
 
USER>zsk "^yx"
 
是否将数据回滚,输入y回滚,n不回滚:n
USER>zw ^yx
 
USER>

安全锁命令 - ZSAFELOCK

安全锁命令ZSAFELOCK防止加锁时没有设置超时,将程序一直阻塞。

ZSAFELOCK "Lock Name"
ZSL "Lock Name"
  • Lock Name - 锁名称

示例

  • 在执行安全锁命令ZSL后,会自动加上超时时间,默认为3秒。
USER>zsl "^yx"
 

在这里插入图片描述

安全JOB命令 - ZSAFEJOB

因为JOB命令每次调用会开启新的进程,调用ZSAFEJOB命令会判断当前可开启进程数,也会判断JOB进程是否正确开启。

ZSAFEJOB "classname_methodname(params)"
ZSJ "classname_methodname(params)"
  • classname - 类名。
  • queryname - 查询名。
  • params - 逗号分割的参数列表,参数省略引号。

快捷监视变量 - ZTRACEVAR

调试方法输入要监视的变量,可将变量的值在终端进行输出。

ZTRACEVAR "classname_methodname(params)_var"
ZTV "classname_methodname(params)_var"
  • classname - 类名。
  • queryname - 查询名。
  • params - 逗号分割的参数列表,参数省略引号。
  • var - 监视变量逗号分割的列表。监视多个变量请用逗号分隔。

http://www.niftyadmin.cn/n/223949.html

相关文章

阿里通义千问、ChatGPT和文心一言有何区别,在哪里能使用?

目前&#xff0c;聊天机器人技术在人工智能领域的发展越来越成熟了。现在已经有几款备受关注的聊天机器人产品问世&#xff0c;例如ChatGPT、阿里的通义千问和百度的文心一言。它们有什么区别&#xff0c;怎么使用呢&#xff1f; 其实&#xff0c;我也挺好奇的&#xff0c;毕竟…

若依数据隔离 ${params.dataScope} 替换 优化为sql 替换

若依数据隔离 ${params.dataScope} 替换 优化为sql 替换 安全问题:有风险的SQL查询&#xff1a;MyBatis解决 若依框架的数据隔离是通过 ${params.dataScope} 实现的 但是在代码安全扫描的时候$ 符会提示有风险的SQL查询&#xff1a;MyBatis 所以我们这里需要进行优化参考: M…

红十字救护员急救知识培训笔记

文章目录1、线上学习&#xff1a;理论知识2、线下培训&#xff1a;理论考试3、线下培训&#xff1a;实操学习实操考试3.1 心肺复苏CPR3.2 气道异物梗阻3.3 创伤救护一共有三个步骤 1、线上学习理论课程&#xff0c;所有课程进度100%可以报名线下 2、线下有一个实操的培训&#…

【算法】子数组最大平均数 II

文章目录644. 子数组最大平均数 IIHard思考优化Tag644. 子数组最大平均数 II Hard 有一个n个整数的数组nums&#xff0c;和一个整数k&#xff0c;要找出长度>k 并且 含最大平均值的连续子数组。并且输出这个最大的平均数&#xff0c;任何计算误差小于10^-5的结果都认为是正…

replugin原理笔记

Replugin源码目录主要有4个工程组成&#xff0c;其组成如下图所示&#xff0c;包括2个gradle工程&#xff0c;2个Android library工程。 replugin-host-gradle replugin-host-library replugin-plugin-gradle replugin-plugin-library Replugin是一套完整的、稳定的、适合全面…

形式语言和自动机总结----正则语言

第3-4章正则表达式 正则表达式的设计举例 正则表达式的运算 正则表达式的优先级 举例 1.倒数第三个字符是1 &#xff08;01)*1(01)(01) 2.不含有连续的0 &#xff08;101&#xff09;*&#xff08;0&#xff09; 3.含有000 &#xff08;01&#xff09;*000&#xff08;01&a…

如何基于ChatGPT+Avatar搭建24小时无人直播间

0 前言 最近朋友圈以及身边很多朋友都在研究GPT开发&#xff0c;做了各种各样的小工具小Demo&#xff0c;AI工具用起来是真的香&#xff01;在他们的影响下&#xff0c;我也继续捣鼓GPT Demo&#xff0c;希望更多的开发者加入一起多多交流。 上一篇结合即时通 IM SDK捣鼓了一个…

解决Hutool BeanUtil 拷贝异常场景

背景 我们使用的是Hutool工具包的cn.hutool.core.bean.BeanUtil解决对象拷贝复制场景。 工作中我们经常做这样工作&#xff1a;比如说将VO复制成DO。 VO、DTO、DTO、BO&#xff0c;RequestDTO互相转化。 业务 我们服务作为系统的开放平台应用&#xff0c;统一维护管理第三方平…