Hello, I think what you said is right, it should be the problem. But I don't
know what to do in the lexical analysis system of plpgsql to solve this problem.
------------------ 原始邮件 ------------------
发件人:
"Tom Lane"
<[email protected]>;
发送时间: 2021年11月12日(星期五) 中午1:42
收件人: "孤傲小二~阿沐"<[email protected]>;
抄送: "pgsql-general"<[email protected]>;
主题: Re: I added a √ operator, the sqrt function is still used internally,
but now there is a problem, it affects the := and .. operators of the database
"=?gb18030?B?ucKwwdChtv6hq7Ci4+U=?=" <[email protected]> writes:
> # Description of Requirement:
> 1¡¢select ¡Ì num1; function
> 2¡¢The value of num1 is required to be: [0,9223372036854775807]
> 3¡¢¡Ì The operation does not allow decimals
Looks suspiciously like a homework assignment.
> I have now developed this feature on the PostgreSQL 14.0 kernel! But it
affects the original function of the database:
> #&nbsp;Affected place
> 1¡¢ := assignment operator
> 2¡¢ Operator in 1..10
Today's lesson is: read the comments on the code you're modifying.
Notably on gram.y's list of "non keyword" tokens:
* Non-keyword token types. These are hard-wired into the "flex"
lexer.
* They must be listed first so that their numeric codes do not depend on
* the set of keywords. PL/pgSQL depends on this so that it can
share the
* same lexer. If you add/change tokens here, fix PL/pgSQL to match!
Since you didn't do that, PL/pgSQL is confused about the token codes
in use for DOT_DOT and so on.
regards, tom lane