CN118193088A - 事务提交控制方法、装置、电子设备及存储介质 - Google Patents
事务提交控制方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN118193088A CN118193088A CN202410592869.3A CN202410592869A CN118193088A CN 118193088 A CN118193088 A CN 118193088A CN 202410592869 A CN202410592869 A CN 202410592869A CN 118193088 A CN118193088 A CN 118193088A
- Authority
- CN
- China
- Prior art keywords
- transaction
- sql command
- command
- submitting
- sql
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000004044 response Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000002253 acid Substances 0.000 description 1
- 150000007513 acids Chemical class 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种事务提交控制方法、装置、电子设备及存储介质,包括:响应于开启自动提交状态,基于用户输入的SQL命令,并通过第一事务提交策略执行所述SQL命令,执行完毕后自动提交当前事务;响应于关闭自动提交状态,基于用户输入的SQL命令,并通过第二事务提交策略执行SQL命令;第二事务提交策略包括:判断SQL命令是否为数据定义语句或其他语句,响应于为数据定义语句,根据SQL命令提交当前事务后再执行SQL命令。本申请分为自动提交模式和非自动提交模式,在sql命令的执行前后不同点对两种语句进行不同的事务控制操作,有效提高数据库事务的多样性和灵活性。
Description
技术领域
本申请属于数据库事务领域,尤其涉及一种事务提交控制方法、装置、电子设备及存储介质。
背景技术
在数据库的***、删除和修改操作时,只有当事务在提交到数据库时才算完成。但在事务提交前,只有操作数据库的用户才能有权看到所做的事情,其他用户只有在最后提交完成后才可以看到。
当前gbase8s数据的事务运行模式比较单一,只有一种状态,当前状态下,多语句事务只能由事务控制有关的 SQL 控制,即由显式begin/begin work开启事务,由rollback/commit结束事务,对于用户来说灵活性较低。
发明内容
有鉴于此,本申请旨在提出一种事务提交控制方法、装置、电子设备及存储介质,以解决上述问题的不足之处。
为达到上述目的,本申请的技术方案是这样实现的:
第一方面,本申请提供了一种事务提交控制方法,所述方法包括:
用户输入SQL命令;
响应于开启自动提交状态,基于用户输入的所述SQL命令,并通过预设的第一事务提交策略执行所述SQL命令,执行完毕后自动提交当前事务;
响应于关闭自动提交状态,基于用户输入的所述SQL命令,并通过预设的第二事务提交策略执行所述SQL命令;
其中,所述第二事务提交策略包括:判断所述SQL命令是否为数据定义语句或其他语句,响应于为数据定义语句,根据所述SQL命令提交当前事务后再执行所述SQL命令,响应于其他语句为数据操作语句,且所述SQL命令不在事务内,则自动开启事务,并执行所述SQL命令。
第二方面,基于同一发明构思,本申请还提供了一种事务提交控制装置,包括:
命令输入模块,被配置为用户输入SQL命令;
第一响应模块,被配置为响应于开启自动提交状态,基于用户输入的SQL命令,并通过预设的第一事务提交策略执行所述SQL命令,执行完毕后自动提交当前事务;
第二响应模块,被配置为响应于关闭自动提交状态,基于用户输入的所述SQL命令,并通过预设的第二事务提交策略执行所述SQL命令;
其中,所述第二事务提交策略包括:判断所述SQL命令是否为数据定义语句或其他语句,响应于为数据定义语句,根据所述SQL命令提交当前事务后再执行所述SQL命令,响应于其他语句为数据操作语句,且所述SQL命令不在事务内,则自动开启事务,并执行所述SQL命令。
第三方面,基于同一发明构思,本申请还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的事务提交控制方法。
第四方面,基于同一发明构思,本申请还提供了一种非暂态计算机可读存储介质,其中,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如第一方面所述的事务提交控制方法。
相对于现有技术,本申请所述的事务提交控制方法、装置、电子设备及存储介质具有以下有益效果:
本申请所述的事务提交控制方法、装置、电子设备及存储介质,所述方法将gbase8s目前单一的事务运行模式分为了自动提交模式和非自动提交模式,并根据当前事务状态以及开关状态等信息,在sql命令的执行前后不同点对数据定义语句、数据操作语句进行不同的事务控制相关操作,有效提高了数据库事务的多样性和灵活性。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例所述的事务提交控制方法流程图;
图2为本申请实施例所述的事务提交控制方法具体实现流程图;
图3为本申请实施例所述的事务提交控制装置结构示意图;
图4为本申请实施例所述的电子设备硬件结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本申请进一步详细说明。
需要说明的是,除非另外定义,本申请实施例使用的技术术语或者科学术语应当为本申请所属领域内具有一般技能的人士所理解的通常意义。本申请实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
以下结合附图详细说明本申请的实施例。
名称解释:事务是并发控制的单位,是用户定义的一个操作序列。有四个特性(ACID):原子性、一致性、隔离性、持续性/永久性。
本申请基于Gbase 8s 本身事务模型,设计了一种可以由用户自定义设置的事务运行模式的开关,将目前单一的事务运行模式分为了自动提交模式(开启自动提交状态)和非自动提交模式(关闭自动提交状态)。
实现方法:自动提交开关只影响事务运行,因此实现方法是根据当前事务状态以及开关状态等,在sql命令的执行前后不同点对数据定义语句、数据操作语句进行不同的操作,这里的操作仅限于事务控制相关操作。图2为引入自动提交开关后完整的事务运行模式流程图。
请参阅图1和图2所示,本实施例提供了一种事务提交控制方法,方法具体包括如下步骤:
步骤S101、用户输入SQL命令。
具体地,在本实施例中,用户输入的SQL命令可以包括数据定义语句(DataDefinition Language,DDL)或数据操作语句(Data Manipulation Language,DML)。
数据定义语句(DDL):这些命令用于定义数据库的结构,包括创建、修改和删除数据库对象(如表、索引、视图等)。常见的DDL命令包括CREATE TABLE、ALTER TABLE、DROPTABLE等,用于创建、修改和删除数据库表结构。
其他语句包括:数据操作语句(DML):这些命令用于对数据库中的数据进行操作,包括***、更新、删除和查询数据。常见的DML命令包括INSERT、UPDATE、DELETE和SELECT等,用于添加、修改、删除和检索数据库中的数据;
数据查询语言(DQL),用来进行数据库中数据的查询的,即最常用的select语句;
以及,设置会话环境变量等不会对数据进行修改的sql语句。
用户通过输入SQL命令,以完成对数据库结构和数据的操作。
在gbase8s里,开启自动提交状态是默认状态,不区分数据操作语句和数据定义语句,每一个数据操作语句和数据定义语句都是一个事务,数据定义语句、数据操作语句执行完成后会自动提交事务;关闭自动提交后,数据库区分数据定义语句和数据操作语句,数据操作语句会隐式开启事务,数据定义语句会提交当前事务。具体解释说明如下:
步骤S102、响应于开启自动提交状态,基于用户输入的SQL命令,并通过预设的第一事务提交策略执行SQL命令,执行完毕后自动提交当前事务。
具体地,在本实施例中,设定开启自动提交的命令为set environmentautocommit on(开启自动提交状态,此为默认情况),开启后,所有数据定义语句和数据操作语句在用户没有手动开启事务的情况下,会作为一个独立的事务完成。
在开启自动提交模式时,本实施例所述的第一事务提交策略为预先设定好的,在运行该事务额时,基于该策略执行用户输入的SQL命令,执行完毕后自动提交当前事务。
在一些实施方式中,第一事务提交策略包括:
根据用户输入的SQL命令判断是否为需在事务内执行的命令;
响应于SQL命令为需在事务内执行的命令,则判断SQL命令是否在事务内;
响应于SQL命令在事务内,则执行SQL命令;
响应于SQL命令不在事务内,则将设置的标志位置为1,以自动开启事务, 并执行SQL命令;
SQL命令执行成功后,判断标志位是否为1,响应于标志位为1,则提交当前事务并结束命令,响应标志位不为1,则直接结束命令;
响应于SQL命令不为需在事务内执行的命令,则进入SQL执行阶段,以执行SQL命令。
具体地,在本实施例中,判断用户输入的SQL命令是否为需要在事务内执行的命令,是则进入判断SQL命令是否在事务内的步骤,否则进入SQL执行阶段;判断SQL命令是否在事务内,是则进入SQL执行阶段,否则进入下一步骤;置标志位flag为1,表示当前命令需自启事务,随后进入SQL执行阶段;SQL命令执行;SQL命令执行成功后,判断标志位flag是否为1,即当前命令是否自启事务了,为1则提交当前事务,结束命令;否则直接结束命令。
开启自动提交后,所有命令都为一个独立的事务,可以保证事务的一致性,提高了数据的可靠性;同时,本申请实现的自动提交模式,不会影响由用户手动开启的事务。测试如下:
步骤一:用户手动开启事务,begin;
步骤二:用户输入第一条数据操作语句语句;
步骤三:用户输入第二条数据操作语句语句;
步骤四:用户手动rollback回滚事务。
此时,通过手动查询可以发现,前面两条数据操作语句都被回滚了,即自动提交的机制并没有和用户手动开启的事务发生冲突,自动提交不会提交由用户手动开启的事务。
步骤S103、响应于关闭自动提交状态,基于用户输入的所述SQL命令,并通过预设的第二事务提交策略执行所述SQL命令;
其中,所述第二事务提交策略包括:判断SQL命令是否为数据定义语句或其他语句,响应于为数据定义语句,SQL命令提交当前事务后再执行SQL命令,响应于其他语句为数据操作语句,且SQL命令不在事务内,则自动开启事务,并执行SQL命令。
具体地,在本实施例中,其他语句以数据操作语句进行详细解释说明,关闭自动提交的命令为:set environment autocommit off(关闭自动提交状态),关闭自动提交后,数据定义语句和数据操作语句在事务内的行为发生改变,数据操作语句会开启事务,数据定义语句会提交当前事务。
在关闭自动提交模式时,本实施例所述的第二事务提交策略也为预先设定好的,在运行该事务时,首先判断SQL命令是否为数据定义语句还是其他语句,后又基于其他语句为数据操作语句,那么基于不同的语句执行不同的策略,进而执行用户输入的SQL命令。
关闭自动提交后,数据操作语句与数据定义语句行为不再一致,当前已在事务内的情况,数据定义语句会在执行前先提交当前事务;当前不在事务内的情况,数据操作语句会开启事务,随后执行的数据操作语句也会在第一个数据操作语句开启的事务内执行,直到遇到事务控制语句或者数据定义语句事务才会结束,不再自动提交。
在一些实施方式中,第二事务提交策略包括:
响应于为数据定义语句,判断SQL命令是否在事务内,若在事务内,则提交当前事务;
将设定的标志位置为1,并自动开启事务;
判断当前自动提交已关闭且是否为数据操作语句;
对于数据定义语句的情况,则执行SQL命令,并在执行完成后提交事务,提交后结束命令。
若不在事务内,则不进行操作处理,后直接将设定的标志位置为1,并自动开启事务,进入SQL执行阶段,进而执行SQL命令,执行完SQL命令后提交事务,提交后结束命令。
具体地,在本实施例中,设计数据定义语句提交当前事务的原因是为了保证用户直观上的一致性,数据定义语句背后涉及到了大量的其他操作,不仅仅是对***表等核心表的更新,还包括大量的内存数据结构的更新,工程上很难把这些操作做成原子的,因此,与用户约定,设定数据定义语句会提交当前事务,从功能以及易用性上均可取得较好的效果。
在一些实施方式中,第二事务提交策略还包括:
响应于为其他语句,根据SQL命令判断是否为需在事务内执行的命令;
响应于SQL命令为需在事务内执行的命令,则判断SQL命令是否在事务内,响应于SQL命令不为需在事务内执行的命令,则直接进入SQL执行阶段;
响应于SQL命令不在事务内,则将设置的标志位置为1,并自动开启事务,响应于SQL命令在事务内,则进入SQL执行阶段;
在自动开启事务后,判断当前自动提交已关闭且当前SQL命令是否为数据操作语句;
响应于为数据操作语句,则重置标志位为0,并执行SQL命令;
响应于为除数据操作语句之外的其他语句,则直接执行SQL命令;
SQL命令执行成功后,判断标志位是否为1,响应于标志位为1,则提交事务并结束命令,响应于标志位为0,则结束该命令。
具体地,在本实施例中,设计由数据操作语句开启事务,提高数据库事务的灵活性,不再只依赖于显式的begin开启事务。当用户连续执行多条数据操作语句时,由第一条数据操作语句开启多语句事务,对用户来说易用性更强。
本实施例所述的事务提交控制方法将gbase8s目前单一的事务运行模式分为了自动提交模式和非自动提交模式,并根据当前事务状态以及开关状态等信息,在sql命令的执行前后不同点对数据定义语句, 数据操作语句进行不同的事务控制相关操作,有效提高了数据库事务的多样性和灵活性。
需要说明的是,上述对本申请的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本申请的实施例还提供了一种事务提交控制装置。
如图3所示,所述事务提交控制装置,包括:
命令输入模块11,被配置为用户输入SQL命令;
第一响应模块12,被配置为响应于开启自动提交状态,基于用户输入的SQL命令,并通过预设的第一事务提交策略执行所述SQL命令,执行完毕后自动提交当前事务;
第二响应模块13,被配置为响应于关闭自动提交状态,基于用户输入的所述SQL命令,并通过预设的第二事务提交策略执行所述SQL命令;
其中,所述第二事务提交策略包括:判断所述SQL命令是否为数据定义语句或其他语句,响应于为数据定义语句,根据所述SQL命令提交当前事务后再执行所述SQL命令,响应于其他语句为数据操作语句,且所述SQL命令不在事务内,则自动开启事务,并执行所述SQL命令。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请的实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一实施例中相应的事务提交控制方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本申请的实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一实施例所述的事务提交控制方法。
图4示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线 1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作***和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入/输出模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的事务提交控制方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的事务提交控制方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的事务提交控制方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围(包括权利要求)被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本申请实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本申请实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本申请实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本申请的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本申请实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本申请的具体实施例对本申请进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本申请实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (9)
1.一种事务提交控制方法,其特征在于,所述方法包括:
用户输入SQL命令;
响应于开启自动提交状态,基于用户输入的所述SQL命令,并通过预设的第一事务提交策略执行所述SQL命令,执行完毕后自动提交当前事务;
响应于关闭自动提交状态,基于用户输入的所述SQL命令,并通过预设的第二事务提交策略执行所述SQL命令;
其中,所述第二事务提交策略包括:判断所述SQL命令是否为数据定义语句或其他语句,响应于为数据定义语句,根据所述SQL命令提交当前事务后再执行所述SQL命令,响应于其他语句为数据操作语句,且所述SQL命令不在事务内,则自动开启事务,并执行所述SQL命令。
2.根据权利要求1所述的事务提交控制方法,其特征在于,所述第一事务提交策略包括:
根据用户输入的所述SQL命令判断是否为需在事务内执行的命令;
响应于所述SQL命令为需在事务内执行的命令,则判断所述SQL命令是否在事务内;
响应于所述SQL命令在事务内,则执行所述SQL命令;
响应于所述SQL命令不在事务内,则将设置的标志位置为1,以自动开启事务, 并执行所述SQL命令;
所述SQL命令执行成功后,判断标志位是否为1,响应于所述标志位为1,则提交当前事务并结束命令,响应所述标志位不为1,则直接结束命令。
3.根据权利要求2所述的事务提交控制方法,其特征在于,还包括:
响应于所述SQL命令不为需在事务内执行的命令,则进入SQL执行阶段,以执行所述SQL命令。
4.根据权利要求1所述的事务提交控制方法,其特征在于,所述第二事务提交策略包括:
响应于为数据定义语句,判断所述SQL命令是否在事务内,若在事务内,则提交当前事务;
将设定的标志位置为1,并自动开启事务;
执行所述SQL命令,并在执行完成后提交事务。
5.根据权利要求4所述的事务提交控制方法,其特征在于,还包括:
响应于为其他语句,根据所述SQL命令判断是否为需在事务内执行的命令;
响应于所述SQL命令为需在事务内执行的命令,则判断所述SQL命令是否在事务内;
响应于所述SQL命令不在事务内,则将设置的标志位置为1,并自动开启事务;
判断当前自动提交已关闭且当前所述SQL命令是否为数据操作语句;
响应于为数据操作语句,则重置标志位为0,并执行所述SQL命令。
6.根据权利要求5所述的事务提交控制方法,其特征在于,还包括:
响应于为除数据操作语句之外的其他语句,则直接执行所述SQL命令;
所述SQL命令执行成功后,判断标志位是否为1,响应于所述标志位为1,则提交事务并结束命令。
7.一种事务提交控制装置,其特征在于,包括:
命令输入模块,被配置为用户输入SQL命令;
第一响应模块,被配置为响应于开启自动提交状态,基于用户输入的SQL命令,并通过预设的第一事务提交策略执行所述SQL命令,执行完毕后自动提交当前事务;
第二响应模块,被配置为响应于关闭自动提交状态,基于用户输入的所述SQL命令,并通过预设的第二事务提交策略执行所述SQL命令;
其中,所述第二事务提交策略包括:判断所述SQL命令是否为数据定义语句或其他语句,响应于为数据定义语句,根据所述SQL命令提交当前事务后再执行所述SQL命令,响应于其他语句为数据操作语句,且所述SQL命令不在事务内,则自动开启事务,并执行所述SQL命令。
8.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-6任一项所述的事务提交控制方法。
9.一种非暂态计算机可读存储介质,其特征在于,其中,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行权利要求1-6任一项所述的事务提交控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410592869.3A CN118193088B (zh) | 2024-05-14 | 2024-05-14 | 事务提交控制方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410592869.3A CN118193088B (zh) | 2024-05-14 | 2024-05-14 | 事务提交控制方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN118193088A true CN118193088A (zh) | 2024-06-14 |
CN118193088B CN118193088B (zh) | 2024-07-30 |
Family
ID=91400582
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410592869.3A Active CN118193088B (zh) | 2024-05-14 | 2024-05-14 | 事务提交控制方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118193088B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180322156A1 (en) * | 2017-05-08 | 2018-11-08 | Sap Se | Atomic processing of compound database transactions that modify a metadata entity |
CN110807046A (zh) * | 2019-10-31 | 2020-02-18 | 浪潮云信息技术有限公司 | 一种新型分布式newsql数据库智能事务优化方法 |
CN114281488A (zh) * | 2021-12-27 | 2022-04-05 | 山东浪潮科学研究院有限公司 | 一种分布式数据库的事务提交控制方法及*** |
CN114528073A (zh) * | 2022-01-24 | 2022-05-24 | 赞同科技股份有限公司 | 基于独立事务协调器的分布式事务处理方法、装置及介质 |
CN114647716A (zh) * | 2022-05-13 | 2022-06-21 | 天津南大通用数据技术股份有限公司 | 一种泛化数据仓库 |
CN116225630A (zh) * | 2023-03-10 | 2023-06-06 | 湖南亚信安慧科技有限公司 | 事务处理方法、装置、电子设备、存储介质及程序产品 |
-
2024
- 2024-05-14 CN CN202410592869.3A patent/CN118193088B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180322156A1 (en) * | 2017-05-08 | 2018-11-08 | Sap Se | Atomic processing of compound database transactions that modify a metadata entity |
CN110807046A (zh) * | 2019-10-31 | 2020-02-18 | 浪潮云信息技术有限公司 | 一种新型分布式newsql数据库智能事务优化方法 |
CN114281488A (zh) * | 2021-12-27 | 2022-04-05 | 山东浪潮科学研究院有限公司 | 一种分布式数据库的事务提交控制方法及*** |
CN114528073A (zh) * | 2022-01-24 | 2022-05-24 | 赞同科技股份有限公司 | 基于独立事务协调器的分布式事务处理方法、装置及介质 |
CN114647716A (zh) * | 2022-05-13 | 2022-06-21 | 天津南大通用数据技术股份有限公司 | 一种泛化数据仓库 |
CN116225630A (zh) * | 2023-03-10 | 2023-06-06 | 湖南亚信安慧科技有限公司 | 事务处理方法、装置、电子设备、存储介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN118193088B (zh) | 2024-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8694557B2 (en) | Extensibility of metaobjects | |
US8200710B2 (en) | System and method for runtime rendering of web-based user interfaces for master data management | |
US20150095849A1 (en) | Dialogs positioned with action visualization | |
US20020055939A1 (en) | System for a configurable open database connectivity conduit | |
KR20130086138A (ko) | 크로스―플랫폼 어플리케이션 프레임워크 | |
CN118193088B (zh) | 事务提交控制方法、装置、电子设备及存储介质 | |
CN112970011A (zh) | 记录查询优化中的谱系 | |
US20230097765A1 (en) | Pseudorandom Thread Generation | |
CN107391539A (zh) | 事务处理方法、服务器和存储介质 | |
CN114328062B (zh) | 校验缓存一致性的方法、装置和存储介质 | |
CN110489401A (zh) | 一种数据库对象的部署方法及装置 | |
US20200110528A1 (en) | Rendering on a mobile device | |
CN111338966B (zh) | 数据源表的大数据加工检测方法及装置 | |
CN115081423A (zh) | 文档编辑方法、装置、电子设备及存储介质 | |
EP3792780A1 (en) | Data deletion system and method | |
US20180210717A1 (en) | Time Integrated Development and Modification System | |
CN108733279A (zh) | 下拉列表显示方法和装置 | |
CN117272918B (zh) | 在gui界面中进行时钟树规则配置的方法及相关设备 | |
EP1990736A1 (en) | A processing method and system of custom object based on object storage library | |
US20200201609A1 (en) | Metadata-Driven Design-Time Tooling | |
US11947931B2 (en) | Generic factory class | |
CN117171577B (zh) | 一种高性能算子选择的动态决策方法及装置 | |
CN117453151B (zh) | Nor-flash驱动开发方法、装置与计算机设备 | |
KR101249796B1 (ko) | 데이터 입력 방법 | |
US11681705B2 (en) | Trie data structure with subtrie data structures |
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 |