文章 Qiao Peng · 三月 5, 2021 3m read

Global 扫描和切片

这是一个在 IRIS 2020.1 和 Caché 2018.1.3 上工作的代码示例
不会与新版本保持同步
也不会获得 InterSystems 提供的支持服务!   

大多数情况下,默认存储使用的 global 只有 1 个表示 IDKEY 的下标级别。 对于索引 global,可能有 2 个或更多下标级别。

数组、父子关系或扩展了基础数据类的持久化类 是具有更多下标级别的示例。 但所有这些 global 都非常统一。

1
0 162
InterSystems 官方 Qiao Peng · 三月 3, 2021

InterSystems API Manager (IAM) 版本1.5已正式发布。

 

IAM容器,包括从原有IAM版本升级的所有相关工件, 现在可以在 WRC 软件发布网址 组件区下载。

 

该版本的小版本号是 IAM 1.5.0.9-4。

 

InterSystems API Manager 1.5 使管理API通讯、与你的环境集成、加载API用户更加容易。它包含很多新特性,包括:

 

  • 改进的用户体验
  • 新的开发者门户工具
  • 对Kafka connectivity的支持

 

这个版本基于Kong Enterprise version 1.5.0.9。之前的IAM版本包括一个贴牌版本的Kong Enterprise, 在本版本中的Kong Enterprise不再贴牌。 这个变化让我们可以更快的节奏带给您新的版本,并更有效地利用Kong提供的文档和其它资源

 

请在 这里 查看IAM 1.5 的文档。这个文档仅说明IAM特殊的元素。产品中的文档链接直接打开Kong Enterprise的文档。

 

从IAM 0.34-1 升级需要通过3个中间版本累积升级,在 文档中有详细的说明。

 

1
0 255
文章 PEIPEI DUAN · 三月 3, 2021 1m read

 

这是我们团队参加的第一届InterStstems编程竞赛! 快来看看投票给我们!

超额预订管理系统结合了酒店业的独特条件,例如房价,订购渠道,客户需求等。 本系统使用机器学习算法(例如:KNN / ES-RNN ...)来准确预测酒店的每日未入住和入住率,并进一步与收益结合以找到最佳的最大客房销售量,从而精准增加酒店的边际收益。

1
0 106
文章 Claire Zheng · 一月 20, 2021 6m read

简介

最近完成了针对IRIS医疗版2020.1版本的性能及可扩展性基准测试,重点关注HL7v2的互操作性。本文介绍了在各种工作负载下观察到的吞吐量,并提供了IRIS医疗版用作HL7v2消息传输互操作性引擎时的系统常规配置和调整准则。

基准测试模拟了与实际环境接近的工作负载(详细信息请参见“工作负载说明和方法”部分)。本次测试的工作负载包括HL7v2患者管理(ADT)和生命体征结果(ORU)数据,并包含数据内容转换和路由。

IRIS医疗版2020.1版本可以表明,采用第二代Intel®Xeon®可扩展处理器和Intel®Optane™SSD DC P4800X系列SSD存储的商用服务器,每天的持续消息吞吐量超过23亿条(入站和出站总量),与此前的Ensemble 2017.1 HL7v2吞吐量基准测试相比,扩展性提高了一倍多。

2
0 348
文章 Jeff Liu · 三月 1, 2021 2m read
大数据的 5 个 V 与 InterSystems IRIS
参见下表:

Velocity(速度):水平和垂直节点扩展传递出的弹性速度 实现者:分布式内存缓存、分布式处理、分片和多模型架构 https://www.intersystems.com/isc-resources/wp-content/uploads/sites/24/…https://learning.intersystems.com/course/view.php?id=1254&ssoPass=1

Value(价值):Analytics 和 AI产生的指数数据价值实现:BI、NLP、ML、AutoML 和多模型架构 https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=S…https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cl…

Veracity(真实性):在公司层面统一的单一真实数据源--实现者:连接器、数据总线、数据集成的 BPL 以及 API 管理

0
0 321
文章 Michael Lei · 二月 26, 2021 1m read

