CN113626465B - 数据库及在postgresql数据库中实现会话级变量的方法 - Google Patents

数据库及在postgresql数据库中实现会话级变量的方法 Download PDF

Info

Publication number
CN113626465B
CN113626465B CN202110908389.XA CN202110908389A CN113626465B CN 113626465 B CN113626465 B CN 113626465B CN 202110908389 A CN202110908389 A CN 202110908389A CN 113626465 B CN113626465 B CN 113626465B
Authority
CN
China
Prior art keywords
variable
session
database
value
mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110908389.XA
Other languages
English (en)
Other versions
CN113626465A (zh
Inventor
颜学彪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Highgo Base Software Co ltd
Original Assignee
Highgo Base Software Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Highgo Base Software Co ltd filed Critical Highgo Base Software Co ltd
Priority to CN202110908389.XA priority Critical patent/CN113626465B/zh
Publication of CN113626465A publication Critical patent/CN113626465A/zh
Application granted granted Critical
Publication of CN113626465B publication Critical patent/CN113626465B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/425Lexical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据库及在postgresql数据库中实现会话级变量的方法,所述数据库包括:第一工作模式和第二工作模式,在所述第一工作模式下,所述数据库通过“\set变量名值”命令给会话变量赋值、通过“:变量名”命令调用会话变量;在第二工作模式下,所述数据库通过“set@变量名:=值”命令给会话变量赋值、通过“@变量名”命令调用会话变量。本发明通过在工作中对两种模式进行切换使用,可以在数据库在处理会话变量时,通过选择对会话变量更适用的的工作模式,使数据库对会话变量的设计更加高效和可靠,切增强了数据库的兼容性、易用性,提升了应用的迁移效率。

Description

数据库及在postgresql数据库中实现会话级变量的方法
技术领域
本发明涉及数据库技术领域,尤其涉及一种数据库及在postgresql数据库中实现会话级变量的方法。
背景技术
现有的postgresql数据库的sql句都是在服务器端执行,连接服务器端则是通过客户端或客户端的接口例如JDBC等,现有的会话级变量只能在客户端工具psql中使用,不能在通过接口调用数据库的客户端中使用。会话变量即在当前数据库会话中使用的变量,当前会话结束后,变量将不再有效。psql中先通过\set给变量赋值,要使用变量时,通过“:变量名”的方式调用变量,数据库在处理\set命令和后续的调用变量时的处理都是在客户端上。psql中的变量仅支持声明和定义时改变变量的值,不支持在其他时候以任何方式修改。
发明内容
本发明实施例提供一种数据库及在postgresql数据库中实现会话级变量的方法,用以解决现有技术postgresql数据库中会话级变量只能在客户端工具psql中使用,不能在通过接口调用数据库的客户端中使用。
根据本发明实施例的适于在两种工作模式下运行的数据库,所述数据库的工作模式包括第一工作模式和第二工作模式,在所述第一工作模式下,所述数据库通过“\set变量名值”命令给会话变量赋值、通过“:变量名”命令调用会话变量;
在第二工作模式下,所述数据库通过“set@变量名:=值”命令给会话变量赋值、通过“@变量名”命令调用会话变量。
根据本发明的一些实施例,所述数据库兼容postgresql数据库和mysql数据库。
根据本发明的一些实施例,在所述第二工作模式下,所述数据库适于把所述会话变量存储在类型为HASH表的全局变量中,将所述会话变量的名存储在HASH表的键KEY中、所述会话变量的值以及所述会话变量的类型OID存储在HASH表的值VALUE中。
根据本发明实施例的在postgresql数据库中实现会话级变量的方法,所述方法基于上述数据库实现,包括:
在词法解析阶段新增正则表达式,以识别“@变量名”为会话变量;
在语法解析阶段增加赋值语法和调用语法,以通过“set@变量名:=值”命令给会话变量赋值、通过“@变量名”命令调用会话变量。
根据本发明的一些实施例,所述方法还包括:
把所述会话变量存储在类型为HASH表的全局变量中,将所述会话变量的名存储在HASH表的键KEY中、所述会话变量的值以及所述会话变量的类型OID存储在HASH表的值VALUE中。
根据本发明实施例的计算机可读存储介质,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现如上述所述的在postgresql数据库中实现会话级变量的方法的步骤。
采用本发明实施例,将会话变量保存在服务器端,赋值和使用都是通过SQL语句在服务器端调用和执行。会话变量与任何数据库编程接口无关,这样任何数据库编程接口都可以使用。本发明的设计与数据库内核的实现逻辑的无缝插接也让二次开发的稳定性和性能提供了绝对的保障。开发的效率也比平常数据字典式的设计方案提高一倍。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。在附图中:
图1是本发明实施例中会话变量声明与定义部分的流程示意图;
图2是本发明实施例中会话变量应用部分的流程示意图;
图3是本发明实施例中会话变量应用部分的流程示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明第一方面实施例提出一种适于在两种工作模式下运行的数据库。
所述数据库的工作模式包括第一工作模式和第二工作模式,在所述第一工作模式下,所述数据库通过“\set变量名值”命令给会话变量赋值、通过“:变量名”命令调用会话变量;
在第二工作模式下,所述数据库通过“set@变量名:=值”命令给会话变量赋值、通过“@变量名”命令调用会话变量。
所述两种模式可以在工作中进行切换,可以在数据库在处理会话变量时,通过选择对会话变量更适用的的工作模式,使得会话变量的设计更加高效和可靠。
在上述实施例的基础上,进一步提出各变型实施例,在此需要说明的是,为了使描述简要,在各变型实施例中仅描述与上述实施例的不同之处。
根据本发明的一些实施例,所述数据库兼容postgresql数据库和mysql数据库。即本发明中所述的两种工作模式分别是postgresql模式和mysql模式。通过兼容postgresql和mysql两种模式,使得对会话变量赋值和使用可以通过SQL语句在服务器端调用和执行。如此一来,会话变量与数据库编程接口无关,使得任何数据库编程接口都可以适用。
根据本发明的一些实施例,在所述第二工作模式下,所述数据库适于把所述会话变量存储在类型为HASH表的全局变量中,将所述会话变量的名存储在HASH表的键KEY中、所述会话变量的值以及所述会话变量的类型OID存储在HASH表的值VALUE中。
通过将数据结构建立成类似HASH表,将会话变量存储在类型为HASH表的全局变量中,将所述会话变量的值以及所述会话变量的类型OID存储在HASH表的值VALUE中,将变量的名作为HASH表的键KEY,利用HASH函数不需比较便可直接取得所查记录的特性,可以加快通过变量名对应变量值的查找速度,方便数据库后续的操作。
下面以一个具体的实施例详细描述适于在两种工作模式下运行的数据库。值得理解的是,下述描述仅是示例性说明,而不是对本发明的具体限制。凡是采用本发明的相似结构及其相似变化,均应列入本发明的保护范围。
根据本发明的一些实施例,本发明提供的一种适于在两种工作模式下运行的数据库包括两种工作模式,第一工作模式为postgresql模式,第二工作模式为mysql模式。在postgresql模式下,数据库通过“\set变量名值”命令给会话变量赋值、通过“:变量名”命令调用会话变量;在mysql模式下,数据库通过“set@变量名:=值”命令给会话变量赋值、通过“@变量名”命令调用会话变量。
并且在第二种工作模式即mysql模式下,所述数据库适于把所述会话变量存储在类型为HASH表的全局变量中,将所述会话变量的名存储在HASH表的键KEY中、所述会话变量的值以及所述会话变量的类型OID存储在HASH表的值VALUE中。数据库将每一个数据库支持的SQL类型用一个全库唯一的无符号长整型数字标识,这个全库唯一的无符号长整型数字也被称为类型OID。
具体过程为:首先,创建会话级别的内存上下文,切换到该内存上下文中;然后,判断全局变量是否是重定义或者重写,即判断变量已经通过SET语法定义过现在又再次定义。若判断为否,则在HASH表中新增会话变量;若判断为是,则修改原会话变量的值。最后,切回原来的内存上下文。
通过使数据库兼容postgresql和mysql两种模式,使得对会话变量赋值和使用可以通过SQL语句在服务器端调用和执行。如此一来,会话变量与数据库编程接口无关,使得任何数据库编程接口都可以适用。
需要说明的是,以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化,可以将各个实施例进行不同的自由组合。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
本发明第二方面实施例提出一种在postgresql数据库中实现会话级变量的方法,包括:
首先,进行词法解析,因为程序的源代码最初是一长串字符串,这样的字符串很难处理,通常会先将字符串中的字符以解析单元分组,切割成多个token,通过词法解析器获取token值对其进行词法解析。在词法解析阶段新增正则表达式,用以检索、替换符合某个模式或者规则的文本,在本申请中用来识别“@变量名”为会话变量;
然后,进行语法解析,通过语法解析器是把源代码作为字符串读入、解析,并建立语法解析树的程序。在语法解析阶段增加赋值语法和调用语法,以通过“set@变量名:=值”命令给会话变量赋值、通过“@变量名”命令调用会话变量。
根据本发明的一些实施例,所述方法还包括:
通过执行器执行语法解析树,在执行器解析阶段把所述会话变量存储在类型为HASH表的全局变量中,将所述会话变量的名存储在HASH表的键KEY中、所述会话变量的值以及所述会话变量的类型OID存储在HASH表的值VALUE中。
具体过程为:首先,创建会话级别的内存上下文,切换到该内存上下文中;然后,判断全局变量是否是重定义或者重写,即判断变量已经通过SET语法定义过现在又再次定义。若判断为否,则在HASH表中新增会话变量;若判断为是,则修改原会话变量的值。最后,切回原来的内存上下文。
本发明通过的在postgresql数据库中实现会话级变量,在mysql模式下对会话变量进行赋值、调用和执行。使得会话变量与任何数据库编程接口无关,这样任何数据库编程接口都可以使用。增强了postgresql的兼容性、易用性,提升了应用迁移效率。
下面结合图1、图2、图3,以一个具体的实施例详细描述在postgresql数据库中实现会话级变量的方法中,如何对会话变量进行处理的过程。所述过程包括声明与定义、使用及释放。值得理解的是,下述描述仅是示例性说明,而不是对本发明的具体限制。凡是采用本发明的相似结构及其相似变化,均应列入本发明的保护范围。
1、声明与定义部分,参见图1:
首先,进行词法解析,因为程序的源代码最初是一长串字符串,这样的字符串很难处理,通常会先将字符串中的字符以解析单元分组,切割成多个token,通过词法解析器获取token值对其进行词法解析。在词法解析阶段新增正则表达式,用以检索、替换符合某个模式或者规则的文本,在本申请中用来识别“@变量名”为会话变量;
然后,进行语法解析,通过语法解析器是把源代码作为字符串读入、解析,并建立语法解析树的程序。在语法解析阶段增加赋值语法和调用语法,以通过“set@变量名:=值”命令给会话变量赋值、通过“@变量名”命令调用会话变量。并且SQL中会话变量可以作为SQL中的其它表达式的参数。如:作为函数调用的参数select fn(@a)。
在语法解析阶段增加赋值节点和参数节点,
赋值节点:数据库引擎将用户输入SQL转化成程序可识别的数据结构,赋值节点便是其中之一。赋值表达式中包括被赋值对象的名字和表达式。如:targetobj:=expr。赋值对象的名字“targetobj”,表达式便是expr,表达式可以是任何类型。
参数节点:数据库引擎将用户输入的函数调用语法转换成程序可识别的数据结构。参数节点需要记录参数在数据库可执行程序内存中被存放的位置信息,以便计算和取值时方便查找。
通过执行器执行语法解析树,在执行器解析阶段把会话变量存储在类型为HASH表的全局变量中,数据结构类似于HASH表,将所述会话变量的名存储在HASH表的键KEY中,即HASH表的键KEY就是变量的名,变量的值就存储在HASH表的值VALUE中,另VALUE中需要记录会话变量的类型OID。会话变量的类型OID取决于给他赋值的表达式的结果的类型OID。
具体过程为:首先,创建会话级别的内存上下文,切换到该内存上下文中;然后,判断全局变量是否是重定义或者重写,即判断变量已经通过SET语法定义过现在又再次定义。若判断为否,则在HASH表中新增会话变量;若判断为是,则修改原会话变量的值。最后,切回原来的内存上下文。
2、应用部分,:
在应用部分的语法主要有两个关键点:一个是赋值操作为“:=”,另一个是取值操作为“@”。
首先,结合图2,针对赋值操作:
对于SQL语法:@var:=rexpr;需要先进行词法解析和语法解析,语法解析器需要将类似的语法结构转换成一个赋值节点。即输入内容经过词法解析和语法解析后,查看工作模式是否为mysql模式,如果工作模式是mysql模式,在该模式下进行语义解析,进行语义转换:将赋值变量的赋值节点转换成平常的赋值节点。经过语义转换后的赋值节点将不会改变引擎对计划的优化和执行。若查看工作模式非mysql模式,在postgresql模式下进行语义解析,则会出现执行错误。
然后,针对取值操作:
对于SQL语法:任何SQL语句可以使用“@变量名”调用变量。先语法解析:语法分析器需要将类似的语法结构转换成一个参数节点。再语义转换:根据参数节点的类型与调用参数节点的其他节点的参数类型做匹配,如不一致需要增加类型转换。具体的,在mysql模式下其语义解析流程如图3所示,创建会话级别的内存上下文,切换到该内存上下文中,遍历HASH表,查找对应变量,若果未找到对用变量而直接对@变量进行解析会出现错误。如果查找到对应变量,则取得该变量的值。取值后判断是否为查询(select)语句,若不是查询语句,则将@变量替换为变量的值,最后切回原来的内存上下文。若是查询语句,则判断该变量是否在查询目标中使用。如果未使用,则解析为普通函数后切换内存上下文;如果被使用,则解析为窗口函数后切换内存上下文。
3、释放部分:
在前两部分操作完毕后,可通过两种方式释放定义的会话变量,一种是退出当前会话或断开数据库连接。另一种是退出当前所在的mysql模式。
本发明通过的在postgresql数据库中实现会话级变量,会话变量保存在服务器端,赋值和使用都是通过SQL语句在服务器端调用和执行。使得会话变量与任何数据库编程接口无关,这样任何数据库编程接口都可以使用,增强了postgresql的兼容性、易用性,提升了应用迁移效率。通过高效且可靠的会话变量设计,提高产品对竞品的替代能力。减少对数据库内核的冲击,极大的减少二次开发所引入的编程缺陷。
本发明第三方面实施例提出一种计算机可读存储介质,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现如上所述的第二方面实施例所述的在postgresql数据库中实现会话级变量的方法的步骤。
需要说明的是,本实施例所述计算机可读存储介质包括但不限于为:ROM、RAM、磁盘或光盘等。所述程序被处理器1020可以是手机,计算机,服务器,空调器,或者网络设备等。
需要说明的是,在本说明书的描述中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

Claims (6)

1.一种适于在两种工作模式下运行的数据库,其特征在于,将会话变量保存在服务器端,所述数据库的工作模式包括第一工作模式和第二工作模式,所述第一工作模式为postgresql模式,所述第二工作模式为mysql模式;
在所述第一工作模式下,所述数据库通过“\set 变量名值”命令给会话变量赋值、通过“:变量名”命令调用会话变量;
在第二工作模式下,所述数据库通过“set @变量名:=值”命令给会话变量赋值、通过“@变量名”命令调用会话变量。
2.如权利要求1所述的数据库,其特征在于,所述数据库兼容postgresql数据库和mysql数据库。
3.如权利要求1所述的数据库,其特征在于,在所述第二工作模式下,所述数据库适于把所述会话变量存储在类型为HASH表的全局变量中,将所述会话变量的名存储在HASH表的键KEY中、所述会话变量的值以及所述会话变量的类型OID存储在HASH表的值VALUE中。
4.一种在postgresql数据库中实现会话级变量的方法,其特征在于,包括:
将会话变量保存在服务器端;
在词法解析阶段新增正则表达式,以识别“@变量名”为会话变量;
在语法解析阶段增加赋值语法和调用语法,以通过“set @变量名:=值”命令给会话变量赋值、通过“@变量名”命令调用会话变量;
针对赋值操作,对于SQL语法,先进行词法解析和语法解析,查看工作模式是否为mysql模式,若工作模式是mysql模式,在该模式下进行语义解析,进行语义转换:将赋值变量的赋值节点转换成平常的赋值节点;
针对取值操作,对于SQL语法,先语法解析,再语义转换,在mysql模式下其语义解析流程包括:创建会话级别的内存上下文,切换到该内存上下文,遍历HASH表,查找对应变量,若查找到对应变量,则取得该变量的值,取值后判断是否为查询(select)语句,若不是查询语句,则将@变量替换为变量的值,切回原来的内存上下文;若是查询语句,则判断该变量是否在查询目标中使用,若未使用,则解析为普通函数后切换内存上下文;若被使用,则解析为窗口函数后切换内存上下文。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
把所述会话变量存储在类型为HASH表的全局变量中,将所述会话变量的名存储在HASH表的键KEY中、所述会话变量的值以及所述会话变量的类型OID存储在HASH表的值VALUE中。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有信息传递的实现程序,所述程序被处理器执行时实现如权利要求4至5中任一项所述的在postgresql数据库中实现会话级变量的方法的步骤。
CN202110908389.XA 2021-08-09 2021-08-09 数据库及在postgresql数据库中实现会话级变量的方法 Active CN113626465B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110908389.XA CN113626465B (zh) 2021-08-09 2021-08-09 数据库及在postgresql数据库中实现会话级变量的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110908389.XA CN113626465B (zh) 2021-08-09 2021-08-09 数据库及在postgresql数据库中实现会话级变量的方法

Publications (2)

Publication Number Publication Date
CN113626465A CN113626465A (zh) 2021-11-09
CN113626465B true CN113626465B (zh) 2023-06-20

Family

ID=78383637

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110908389.XA Active CN113626465B (zh) 2021-08-09 2021-08-09 数据库及在postgresql数据库中实现会话级变量的方法

Country Status (1)

Country Link
CN (1) CN113626465B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2447458A1 (en) * 2003-10-29 2005-04-29 Ibm Canada Limited - Ibm Canada Limitee System and method for managing query access to information
CN111061757A (zh) * 2019-12-19 2020-04-24 用友网络科技股份有限公司 数据库的语言转换方法、装置、电子设备及存储介质
CN111694846A (zh) * 2020-06-04 2020-09-22 贵州易鲸捷信息技术有限公司 一种基于Type 2 JDBC驱动的分离模式分布式存储过程实现方法
CN112965995A (zh) * 2021-04-19 2021-06-15 瀚高基础软件股份有限公司 基于postgreSQL客户端PSQL的数据交互方法及交互装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100257181A1 (en) * 2009-04-01 2010-10-07 Sybase, Inc. Dynamic Hash Table for Efficient Data Access In A Relational Database System
US11100098B2 (en) * 2010-05-28 2021-08-24 Oracle International Corporation Systems and methods for providing multilingual support for data used with a business intelligence server

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2447458A1 (en) * 2003-10-29 2005-04-29 Ibm Canada Limited - Ibm Canada Limitee System and method for managing query access to information
CN111061757A (zh) * 2019-12-19 2020-04-24 用友网络科技股份有限公司 数据库的语言转换方法、装置、电子设备及存储介质
CN111694846A (zh) * 2020-06-04 2020-09-22 贵州易鲸捷信息技术有限公司 一种基于Type 2 JDBC驱动的分离模式分布式存储过程实现方法
CN112965995A (zh) * 2021-04-19 2021-06-15 瀚高基础软件股份有限公司 基于postgreSQL客户端PSQL的数据交互方法及交互装置

Also Published As

Publication number Publication date
CN113626465A (zh) 2021-11-09

Similar Documents

Publication Publication Date Title
US9122540B2 (en) Transformation of computer programs and eliminating errors
CN110502227B (zh) 代码补全的方法及装置、存储介质、电子设备
CN111813796A (zh) 基于Hive数据仓库的数据列级血缘处理系统及方法
CN108710662B (zh) 语言转换方法和装置、存储介质、数据查询系统和方法
CN113901083B (zh) 基于多解析器的异构数据源操作资源解析定位方法和设备
CN116450616A (zh) 一种基于解析树的通用异构关系型数据库sql迁移方法
CN113672628A (zh) 数据血缘分析方法、终端设备及介质
CN113779062A (zh) Sql语句生成方法、装置、存储介质及电子设备
CN116226170A (zh) 一种数据库语句转换方法、装置、电子设备及存储介质
CN113467785B (zh) 一种拟态数据库的sql转译方法和系统
JPH05224949A (ja) 高水準形態抽象構文を中間形態へ変換する方法及び装置
CN114356964A (zh) 数据血缘构建方法、装置、存储介质及电子设备
CN110008448B (zh) 将SQL代码自动转换为Java代码的方法和装置
CN113297251A (zh) 多源数据检索方法、装置、设备及存储介质
CN113626465B (zh) 数据库及在postgresql数据库中实现会话级变量的方法
WO2023138078A1 (zh) 编程语言的解析方法及装置、非易失性存储介质
CN116010461A (zh) 数据血缘关系解析方法及装置、存储介质及电子设备
CN113821496B (zh) 数据库迁移方法、系统、设备及计算机可读存储介质
CN115292347A (zh) 一种基于规则的主动式sql算法性能检查装置及方法
CN112948419A (zh) 查询语句处理方法及装置
CN114547083A (zh) 数据处理方法、装置及电子设备
CN114281842A (zh) 一种数据库分表查询的方法及设备
CN113032366A (zh) 基于Flex和Bison的SQL语法树解析方法
CN112445492A (zh) 一种基于antlr4的源码翻译方法
CN114020898B (zh) 人机自动对话方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant