全部时间
文章
· 十一月 16, 2021 阅读大约需 4 分钟
第七十八章 SQL命令 TUNE TABLE

第七十八章 SQL命令 TUNE TABLE

基于代表性数据调优表。

大纲

TUNE TABLE tablename [ tune_options ]

参数

  • tablename - 要调优的现有表的名称。
    表名可以是限定的(schema.table),也可以是非限定的(table)。
    非限定表名接受默认模式名。
  • tune_options - 可选—如果指定,一个或多个TUNE TABLE选项,以任意顺序指定,由空格分隔。
    这些tune_options不区分大小写。

描述

TUNE TABLE命令根据表中当前的数据对现有表进行调优。
该数据应该代表表完全填充时所期望的数据。

0 0
0 102
InterSystems 开发者社区汇聚了 24,826 位出色的开发者
InterSystems IRIS 程序员可以在这里学习、分享、了解最新动态、成长,以及收获快乐!

亲爱的开发者们,我们很高兴地跟大家分享一个好消息!

我们的社区全球注册会员突破10000名!中国开发者社区不到一年时间突破270人!增速全球第一!这是一个了不起的成就!感谢大家的支持🎊

在InterSystems,我们相信社区的力量。所以我们非常感谢你们在过去六年里所做的贡献,并期待未来的道路!

1 0
0 102
文章
· 七月 30, 2021 阅读大约需 3 分钟
外键关键字Internal,NoCheck,OnDelete,OnUpdate

第四十一章 外键关键字 - Internal

指定此外键定义是否为内部定义(不显示在类文档中)。

用法

要将此外键定义标记为内部,请使用以下语法:

ForeignKey keyname(key_props) References pkg.class(ref_index) [ Internal ];

否则,省略此关键字或将单词Not放在关键字的前面。

详解

内部类成员不会显示在类文档中。如果想让用户看到一个类,但不看到它的所有成员,这个关键字很有用。

默认

如果省略此关键字,此外键定义将显示在类文档中。

第四十二章 外键关键字 - NoCheck

指定是否应该检查这个外键约束。

用法

要防止检查该外键定义的约束,请使用以下语法:

0 0
0 102
文章
· 五月 13, 2021 阅读大约需 4 分钟
第五章 管理全局变量(二)

第五章 管理全局变量(二)

在全局变量中查找值

“查找全局变量字符串”页使可以在下标或选定全局变量的值中查找给定的字符串。

要访问和使用此页,请执行以下操作:

  1. 显示“全局变量”页。
  2. 选择要使用的全局变量。为此,请参阅“全局页简介”一节中的步骤2和3。
  3. 单击查找按钮。
  4. 对于查找内容,输入要搜索的字符串。
  5. (可选)清除大小写匹配。默认情况下,搜索区分大小写。
  6. 单击Find First或Find All。

然后,页面显示选定全局变量中下标或值包含给定字符串的第一个节点或所有节点。该表左侧显示了节点下标,右侧显示了相应的值。

  1. 如果使用的是Find First,请根据需要单击Find Next以查看下一个节点。
  2. 完成后,单击关闭窗口。

执行批量更换

注意:在进行任何编辑之前,请确保知道IRIS使用哪个全局系统,以及应用程序使用哪个全局系统;参见“一般建议”此选项会永久更改数据。不建议在生产系统中使用。

0 0
0 102
文章
· 五月 8, 2021 阅读大约需 7 分钟
第三章 使用多维存储(全局变量)(四)

第三章 使用多维存储(全局变量)(四)

管理事务

InterSystems IRIS提供了使用全局变量实现完整事务处理所需的基本操作。
InterSystems IRIS对象和SQL自动利用这些特性。
如果直接将事务性数据写入全局变量,则可以使用这些操作。

事务命令是TSTART,它定义事务的开始;
TCOMMIT,它提交当前事务;
TROLLBACK,它将中止当前事务,并撤消自事务开始以来对全局变量所做的任何更改。

例如,下面的ObjectScript代码定义了事务的开始,设置了一些全局变量节点,然后根据ok的值提交或回滚事务:

0 0
0 102
文章
· 二月 21, 2021 阅读大约需 7 分钟
第四十三章 Caché 变量大全 $ZTIMEZONE 变量

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

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

大纲

$ZTIMEZONE
$ZTZ

描述

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

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

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

0 0
0 102
文章
· 九月 8, 2023 阅读大约需 2 分钟
第二十二章 Classes - 调用类方法的快捷方式

第二十二章 Classes - 调用类方法的快捷方式

调用类方法的快捷方式

使用 ObjectScript 调用类方法时,在以下情况下可以省略包(或更高级别的包):
- 引用是在一个类内,并且被引用的类在同一个包或子包中。
- 引用位于类内,并且该类使用 IMPORT 指令导入包含引用的类的包或子包。
- 该引用位于方法内,并且该方法使用 IMPORT 指令导入包含引用的类的包或子包。