不少客户问我关于从Cache迁移到IRIS的问题。为什么要迁移到IRIS?Cache是优秀的,稳定的,有很好的性能,为什么要迁移到IRIS呢?这些客户是对的,但在过去几年,数字化转型提出了不少新问题、新需求和新挑战,客户需要更灵活、更完整、更前瞻的解决方案,InterSystems公司很有远见地洞察到了这一点,推出了IRIS。
一句话,IRIS是一套数据平台解决方案,它帮助客户和合作伙伴为迎接数字化转型的挑战提供了充足的弹药。

0
0 179
公告 Jeff Liu · 二月 26, 2021

2020 年最佳 Open Exchange 开发者和应用程序! 大家好,

2020 年是优秀应用程序丰收的一年!

将近 400 个应用程序已上传到 InterSystems Open Exchange200 多个应用程序在 2020 年上传到我们的应用程序库!

我们很高兴向大家介绍最佳 Open Exchange 开发者和下载量最大的应用程序,这些应用程序绝对值得一试!

 

让我们仔细看一下我们的英雄们和卓越的应用程序:

1
0 243
文章 姚 鑫 · 二月 25, 2021 3m read

第四十七章 Caché 变量大全 ^$JOB 变量

提供系统间IRIS进程(JOB)信息。

大纲

^$JOB(job_number)
^$J(job_number)

参数

  • job_number 输入ObjectScript命令时创建的系统特定OBJ编号。每个活动的InterSystems IRIS进程都有一个唯一的作业号。登录到系统会启动一个作业。在UNIX®系统上,作业号是调用InterSystems IRIS时启动的子进程的PIDJOB_NUMBER必须指定为整数;不支持十六进制值。

描述

可以将^$JOB结构化系统变量用作$DATA$ORDER$QUERY函数的参数,以获取有关本地InterSystems IRIS系统上是否存在InterSystems IRIS作业的信息。

示例

以下示例显示如何将^$JOB用作$DATA$ORDER$QUERY函数的参数。

作为$DATA的参数

$DATA(^$JOB(job_number))

^$JOB作为$DATA的参数返回一个整数值,该值指示指定的作业是否作为节点存在于^$JOB中。下表显示了$DATA可以返回的整数值。

ValueMeaning
0JOB不存在
1JOB存在

以下示例测试系统间IRIS进程是否存在。

DHC-APP>SET x=$JOB
 
DHC-APP>WRITE !,$DATA(^$JOB(x))
 
1
0
0 162
文章 姚 鑫 · 二月 24, 2021 6m read

第四十六章 Caché 变量大全 ^$GLOBAL 变量

提供有关全局变量和进程私有全局变量的信息。

大纲

^$|nspace|GLOBAL(global_name)
^$|nspace|G(global_name)

^$||GLOBAL(global_name)
^$||G(global_name)

参数

  • |nspace|[nspace] - 可选-扩展SSVN引用,可以是显式名称空间名称,也可以是隐含名称空间。必须计算为带引号的字符串,该字符串括在方括号([“nspace”])或竖线(|“nspace”|)中。命名空间名称不区分大小写;它们以大写字母存储和显示。
  • global_name 计算结果为包含无下标全局名称的字符串的表达式。全局名称区分大小写。使用^$||global()语法时,与进程专用全局名称相对应的无下标全局名称:^a表示^||a

描述

可以将^$GLOBAL用作$DATA$ORDER$QUERY函数的参数,以返回有关当前名称空间(默认名称空间)或指定名称空间中是否存在全局变量的信息。还可以使用^$global返回有关存在进程私有全局变量的信息。

进程私有全局变量

可以使用^$global获取有关所有命名空间中是否存在进程私有全局变量的信息。可以将进程专用全局的查找指定为^$||global^$|“^”|global

0
0 156
文章 姚 鑫 · 二月 23, 2021 3m read

第四十五章 Caché 变量大全 $ZVERSION 变量

包含一个字符串,描述do命令后面的InterSystems IRIS.line的当前版本。

大纲

$ZVERSION 
$ZV

描述

$ZVERSION包含一个字符串,该字符串显示当前运行的InterSystems IRIS®Data Platform实例的版本。

