首页 > 其他分享 >[PG] Another example of FCSA

[PG] Another example of FCSA

时间:2023-11-02 20:56:52浏览次数:36  
标签:1700 1043 FCSA 23 numeric 193341 PG Another 25

function actual arguments and cadidates

T = (193341, 23, 23)
C = [(193341, 1700, 1700), (1700, 1700, 1700), (1043, 1700, 1700)]

query type information,

select oid, typname, typcategory typcat, typispreferred preferred from pg_type where oid in (193341, 23, 1700, 1043);

its output,

  oid   | typname | typcat | preferred
--------+---------+--------+-----------
     23 | int4    | N      | f
   1043 | varchar | S      | f
   1700 | numeric | N      | f
 193341 | clob    | S      | f

check steps:

  1. no exact match
  2. implicitly convert input function arguments to candidate function arguments

CanCoerceType(T, C0)?

193341 is 193341
23 can be numeric
23 can be numeric

Keep C0

CanCoerceType(T, C1)?

193341 can not be numeric

Throw C1

CanCoerceType(T, C2)?

193341 can be 1043
23 can be numeric
23 can be numeric

Keep C1.

Now, state changes to,

T = (193341, 23, 23)
C = [(1043, 1700, 1700), (193341, 1700, 1700)]
  1. get the base type oid of input function arguments
193341(clob) -> 25(text)
23(int4) -> 23
23 -> 23

B = (25, 23, 23)
  1. comparing C with B using scoring algorithm
B = (25, 23, 23)
C = [(1043, 1700, 1700), (193341, 1700, 1700)]
B = 25,     23,    23
C = 1043,   1700,  1700
S = 0,      0,     0

S1 = 0

Keep it now

B = 25,     23,    23
C = 193341, 1700,  1700
S = 0,      0,     0

S2 = 0

S2 equals S1, keep it also.

Final candidates,

C = [(1043, 1700, 1700), (193341, 1700, 1700)]
  1. get the type category of input function arguments
B = (25, 23, 23) -> K = ('S', 'N', 'N')
  1. comparing B with C using K.

B with C0

B =         25,     23,    23
C0 =        1043,   1700,  1700
Ck =        'S',    'N',   'N'
K  =        'S',    'N',   'N'
Preferred = f,      f,     f
S =         0,      0,     0

S1 = S(0) + S(1) + S(2) = 0

Keep it now.

B with C1

B =         25,     23,    23
C1 =        193341, 1700,  1700
Ck =        'S',    'N',   'N'
K  =        'S',    'N',   'N'
Preferred = f,      f,     f
S =         0,      0,     0

S2 = S(0) + S(1) + S(2) = 0

S2 equals to S1,

Candidates not changed,

C = [(1043, 1700, 1700), (193341, 1700, 1700)]

Still have unresolved function candidaes and have no unkown input arguments. The algorithm fails!!!

标签:1700,1043,FCSA,23,numeric,193341,PG,Another,25
From: https://www.cnblogs.com/lddcool/p/17806287.html

相关文章

  • 欢迎回到秋田《蜡笔小新 煤炭镇的小白》将为PG电子游戏玩家带来新创的试玩体验
    Neos的新作《蜡笔小新煤炭镇的小白》クレヨンしんちゃん「炭の町のシロ」即将于2024年2月22日登.陆NintendoSwitch,为该系列的新续作,故事背景从野原一家前往秋田旅行,穿越两个不同世界展开冒险。游戏将包括经.典角色如野原一家、小新和小白,以及一些全新创作的电子游戏角色,为PGSOFT......
  • m基于FPGA的8FSK调制解调系统verilog实现,包含testbench测试文件
    1.算法仿真效果vivado2019.2仿真结果如下:    将波形放大,看到如下效果:    2.算法涉及理论知识概要       8FSK(8-FrequencyShiftKeying)是一种常用的数字调制方法,它通过在不同的频率上发送二进制数据来进行通信。8FSK在通信系统中被广泛应用,因为它具......
  • 修改token有效期工具 Another Redis Desktop Manager
     1、获取到redis的host和密码登录2、根据要使用的token查询出数据,修改TTL字段值未-1保存即可。 ......
  • M3版MacBook Pro太空黑真的不沾指纹吗?PGSOFT游戏官方体验解答
    苹果发布了新一代的M3版14英寸和16英寸MacBookPro笔记本电脑,其中的一项引人注目的亮点是全新的太空黑配色。苹果声称,这新颜色采用了突破性的化学原理,能够形成阳极氧化密封,从而减少指纹的沾附,这让PG电子游戏玩家们都非常好奇,这个说法是否属实。此前,苹果在MacBookAir上推出了午.夜......
  • [PG] Function Candidates Selection Algorithm
    FunctionCandidatesSelectionAlgorithmenvironmentsetupInlightdborafceextension,executesqlbelow,CREATEDOMAINoracle.clobASTEXT;--version1CREATEFUNCTIONoracle.btrim(text,text)RETURNStextAS'btrim'LANGUAGEinternalSTRICT......
  • 《阿凡达:潘多拉边境》PG 电子试玩:重回电影世界的游戏体验
    Ubisoft即将在今年12月发布《阿凡达:潘多拉边境》,这款游戏是基于《阿凡达》电影改编而来,PGSOFT电子游戏玩家将能够深入探索潘朵拉星。游戏延续了电影的宇宙观,玩家需要扮演纳美人,学习他们的文化和价值观。初期体验表明,游戏强调带入感,允许玩家体验与纳美人亲近自然和与生物互动的情......
  • 【FPGA】计数器 —— 时序逻辑
    小边想要日更!盲猜明天就会断hh,因为明晚我应该在疯狂看计网。。文章目录1.设计输入2.功能仿真3.板子调试时序逻辑基本概念:输出还与时钟信号相关D触发器-也就是有“记忆”特性,能存储电平状态计数器基本概念,基本4位加法器结构图计数值与技术时间之间的关系1.设计输入设计一个......
  • 【FPGA】 3-8译码器 —— 组合逻辑 | 熟悉语法及开发环境
    文章目录1.设计输入2.分析综合3.功能仿真4.板爷调试继续熟悉基于vivado的FPGA开发流程。。学习一些新语法3-8译码器的应用我们接下来还会用到~创建工程观众老爷们别管了,咱板子也不一定一样~1.设计输入编码画框图,vivado支持较弱使用IP,我们今天暂时不用哦~添加DesignSource......
  • 作物生长模型CropGrow
    目录作物生长模型概述研究思路研究进展未来发展作物生长模型概述农业信息技术在世界农业领域的兴起始于20世纪70年代末,以作物生长模型(cropgrowthmodel)的成功研制和应用为突出代表。作物生长模型以作物生长发育的内在规律为基础,综合作物遗传潜力、环境效应、调控技术之间的因......
  • PostgreSQL pgBackRest 是最好的PG备份工具 ? (深入一些疑难问题 2)
    每天感悟突然想愤怒的时候,或别人认为你应该愤怒的时候,你不在愤怒,而是能理智的或冰冷的分析出为什么,原因是什么,并且尝试把自己放到他的位置去看明白原理或根本,恭喜你又升级了上次在安装和简单的实现了备份后,产生了很多的问题,基于这些问题我们持续的开始针对pgbackrest进行研究和发现......