8.21. Pseudo-Types

8.21.伪类型

The PostgreSQL type system contains a number of special-purpose entries that are collectively called pseudo-types. A pseudo-type cannot be used as a column data type, but it can be used to declare a function's argument or result type. Each of the available pseudo-types is useful in situations where a function's behavior does not correspond to simply taking or returning a value of a specific SQL data type. Table 8.25 lists the existing pseudo-types.

PostgreSQL类型系统包含许多特殊用途的项,统称为伪类型。伪类型不能用作列数据类型,但可以用来声明函数的参数或结果类型。每个可用的伪类型在函数的行为不仅仅对应于获取或返回特定SQL数据类型的值的情况下很有用。 表8.27列出了现有的伪类型。

Functions coded in C (whether built-in or dynamically loaded) can be declared to accept or return any of these pseudo data types. It is up to the function author to ensure that the function will behave safely when a pseudo-type is used as an argument type.

用C编码的函数(无论是内置的还是动态加载的)可以接受或返回任何这些伪数据类型。函数编写者有责任确保在将伪类型用作参数类型时该函数可安全地运行。

Functions coded in procedural languages can use pseudo-types only as allowed by their implementation languages. At present most procedural languages forbid use of a pseudo-type as an argument type, and allow only void and record as a result type (plus trigger or event_trigger when the function is used as a trigger or event trigger). Some also support polymorphic functions using the types anyelement, anyarray, anynonarray, anyenum, and anyrange.

用过程语言编码的函数只能在其实现语言允许的情况下使用伪类型。目前,大多数程序语言都禁止将伪类型用作参数类型,并且仅允许将void和record作为结果类型(当将函数用作触发器或事件触发器时,则添加trigger或event_trigger)。一些还使用类型anyelement,anyarray,anynonarray,anyenum和anyrange支持多态函数。

The internal pseudo-type is used to declare functions that are meant only to be called internally by the database system, and not by direct invocation in an SQL query. If a function has at least one internal-type argument then it cannot be called from SQL. To preserve the type safety of this restriction it is important to follow this coding rule: do not create any function that is declared to return internal unless it has at least one internal argument.

内部伪类型用于声明仅在数据库系统内部进行调用的函数,而不是在SQL查询中直接调用的函数。如果一个函数至少有一个内部类型参数,则不能从SQL调用它。 为了保持此限制的类型安全性,请务必遵循此编码规则:请勿创建任何声明为返回内部函数的函数,除非该函数至少具有一个内部参数。