以下示例返回$ZVERSION字符串:

DHC-APP>WRITE $ZVERSION
Cache for Windows (x86-64) 2016.2 (Build 736U) Fri Sep 30 2016 11:46:02 EDT

此字符串包括InterSystems IRIS安装的类型(产品和平台,包括CPU类型)、版本号(2018.1)、该版本中的内部版本号(内部版本号中的“U”表示UNICODE以及创建此版本的InterSystems IRIS的日期和时间。“EST”是东部标准时间(美国东部的时区),“EDT”是东部夏令时

通过调用GetVersion()类方法可以返回相同的信息,如下所示:

DHC-APP>WRITE $SYSTEM.Version.GetVersion()
Cache for Windows (x86-64) 2016.2 (Build 736U) Fri Sep 30 2016 11:46:02 EDT
0
0 83
公告 Claire Zheng · 二月 22, 2021

大家好!

InterSystems开发者社区中文版正在招募版主,以更好地推动中文社区建设,期待每一位开发者的积极参与,共同打造一个高效沟通的技术社区!

欢迎点击报名(或扫描下方二维码),审核通过后,我们会与您详细沟通版主权益及义务。

2
1 270
文章 姚 鑫 · 二月 22, 2021 7m read

第四十四章 Caché 变量大全 $ZTRAP 变量

包含当前错误陷阱处理程序的名称。

大纲

$ZTRAP
$ZT

描述

$ZTRAP包含当前错误陷阱处理程序的行标签名和/或例程名。有三种方法可以设置$ZTRAP:

  • SET $ZTRAP=“location”
  • SET $ZTRAP=“*location”
  • SET $ZTRAP=“^%ET” or “^%ETN”

在这里,位置可以指定为标签(当前例程中的行标签)、^routine(指定外部例程的开始)或label^routine(指定外部例程中的指定标签)。

然而,$ZTRAP=label^routine不能用于程序块。过程块中的$ZTRAP不能用于转到过程体之外的位置;过程块中的$ZTRAP只能引用该过程块中的一个位置

Location

使用设置命令,可以将位置指定为带引号的字符串。

0
0 97
文章 姚 鑫 · 二月 21, 2021 7m read

第四十三章 Caché 变量大全 $ZTIMEZONE 变量

包含格林威治子午线的时区偏移量。

大纲

$ZTIMEZONE
$ZTZ

描述

$ZTIMEZONE可以通过两种方式使用:

  • 返回计算机的本地时区偏移量。
  • 为当前进程设置本地时区偏移量。

$ZTIMEZONE包含从格林威治子午线偏移的时区(以分钟为单位)。 (格林威治子午线包括整个英国和爱尔兰。)此偏移量表示为-1440到1440范围内的有符号整数。格林威治以西的时区指定为正数;格林威治东部的时区指定为负数。 (时区必须以分钟为单位,因为并非所有时区都以小时为单位。)默认情况下,$ZTIMEZONE初始化为计算机操作系统设置的时区。

注意:$ZTIMEZONE将本地时间调整为固定的偏移量。它不适应夏令时或其他当地时间的变化。 InterSystems IRIS从基础操作系统获取本地时间,该操作系统将本地时间变体应用于为该计算机配置的位置。因此,使用$ZTIMEZONE调整的本地时间将从配置的语言环境中获取其本地时间变化,而不是在$ZTIMEZONE中指定的时区。

使用格林威治子午线($ZTIMEZONE = 0)的时区计数来计算UTC时间。它与当地格林威治时间不同。格林威治标准时间(GMT)一词可能令人困惑;格林威治的当地时间与冬季的UTC相同。在夏季,它与UTC的差异为一小时。这是因为应用了称为英国夏令时的本地时间变体。

0
0 110
文章 姚 鑫 · 二月 20, 2021 6m read

第四十二章 Caché 变量大全 $ZTIMESTAMP 变量

包含协调世界时间格式的当前日期和时间。

大纲

$ZTIMESTAMP
$ZTS

描述

$ZTIMESTAMP包含协调的通用时间值形式的当前日期和时间。这是世界范围内的时间和日期标准;此值很可能与当地的时间(和日期)值不同。

$ZTIMESTAMP将日期和时间表示为以下格式的字符串:

ddddd,sssss.fff

其中ddddd是一个整数,指定自1840年12月31日起的天数;sssss是一个整数,指定自当天午夜以来的秒数,fff是一个可变的数字,指定小数秒。这种格式类似于$HOROLOG,只是$HOROLOG不包含分数秒。

假设当前日期和时间(世界协调时)如下:

2018-02-22 15:17:27.984

当时,$ZTIMESTAMP的值为:

64701,55047.984

$ZTIMESTAMP报告协调世界时(UTC),它独立于时区。因此,$ZTIMESTAMP提供了一个跨时区的统一时间戳。这可能不同于本地时间值和本地日期值。

0
0 159
文章 姚 鑫 · 二月 19, 2021 2m read

第四十一章 Caché 变量大全 $ZSTORAGE 变量

包含进程的最大可用内存。

大纲

$ZSTORAGE
$ZS

描述

$ZSTORAGE包含JOB的进程私有内存的最大内存量(以KB为单位)。此内存可用于局部变量、堆栈和其他表。此内存限制不包括例程目标代码的空间。此内存根据需要分配给进程,例如在分配数组时。

一旦将此内存分配给进程,通常在该进程退出之前不会释放它。但是,当大量内存被使用(例如,大于32MB)然后被释放时,系统间IRIS会尝试在可能的情况下将释放的内存释放回操作系统。

还可以使用$ZSTORAGE设置最大内存大小。例如,以下语句将作业的最大进程专用内存设置为524288 KB

SET $ZSTORAGE=524288

更改$ZSTORAGE会更改$STORAGE特殊变量的初始值,该变量包含进程的当前可用内存(以字节为单位)。

$ZSTORAGE的最大值为2147483647$ZSTORAGE默认值为262144$ZSTORAGE的最小值为128$ZSTORAGE值大于最大值或小于最小值会自动默认为最大值或最小值。$ZSTORAGE设置为整数值;InterSystems IRIS截断任何小数部分(如果指定)。

0
0 92
文章 Claire Zheng · 一月 20, 2021 8m read

大家可能已经听说过,我们近期推出了InterSystems API管理器 (以下简称IAM)。InterSystems IRIS数据平台™新增了一项功能,支持用户监视、控制和管理IT基础架构中基于Web的API间通信。

在本文中,我将向大家展示如何设置IAM,并重点介绍IAM中可用的一些功能。InterSystems API管理器可提供你所需的一切功能。

3
0 300
文章 姚 鑫 · 二月 18, 2021 6m read

第四十章 Caché 变量大全 $ZREFERENCE 变量

包含当前全局变量global引用。

大纲

$ZREFERENCE
$ZR

描述

$ZREFERENCE包含上次全局引用的名称和下标。这就是所谓裸指针。

注意:最后一个全局引用是最近访问的全局节点。通常,这是对全局的最新显式引用。但是,某些命令可能在内部使用$ORDER函数遍历全局下标(ZWRITE命令就是一个例子),或者它们可能在内部引用其他全局脚本。发生这种情况时,$ZREFERENCE包含上次访问的全局节点,该节点可能不是为命令指定的全局节点。

最后一个全局引用可以是全局(^myglob)或进程专用全局(^||myppg)。$ZREFERENCE以最初用于该变量的形式返回进程专用全局前缀,而不管随后对该变量使用哪个进程专用全局前缀。在接下来的$ZREFERENCE描述中,单词“global”指的是这两种类型的变量。

最后一个全局引用是命令或函数最近引用的全局。由于ObjectScript按从左到右的顺序执行操作,因此最后一个全局引用始终是最右侧的全局引用。当命令或函数使用多个参数时,最右侧参数中指定的全局参数是最后一个全局引用。当参数包含多个全局引用时,最右侧指定的全局引用是最后一个全局引用。即使使用圆括号来定义操作顺序,从左到右的严格顺序也是正确的。

0
0 90
文章 姚 鑫 · 二月 17, 2021 1m read

第三十七章 Caché 变量大全 $ZPARENT 变量

包含当前进程的父进程的ID

大纲

$ZPARENT
$ZP

描述

$ZPARENT包含使用JOB命令创建当前进程的父进程的ID。如果当前进程不是使用JOB命令创建的,则$ZPARENT包含0(零)。

不能使用SET命令修改此特殊变量。尝试这样做会导致<SYNTAX>错误。

第三十八章 Caché 变量大全 $ZPI 变量

包含pi的值。

大纲

$ZPI

描述

$zpi包含数值常量Pi到小数点后18位的值(3.141592653589793238)。

该值经常用于三角函数,例如正弦函数$ZSIN

第三十九章 Caché 变量大全 $ZPOS 变量

包含读取顺序文件期间的当前文件位置。

大纲

$ZPOS

描述

$ZPOS包含顺序文件读取期间的当前文件位置。如果没有正在进行的顺序文件读取,则$ZPOS包含0(零)。

当打开文件进行顺序读取时,每次从该设备读取都会将$ZPOS设置为文件中下一次读取的位置。$ZPOS值是读取、读取*或读取#n结束时的实际文件偏移量(以字节为单位)。用户在读取多字节字符集时必须适当小心。

可以使用$ZSEEK函数设置当前文件位置。不能使用SET命令修改此特殊变量。尝试这样做会导致<SYNTAX>错误。

0
0 60
文章 姚 鑫 · 二月 16, 2021 2m read

第三十六章 Caché 变量大全 $ZORDER 变量

包含下一个全局节点的值。

大纲

$ZORDER
$ZO

描述

$ZORDER包含当前全局引用之后的下一个全局节点的值(在$QUERY序列中,而不是$ORDER序列中)。如果没有下一个全局节点,访问$ZORDER将导致<unfined>错误,指示$ZORDER成功访问的最后一个全局节点。

不能使用SET命令修改此特殊变量。尝试这样做会导致<SYNTAX>错误。

示例

下面的示例使用WHILE循环重复调用$ZORDER以遍历一系列下标节点:

0
0 145
文章 姚 鑫 · 二月 15, 2021 3m read

第三十五章 Caché 变量大全 $ZNSPACE 变量

包含当前命名空间名称。

大纲

$ZNSPACE

描述

$ZNSPACE包含当前命名空间的名称。通过设置$ZNSPACE,可以更改当前名称空间。

要获取当前命名空间名称,请执行以下操作:

DHC-APP>SET ns=$ZNSPACE
 
DHC-APP>WRITE ns
DHC-APP

还可以通过调用%SYSTEM.SYS类的Namespace()方法来获取当前命名空间的名称,如下所示:

DHC-APP>SET ns=$SYSTEM.SYS.NameSpace()
 
DHC-APP>WRITE ns
DHC-APP

可以使用%SYS.Namespace类的Existes()方法测试命名空间是否已定义,如下所示:

DHC-APP>WRITE ##class(%SYS.Namespace).Exists("USER")
1
DHC-APP>WRITE ##class(%SYS.Namespace).Exists("LOSER")
0

对于UNIX®系统,默认命名空间建立为系统配置选项。对于Windows系统,它是使用命令行启动选项设置的。

命名空间名称不区分大小写。InterSystems IRIS始终以全大写字母显示显式名称空间名称,以全小写字母显示隐含的名称空间名称。

0
0 95
文章 姚 鑫 · 二月 14, 2021 1m read

第三十四章 Caché 变量大全 $ZNAME 变量

包含当前例程名称。

大纲

$ZNAME
$ZN

描述

$ZNAME包含在当前进程上执行的例程的名称。通常,这是ZLOAD加载的当前例程。如果当前没有执行任何例程,则$ZNAME包含空字符串。

当ZLOAD加载一个例程时,它将成为所有名称空间中当前进程的当前加载例程。因此,可以使用$ZNAME显示任何名称空间中当前加载的例程的名称,而不仅仅是加载该例程的名称空间。

例程名称区分大小写。

请注意,尝试ZLOAD例程失败会删除当前加载的例程,并将$ZNAME设置为空字符串。

不能使用SET命令修改此特殊变量。尝试这样做会导致<SYNTAX>错误。

$ZNAME值可以通过以下任何命令设置:

  • ZLOAD command
  • ZSAVE command
  • 无参数ZREMOVE命令(设置为空字符串)
  • DO command
  • GOTO command with ^routine
0
0 103
文章 姚 鑫 · 二月 13, 2021 2m read

第三十三章 Caché 变量大全 $ZMODE 变量

包含当前I/O设备打开参数。

大纲

$ZMODE
$ZM

描述

$ZMODE包含使用OPENUSE命令为当前设备指定的参数。返回的字符串包含用于以规范形式打开当前I/O设备的参数。这些参数值由反斜杠分隔符分隔。TCP/IP IO上的开放参数(如“M”)被规范化为“PSTE”“Y”“K”参数值始终放在最后。

不能使用SET命令修改此特殊变量。尝试这样做会导致<SYNTAX>错误。

示例

以下示例使用$ZMODE返回当前设备的参数:

/// d ##class(PHA.TEST.SpecialVariables).ZMODE()
ClassMethod ZMODE()
{
	WRITE !,"当前的开放模式有: ",$PIECE($ZMODE,"\")
	WRITE !,"NLS集合为: ",$PIECE($ZMODE,"\",2)
	WRITE !,"网络编码是: ",$PIECE($ZMODE,"\",4)
}
  • 终端
DHC-APP> d ##class(PHA.TEST.SpecialVariables).ZMODE()
 
当前的开放模式有: RY
NLS集合为: Latin1
网络编码是: GB18030
  • 控制台
0
0 116
文章 姚 鑫 · 二月 12, 2021 2m read

第三十二章 Caché 变量大全 $ZJOB 变量

包含JOB状态信息。

大纲

$ZJOB
$ZJ

描述

$ZJOB包含一个数字,其中每个位代表作业状态的一个特定方面。 $ZJOB返回一个整数,该整数由设置的状态位的总和组成。例如,如果$ZJOB = 5,则表示设置了1位和4位。

要测试单个$ZJOB位设置,可以使用整数除(\)和模(#)运算符。例如,$ZJOB\x#2,其中x是位号。下表显示了位的布局(按位的位置值)、其设置和含义:

BitSet toMeaning
11Job 从终端提示符启动。
10Jobroutine开始.
21JobJOB命令启动.
20Job 通过在终端提示下登录或从例程登录开始。
41<INTERRUPT> 已启用。 CTRL-C可以中断正在运行的程序。
40<INTERRUPT>被禁用,但已通过OPENUSE命令显式启用了<INTERRUPT>的终端行除外。
81<Interrupt>已收到并挂起。
80未收到<Interrupt>。值8由OPENUSE命令以及CTRL-C引起的错误陷阱清除。
10241无论其他条件如何,日志记录都会被禁用。
10240如果其他条件指示日志记录,则为此作业启用日志记录。
1
0 142
文章 姚 鑫 · 二月 11, 2021 1m read

第三十一章 Caché 变量大全 $ZIO 变量

包含有关当前终端I / O设备的信息。

$ZIO
$ZI

描述

$ZIO包含有关当前I / O设备的信息。

对于作为终端的终端设备,$ZIO包含字符串TRM:。如果当前终端设备是远程连接的,则$ZIO包含有关远程连接的信息。

对于通过TELNET连接的终端设备,$ZIO包含以下内容:host | port

参数描述
host远程主机IP地址,格式为IPv4:nnn.nnn.nnn.nnn(其中nnn是十进制数字)或IPv6格式:h:h:h:h:h:h:h:h,其中h为十六进制数。
por远程IP端口号。

这两个值由竖线字符分隔。例如127.0.0.1 | 23

如果当前设备不是终端:

  • 如果是文件,则$ZIO包含文件的完整规范路径名。
  • 如果不是文件,则$ZIO包含空字符串。

以下示例返回当前设备信息:

/// d ##class(PHA.TEST.SpecialVariables).ZIO()
ClassMethod ZIO()
{
   SET x = $CASE($ZIO,
				"TRM:":"终端",
				"CON:":"控制台",
				"":"既不是终端也不是文件")
   WRITE "当前设备是 ",x
}
0
0 128
文章 姚 鑫 · 二月 10, 2021 1m read

第三十章 Caché 变量大全 $ZHOROLOG 变量

包含自Caché启动以来经过的秒数。

大纲

$ZHOROLOG
$ZH

描述

$ZHOROLOG包含自最近的Caché启动以来经过的秒数。这是一个计数,与时钟变化和日期范围无关。该值表示为浮点数,表示秒和秒的分数。小数位数与平台有关。 $ZHOROLOG在此小数部分截断尾随零。

不能使用SET命令修改此特殊变量。尝试这样做会导致<SYNTAX>错误。

注意:由于Windows操作系统的限制,使Windows系统进入休眠或待机模式可能会导致$ZHOROLOG返回不可预测的值。此问题不会影响$HOROLOG$ZTIMESTAMP值。

示例

本示例输出当前的$ZHOROLOG值。

DHC-APP>WRITE $ZHOROLOG
94657.76444

以下示例说明如何使用$ZHOROLOG计时事件并进行基准测试。本示例通过100次执行对应用程序进行计时,然后找到平均运行时间。

0
0 93
文章 姚 鑫 · 二月 9, 2021 9m read

第二十九章 Caché 变量大全 $ZERROR 变量

包含上一个错误的名称和位置。

大纲

$ZERROR
$ZE 

描述

$ZERROR包含最新错误的名称,最新错误的位置(在适用的情况下)以及(对于某些错误代码而言)有关导致错误的原因的其他信息。 $ZERROR始终包含相应语言模式的最新错误。

$ZERROR值旨在错误后立即使用。由于$ZERROR值可能不会在例程调用中保留,因此希望保留$ZERROR值以供以后使用的用户应将其复制到变量中。强烈建议用户在使用后立即将$ZERROR设置为空字符串(“”)。

$ZERROR中包含的字符串可以是以下任何一种形式:

<error>
<error>entryref
<error> info
<error>entryref info
  • <error> 错误名称。错误名称始终以全部大写字母返回,并用尖括号括起来。它可能包含空格。
  • entryref 对发生错误的代码行的引用。它由标签名称和距该标签的行偏移量组成,后跟^和程序名称。此entryref紧跟在错误名称的右尖括号之后。从终端调用$ZERROR时,此entryref信息没有意义,因此不会返回。对最近使用ZLOAD加载到例程缓冲区中的例程的引用。
  • info 特定于某些错误类型的附加信息(见下表)。此信息与<error><error>entryref之间用空格分隔。如果有多个组件要提供信息,则用逗号分隔。
0
0 119
文章 姚 鑫 · 二月 8, 2021 1m read

第二十八章 Caché 变量大全 $ZEOS 变量

读取压缩流时包含流结束状态。

大纲

$ZEOS

大纲

$Zeos包含一个布尔值,该值指示是否已接收并处理传入(压缩)流的末尾。如果$Zeos=1,则已接收到压缩数据流的流结束。仅当流压缩/解压缩处于活动状态(/GZIP=1)时,$ZOS值才有意义。可以通过从OPENUSE命令发出/GZIP命令关键字来激活流压缩/解压缩。

在通过将设置更改为/GZIP=0来禁用流压缩/解压缩之前,必须检查$Zeos值。如果在处理压缩传入流的末尾之前发出/GZIP=0USE命令,则使用会生成<Translate>错误。如果尚未到达压缩传入流的末尾($ZEOS=0),则必须发出块读取命令,直到$ZEOS=1

不能使用SET命令修改此特殊变量。尝试这样做会导致<SYNTAX>错误。

示例

以下示例以/GZIP=1(启用压缩)开头。它执行一个循环,测试$ZEOS=1,并发出读取命令,直到$ZEOS=1。然后,它可以设置/GZIP=0(禁用压缩):

  OPEN dev:/GZIP=1
  READ block#length
  FOR {QUIT:$ZEOS
       READ x:10 }
  USE dev:/GZIP=0
0
0 84