ObjectScriptPython 调用类方法时,在以下情况下可以省略包(或更高级别的包):

0 0
0 101

第五十八章 镜像中断程序 - 主要故障转移成员的计划外隔离

主要故障转移成员的计划外隔离

如自动故障转移机制中所述,当主节点同时与备份节点和仲裁节点失去联系时,它会进入无限期的故障状态并且不能再作为主节点运行。通常,发生这种情况时,备份会接管并成为主要的。当主服务器与备份服务器的连接恢复时,备份服务器强制关闭主服务器;或者,可以在恢复连接之前自行强制关闭主服务器。

但是,如果一个网络事件(或一系列网络事件)导致故障转移成员和仲裁器同时(或几乎同时)彼此失去联系,则可能没有主节点,因为备份无法接管并且主节点不再存在作为主要操作。这种情况显示为自动故障转移机制详细部分中仲裁模式下对丢失连接的镜像响应表中的最终方案。当主数据库变得孤立并且备份由于错误而无法接管时,可能会发生类似的情况。

当这些情况发生时,有以下选择:

1 0
1 101

2022年9月5日-10月24日(北京时间),我们正在举办🏆InterSystems开发者社区中文版首届技术征文大赛🏆(点击链接进入参赛页面,浏览所有参赛文章!投票截止至10月23日,你的支持与喜爱,是优秀作品获得“开发者社区奖”的关键!我们先来看看目前作品排名情况吧!

0 0
0 101
文章
· 八月 28, 2022 阅读大约需 2 分钟
第十五章 配置工作队列管理器类别

[toc]

第十五章 配置工作队列管理器类别

工作队列管理器使能够以编程方式将工作分配给多个并发进程,以提高性能。

当使用工作队列管理器初始化一组辅助job时,可以指定提供辅助job的类别。
类别是一个独立的worker job
例如,假设为系统提供的SQL类别分配了最多8worker
然后,假设为与构建DeepSee仪表板相关的进程创建了一个类别,并为该类别分配最多4worker
如果在给定的时间内SQL池中的所有工作线程都被占用,DeepSee类别中的工作线程仍然可以立即处理工作项。

系统提供了两个不能删除的类别:DefaultSQL。默认情况下,这些类别的最大工作线程数是动态的,相当于系统可用内核数的两倍。

0 0
0 101
文章
· 八月 2, 2022 阅读大约需 3 分钟
第十五章 源代码文件 REST API 简介

第十五章 源代码文件 REST API 简介

源代码文件 REST API 简介

REST API 提供对源代码文件的访问。我们开发此 API 是为了允许 Atelier(我们基于 EclipseIDE)访问 IRIS 服务器上的 IRIS 代码文件。可以使用 API 执行访问 IRIS 代码文件所需的操作。这些行动包括:
- 获取 IRIS 实例上可用的命名空间
- 查找命名空间中定义的类定义和例程
- 获取类和例程的文本定义
- 更新类定义或例程
- 创建新的类定义或例程
- 删除类定义或例程
- 编译 IRIS 类或例程
- 通过对表执行 SQL 查询来发现 IRIS 环境的属性

0 0
0 101
文章
· 五月 28, 2022 阅读大约需 2 分钟
第155章 SQL函数 UPPER

第155章 SQL函数 UPPER

将字符串表达式中的所有小写字母转换为大写字母的大小写转换函数。

大纲

UPPER(expression)

UPPER expression

参数

  • expression - 字符串表达式,可以是列名、字符串文字或另一个函数的结果,其中基础数据类型可以表示为任何字符类型(例如 CHARVARCHAR)。

描述

UPPER 函数将所有字母字符转换为大写字母。这是 LOWER 函数的反函数。 UPPER 保留不变的数字、标点符号和前导或尾随空格。

UPPER 不强制将数字解释为字符串。 SQL 从数字中删除前导零和尾随零。指定为字符串的数字保留前导零和尾随零。

也可以使用 UPPER() 方法调用从 ObjectScript 调用此函数:

0 0
0 101
文章
· 一月 14, 2022 阅读大约需 2 分钟
第二十四章 SQL函数 CEILING

第二十四章 SQL函数 CEILING

数值函数,返回大于或等于给定数值表达式的最小整数。

大纲

CEILING(numeric-expression)

{fn CEILING(numeric-expression)}

参数

  • numeric-expression - 要计算其上限的数字。

CELING返回与NUMERIC-EXPRESSION相同的数据类型。

描述

CELING返回大于或等于NUMERIC-EXPRESSION的最接近的整数值。返回值的小数位数为0。当numeric-expressionNULL值、空字符串(‘’)或任何非数字字符串时,CELING返回NULL

0 0
0 101
文章
· 十二月 12, 2021 阅读大约需 3 分钟
第十三章 SQL谓词 IS JSON

第十三章 SQL谓词 IS JSON

确定数据值是否为JSON格式。

注意:IRIS版本可用。其他不行。

大纲

scalar-expression IS [NOT] JSON [keyword]

参数

  • scalar-expression - 正在检查JSON格式的标量表达式。
  • keyword - 可选—可选值、标量、数组或对象。
    默认为VALUE

描述

IS JSON谓词确定数据值是否为JSON格式。
下面的示例确定谓词是否是格式化正确的JSON字符串,是JSON对象还是JSON数组:

0 0
0 101
文章
· 十一月 2, 2021 阅读大约需 5 分钟
第六十四章 SQL命令 ORDER BY(二)

第六十四章 SQL命令 ORDER BY(二)

示例

下面的示例按照RowID的反向顺序对记录进行排序:

SELECT %ID,Name
FROM Sample.Person
ORDER BY %ID DESC

下面两个示例展示了在ORDER BY子句中指定排序列的不同方法。
下面两个查询是等价的;
第一种方法使用列名作为排序项,第二种方法使用列号(选择项列表中项目的序号):

0 0
0 101
文章
· 九月 29, 2021 阅读大约需 1 分钟
第三十章 SQL命令 DROP AGGREGATE

第三十章 SQL命令 DROP AGGREGATE

删除用户定义的聚合函数。

大纲

DROP AGGREGATE name

参数

  • name - 要删除的用户定义聚合函数的名称。名称可以是限定的(schema.aggname),也可以是非限定的(aggname)。非限定名称采用默认架构名称。

描述

DROP Aggregate命令删除用户定义的聚合函数(UDAF)。使用CREATE Aggregate命令创建用户定义的聚合函数。

如果尝试删除不存在的UDAF,SQL会发出SQLCODE-428错误,并显示如下消息:User Defined Aggregate Function Sample.SecondHighest does not exist.

0 0
0 101
文章
· 九月 3, 2021 阅读大约需 3 分钟
第五章 SQL命令 BUILD INDEX

第五章 SQL命令 BUILD INDEX

用数据填充一个或多个索引。

大纲

BUILD INDEX [%NOLOCK] [%NOJOURN] FOR TABLE table-name [INDEX index-name [,index-name]]

BUILD INDEX [%NOLOCK] [%NOJOURN] FOR SCHEMA schema-name

BUILD INDEX [%NOLOCK] [%NOJOURN] FOR ALL

参数

  • FOR TABLE table-name - 已存在表的名称。
    表名可以是限定的(schema.table),也可以是非限定的(table)。
    非限定表名接受默认模式名。
0 0
0 101
文章
· 六月 22, 2021 阅读大约需 5 分钟
第十五章 XML检查属性

第十五章 XML检查属性

检查属性的基本方法

可以使用%XML.Node的以下方法。以检查当前节点的属性。
- AttributeDefined() 如果当前元素具有具有给定名称的属性,则返回非零(TRUE)。
- FirstAttributeName() 返回当前元素的第一个属性的属性名称。
- GetAttributeValue() 返回给定属性的值。如果元素没有该属性,则该方法返回NULL。
- GetNumberAttributes() 返回当前元素的属性数。
- LastAttributeName() 返回当前元素的最后一个属性的属性名称。
- NextAttributeName() 在给定属性名称的情况下,无论指定的属性是否有效,此方法都会按排序顺序返回下一个属性的名称。
- PreviousAttributeName() 在给定属性名称的情况下,无论指定的属性是否有效,此方法都会按排序顺序返回上一个属性的名称。

0 0
0 101
文章
· 五月 10, 2021 阅读大约需 5 分钟
第四章 多维存储的SQL和对象使用(二)

第四章 多维存储的SQL和对象使用(二)

索引

持久化类可以定义一个或多个索引;其他数据结构用于提高操作(如排序或条件搜索)的效率。InterSystems SQL在执行查询时使用这些索引。InterSystems IRIS对象和SQL在执行INSERTUPDATEDELETE操作时自动维护索引内的正确值。

标准索引的存储结构

标准索引将一个或多个属性值的有序集与包含属性的对象的对象ID值相关联。

例如,假设我们定义了一个简单的持久化MyApp.Person类,该类具有两个文本属性和一个关于其Name属性的索引:

0 0
0 101
文章
· 九月 17, 2023 阅读大约需 2 分钟
第三十章 Classes - 方法生成器

第三十章 Classes - 方法生成器

方法生成器

方法生成器是类编译器在类编译期间调用的程序。它的输出是该方法的实际运行时实现。方法生成器提供了一种继承方法的方法,可以生成根据继承类或属性的需要定制的高性能、专用代码。在 IRIS 库中,方法生成器广泛用于数据类型和存储类。

Class Queries

类可以包含类查询。类查询定义可由该类使用的 SQL 查询,并指定用作查询容器的类。下面显示了一个示例:

0 0
0 100
文章
· 八月 30, 2023 阅读大约需 1 分钟
使用代码获取数据库剩余空间

大家可以通过InterSystems IRIS 管理门户SMP查看当前数据库剩余空间,路径是 Management Portal: System Operation > Database

当然大家也可以通过下面的代码查看数据库的可用磁盘空间:

0 0
0 100
文章
· 十月 11, 2022 阅读大约需 3 分钟
第十三章 CSP 中的 HTTP 请求 - CSP 服务器 URL 和类名称解析

第十三章 CSP 中的 HTTP 请求 - CSP 服务器事件流

CSP 服务器收到来自 CSP 网关的请求时,它会确定该请求是针对静态页面还是针对 CSP 类的。如果是静态页面,它会立即将页面发回。如果是针对 CSP 类,它会执行以下操作:

  1. 确定此请求属于哪个会话。如果没有,它会启动一个新会话。
  2. 确保在正确的 Caché 命名空间中处理请求。
  3. 确保对象中正确的 %CSP.Session可用,并根据 HTTP 请求中包含的信息在对象中创建 %CSP.Request 的实例。如果需要任何解密,它也会这样做。
  4. 构造 %CSP.Response 对象以允许应用程序修改响应标头。
  5. 确定应由哪个类处理请求并调用其 Page 方法(该方法又调用 OnPage 回调方法)。

CSP 服务器 URL 和类名称解析

0 0
0 100

开发者社区的同学们,大家好!

我们一直以来都有一个想法——改进收集、分析和回应开发者社区成员们的产品改进请求的过程。我们知道,我们需要一个良好的用户体验,甚至更好的内部流程,来确保收集、听取和响应最好的想法。现在,这个想法终于实现了!

我们在此向您介绍 InterSystems官方反馈门户

💡 >> InterSystems Ideas << 💡

0 0
0 100

开发者们,大家好!

在此向您介绍开发者社区的一个新特性—— InterSystems开发者关键问题(Key Questions).

我们增加了一个新的 #Key Question 标签(#关键问题),用以显著标识与InterSystems数据平台有关的、影响重大的提问/问题。

每个月,InterSystems专家会选择一些这类问题,提出这些问题的社区成员将被授予荣誉奖励!

有哪些荣誉呢?详情如下!

0 0
0 100
文章
· 七月 28, 2022 阅读大约需 4 分钟
第十章 发现和记录 REST API

第十章 发现和记录 REST API

本章讨论如何发现实例上可用的 REST 服务以及如何为 REST 服务生成文档。

使用 /api/mgmnt 服务发现 REST 服务

/api/mgmnt 服务包括可用于发现 REST 服务类和启用 RESTWeb 应用程序的调用。

发现 REST 服务

要使用 /api/mgmnt 服务来发现实例上可用的 REST 服务,请使用以下 REST 调用:

0 0
0 100
文章
· 七月 21, 2022 阅读大约需 5 分钟
DeepSee 的开发 - 第四部分 - 创建主题区

一个主题区是一个子立方体,可以选择覆盖项目的名称。你定义一个主题区是为了使用户能够关注较小的数据集,出于安全原因或其他原因。本章讨论了以下主题。

简介

在本教程中,我们创建了两个主题区域,按邮政编码划分患者:

  • Patient Set A: 居住在邮政编码为32006, 32007, or 36711区域的患者
  • Patient Set B: 居住在邮政编码为34577 or 38928区域的患者

创建主题领域

要创建主题区域,请做以下工作。

0 0
0 100
文章
· 七月 5, 2022 阅读大约需 5 分钟
第十九章 使用工作队列管理器(二)

第十九章 使用工作队列管理器(二)

基本工作流程

可以通过执行以下步骤来使用工作队列管理器:

  1. ObjectScript 代码划分为工作单元,这些工作单元是满足特定要求的类方法或子例程。
  2. 创建一个工作队列,它是 %SYSTEM.WorkMgr 类的一个实例。为此,请调用 %SYSTEM.WorkMgr 类的 %New() 方法。该方法返回一个工作队列。

可以指定要使用的并行worker jobs的数量,也可以使用默认值,这取决于机器和操作系统。此外,如果已创建类别,则可以指定应从中获取job的类别。

创建工作队列时,工作队列管理器会创建以下工件:
- 包含有关工作队列的信息的全局变量,例如工作队列在哪个命名空间中运行
- 工作队列必须处理的序列化工作单元的位置和事件队列
- 在工作队列完成处理工作单元时创建的完成事件的位置和事件队列

0 0
0 100