8.21. Pseudo-Types相关推荐

  1. php 数据类型伪类型,PHP之伪类型与变量

    本文档中使用的伪类型与变量 伪类型(pseudo -types)是PHP文档里用于指示参数可以使用的类型和值, 请注意,它们不是PHP语言里原生类型, 所以不能把伪类型用于自定义函数里面的类型约束(t ...

  2. 中科院大学计算机科学与技术王伟强,李振宇 - 中国科学院大学 - 计算机科学与技术学院...

    个人简介 教育背景 2003-09--2009-01 中国科学院计算技术研究所 工学博士 1999-09--2003-07 南开大学 工学学士 工作简历 2017-10~现在, 中国科学院计算技术研究 ...

  3. 个人网站搭建保姆级教程(2)- 前端工程umi脚手架搭建

    前言 最近搞了个服务器,想着自己做个网站的脚手架,因为自己是纯前端新手,而且半路出家,中途踩了好多坑,准备写5篇给各位大佬们分享一下,如何从0搭建个人网站 服务器购买与环境搭建 前端工程umi脚手架搭 ...

  4. Nginx学习(一)——Nginx基础知识

    目录 1.Nginx学习(一)--Nginx基础知识 2.Nginx学习(二)--配置文件.反向代理与负载均衡 3.Nginx搭建HTTPS服务器 一.初试Nginx 一.下载安装 1.安装必要的一些 ...

  5. 【转】Android4.4 之Bluetooth整理

    原文网址:http://www.cnblogs.com/shed/p/3737016.html Android 4.4上蓝牙协议栈采用的是BRCM和Google共同开发的bluedroid,代替了之前 ...

  6. 21个让React 开发更高效更有趣的工具

    原文:medium.com/better-prog- 译者:前端小智 为了保证的可读性,本文采用意译而非直译. 想优质文章请猛戳GitHub博客,一年百来篇优质文章等着你! 下列工具中的重要性与排序无 ...

  7. 定义交货输出条件类型(Output Types)

    一.说明 在向客户销售过程中,创建交货单后,通常会打印一张让用户去库房领料的通知单,这涉及到输出控制(Output Control).SAP的输出不仅是打印,还包含邮件.传真.EDI等.输出也是SAP ...

  8. mysql timestamp 插入null报错_读MySQL 5.7文档11.2 Date and Time Data Types总结

    作者:魏新平,知数堂第5期MySQL实战班学员,第10期MySQL优化班学员,现任职助教. 读MySQL5.7文档11.2 Date and Time Data Types MySQL的时间类型分为D ...

  9. 今日arXiv精选 | 21篇EMNLP 2021最新论文

     关于 #今日arXiv精选  这是「AI 学术前沿」旗下的一档栏目,编辑将每日从arXiv中精选高质量论文,推送给读者. Efficient Domain Adaptation of Languag ...

  10. Silverlight/Windows8/WPF/WP7/HTML5周学习导读(10月15日-10月21日)

    Silverlight/Windows8/WPF/WP7/HTML5周学习导读(10月15日-10月21日) 本周Silverlight学习资源更新 Silverlight + DomainServi ...

最新文章

  1. Android SlideAndDragListView,一个可排序可滑动item的ListView
  2. RuntimeError: Expected object of backend CUDA but got backend CPU for argument #4 'mat1'
  3. CMU 11642 Search Engines - 大纲梳理
  4. nginx html 替换,Nginx 服务内容替换功能(sub模块)
  5. 非对称加密 公钥私钥_选择Java加密算法第3部分–公钥/私钥非对称加密
  6. bzoj2060[USACO2010,Nov]Visiting Cows拜访奶牛
  7. java实现qq抢红包_Java实现抢红包功用
  8. 关于GaussDB(DWS)的正则表达式知多少?人人都能看得懂的详解来了!
  9. 我为什么开始编程?(2015.7-2016.10阶段性总结)
  10. 英伟达:今年显卡将继续供不应求 尽量保证供应普通玩家
  11. phpstorm 设置注释
  12. JVM内存模型和java内存模型
  13. 超简单的自定义个性化网页鼠标光标样式 html+css+js
  14. 压垮硬盘的最后一次备份
  15. 开根号的笔算算法图解_用笔算开根号
  16. 腾讯敏捷开发及快速迭代
  17. 搭建excel在线编辑服务器,开源免费!自动动手搭建一款更加强大的在线Excel工具...
  18. cocos2d-x 移动MM平台SDK接入
  19. LaTeX模板——英文写作
  20. 9个面向前端开发者的有用VSCode 插件工具

热门文章

  1. auto.js实现支付宝蚂蚁森林自动收能量、自动偷能量教程,最简单的收能量脚本,MIUI 10亲测可用
  2. 茜在人名可以读xi吗_带茜字的女孩名字
  3. 删除电脑属性制造商_修改Win7系统GHO中OEM信息图文教程
  4. spec之install
  5. rⅰd的意思_自动挡车型上的P、R、N、D、S、L是什么意思?你懂吗?
  6. 浅谈什么是 云原生
  7. Flutter 自定义TabBar指示器(indicator)实现秒杀UI样式
  8. P1564 膜拜 题解
  9. 本地IDEA连接服务器的Redis报错处理
  10. 计算机发展趋势 网络化,计算机的发展趋势表现在多极化网络化等几个方面