A method, product, medium, and apparatus for chained invocation

By constructing a two-layer structure of outer and inner linked lists, the problem of being unable to identify and parse chained calls with mixed column attributes in existing technologies is solved, realizing the combination of functions and columns and improving the parsing and execution efficiency of the database.

CN122489600APending Publication Date: 2026-07-31CETC JINCANG (BEIJING) TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
CETC JINCANG (BEIJING) TECH CO LTD
Filing Date
2026-04-20
Publication Date
2026-07-31

AI Technical Summary

Technical Problem

Existing technologies cannot identify and parse chained calls with mixed column attributes, resulting in low processing efficiency and the need for manual rewriting, which affects the efficiency of database creation and operation.

Method used

By constructing a two-layer structure of outer and inner linked lists, function call nodes and column call nodes are handled separately, realizing the combination of functions and columns, simplifying the calling method, and improving the parsing and execution efficiency of the database.

Benefits of technology

It achieves accurate parsing of chained calls with mixed column attributes, ensuring the correctness and continuity of column value passing, expanding the applicability of chained calls, and improving the processing efficiency of database operations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122489600A_ABST
    Figure CN122489600A_ABST
Patent Text Reader

Abstract

This invention relates to the field of database technology, and in particular to a chained call method, product, medium, and device. The chained call method includes: constructing an outer linked list for chained calls, where each node of the outer linked list is an inner linked list, and each inner linked list contains a sequence of column call nodes and function call nodes, or only function call nodes; parsing and executing operations on each subsequent node after the first node according to the node order of the outer linked list; the parsing and execution operations include: determining whether the inner linked list of a subsequent node contains a column call node; if so, processing the sequence of column call nodes in the inner linked list sequentially according to the object type of the return value of the previous node to obtain the target object of the column call, until the inner linked list contains only function call nodes, and executing the function call node according to the target object. This invention utilizes a two-level linked list to achieve chained calls combining functions and columns, simplifying the calling method and improving the processing efficiency of chained calls.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of database technology, and in particular to a chained call method, product, medium, and device. Background Technology

[0002] When defining object type functions in a database, a function of object type A can use object type B as the return value of its own type function. Object type B can also reference a column of type C, and the column of object type C can further call functions within object type C, and so on. In this case, if a function in object type C needs to be called, it is usually necessary to first execute `tempB = A.FUNC_A()`, then `tempC = tempB.C`, and finally `tempC.FUNC_C()`. This method involves many steps and requires defining additional intermediate variables, which can impact the efficiency of database creation and operation.

[0003] To address the aforementioned issues, existing technologies identify chained functions at the syntax level, store function information, and then rewrite the function semantically, making the previous chained call the actual parameter of the current function's first argument, thus achieving the functionality of chained calls. The chained call method is concise and does not require defining additional intermediate variables, significantly improving the efficiency of database creation and operation.

[0004] However, existing technologies can only handle pure function calls. When chained calls contain column attributes (such as A.FUNC_A().C.FUNC_C()), existing technologies cannot identify and parse them, leading to processing failures or the need for manual rewriting, resulting in low processing efficiency. Summary of the Invention

[0005] In view of the above problems, a chained call method, product, medium and device are proposed to overcome the above problems or at least partially solve the above problems.

[0006] One objective of this invention is to provide a chained call method to support chained calls combining functions and columns, thereby improving database processing efficiency.

[0007] A further objective of this invention is to ensure the correctness and continuity of column value passing, thereby improving the accuracy of chained calls.

[0008] Another further objective of this invention is to achieve automatic retrieval of column values, thereby further improving the processing efficiency of the database.

[0009] Specifically, according to one aspect of the present invention, the present invention provides a chained call method, comprising: Construct an outer linked list for chained calls, where each node of the outer linked list is an inner linked list, and each inner linked list contains a sequence of column call nodes and function call nodes or only function call nodes; Following the node order of the outer linked list, perform parsing and execution operations on each subsequent node after the first node; the parsing and execution operations include: Get the return value of the previous node and its object type; Determine whether the inner linked list of subsequent nodes contains the column call node; If so, the column call node sequence in the inner linked list is processed sequentially according to the object type of the return value of the previous node to obtain the target object of the column call, until the inner linked list contains only function call nodes, and the function call node is executed according to the target object.

[0010] Optionally, the steps of sequentially processing the column call node sequence in the inner linked list to obtain the target object of the column call include: Using the object type of the return value of the previous node as initial input, obtain the output object of the current column call node in the column call node sequence, and delete the current column call node; Using the output object as the current input, the output object of each column call node in the column call node sequence is obtained in sequence until all column call nodes in the column call node sequence have been processed; Use the output object of the last column call node as the target object for the column call.

[0011] Optionally, the steps to obtain the output object of each column call node in the column call node sequence include: The query retrieves the position and type information of the column name of each column call node in the current input within the query column call node sequence; Based on the retrieved location and type information, a column information calculation expression is constructed to obtain the output object of the column calling node.

[0012] Optionally, the steps for constructing the outer linked list of chained calls include: Perform syntax recognition on the operation statements to generate function call nodes and column call nodes; Store the consecutively arranged sequence of column call nodes and the next function call node as an inner linked list; Store function call nodes that are not associated with any column call node as an inner linked list; Each inner linked list is used as a node in the outer linked list in the order of its calls, thus obtaining the outer linked list.

[0013] Optionally, the steps of executing the function call node based on the target object include: Modify the function call node immediately adjacent to the column call node sequence to the full form of the object type based on the type of the target object; The function call node is executed and then deleted, with the target object as the first parameter of the function call node.

[0014] Optionally, after determining whether the inner linked list of subsequent nodes contains the column call node, the parsing execution operation further includes: If the inner linked list does not contain column call nodes, modify the function call nodes in the inner linked list to the full form of the object type based on the object type of the return value of the previous node; The function call node is executed and then deleted, with the return value of the previous node serving as the first parameter of the function call node.

[0015] Optionally, the steps of parsing and performing operations on each subsequent node after the first node according to the node order of the outer linked list include: Determine if any subsequent node exists in the outer linked list; If it exists, then parse and execute the operation on the first subsequent node in the outer linked list, and return to the step of determining whether any subsequent node exists in the outer linked list; If it does not exist, return the result of the function call that was executed in the previous parsing operation.

[0016] According to another aspect of the present invention, a computer-readable storage medium is also provided, on which a computer program is stored, wherein the computer program, when executed by a processor, implements the steps of any of the above-described chained call methods.

[0017] According to another aspect of the present invention, a computer program product is also provided, comprising a computer program that, when executed by a processor, implements the steps of any of the above-described chained call methods.

[0018] According to another aspect of the present invention, a computer device is also provided, including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of any of the chained call methods described above.

[0019] The chained call method of the present invention constructs a two-layer structure of an outer linked list and an inner linked list, and performs a combination operation of column processing and function call on the inner linked list containing column call nodes. This realizes chained calls that combine functions and columns, solves the problem of not being able to identify and parse chained calls with mixed column attributes, eliminates the need for users to define intermediate variables, and improves the parsing and execution efficiency of database operation statements while simplifying the calling method.

[0020] Furthermore, the chained call method of the present invention, by using the output object of the previous node as the input of the next column call node, processes each column call node sequentially and deletes the processed node, realizes the complete processing of column call node sequences of arbitrary length, realizes the accurate parsing of multi-level nested column attribute calls, ensures the correctness and continuity of column value passing, and thus expands the applicability of chained calls.

[0021] Furthermore, the chained call method of the present invention queries the position and type information of the column name of each column call node in the current input, and constructs a column information calculation expression based on the queried position and type information to obtain the output object of the column call node. This realizes the automatic acquisition of column values, solves the problem that columns cannot be directly referenced due to unknown or dynamically changing internal structures of objects, improves the versatility and adaptability of the method, and thus further improves the parsing and execution efficiency of database operation statements.

[0022] The above and other objects, advantages and features of the present invention will become more apparent to those skilled in the art from the following detailed description of specific embodiments of the invention in conjunction with the accompanying drawings. Attached Figure Description

[0023] The following sections will describe some specific embodiments of the invention in detail by way of example and not limitation, with reference to the accompanying drawings. The same reference numerals in the drawings denote the same or similar parts or portions. Those skilled in the art should understand that these drawings are not necessarily drawn to scale. In the drawings: Figure 1 This is a flowchart illustrating a chained call method according to an embodiment of the present invention; Figure 2 This is a flowchart illustrating the parsing and execution operation in a chained call method according to an embodiment of the present invention; Figure 3 This is a control flow diagram of a chained call method according to an embodiment of the present invention; Figure 4 This is a schematic diagram of a computer program product according to an embodiment of the present invention; Figure 5 This is a schematic diagram of a computer-readable storage medium according to an embodiment of the present invention; and Figure 6 This is a schematic diagram of a computer device according to an embodiment of the present invention. Detailed Implementation

[0024] Exemplary embodiments of the invention will now be described in more detail with reference to the accompanying drawings. While exemplary embodiments of the invention are shown in the drawings, it should be understood that the invention may be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.

[0025] To address the aforementioned issues, this invention proposes a chained call method. Figure 1 This is a flowchart illustrating a chained call method according to an embodiment of the present invention. Figure 2 This is a flowchart illustrating the parsing and execution operation in a chained call method according to an embodiment of the present invention. Figure 1 As shown, the chained call method in this embodiment generally includes: Step S102: Construct an outer linked list for chained calls. Each node in the outer linked list is an inner linked list, and each inner linked list contains a sequence of column call nodes and function call nodes, or only function call nodes. It should be noted that chained calls refer to treating a function whose return value is an object type as an object type instance based on the characteristics of the object type. The object type function is called using "type instance.function name," and the returned value of the called object type function can also be an object type. Multiple calls in this manner form an outer linked list, which is the chained call. In this embodiment, a single chained call contains both object type column attributes and object type internal functions to achieve function-column chained calls.

[0026] Additionally, an inner linked list refers to a linked list of function calls located within the nodes of the outer linked list, representing another dimension of the linked list. Each node of the outer linked list constitutes an inner linked list. Each inner linked list contains only one function call node, or a sequence of consecutive column call nodes followed by their immediate neighboring function call node.

[0027] Therefore, the processing of column information and function information is completely separated. The outer linked list still uses the full function chain call processing method, and the column information can be processed separately.

[0028] Step S104: Following the node order of the outer linked list, parse and execute operations on each subsequent node after the first node. In other words, the outer linked list still uses the full function chain call processing method, while the column information in the inner linked list is processed separately.

[0029] Specifically, such as Figure 2 As shown, the step of parsing and executing any subsequent node in step S104 above may include: Step S202: Obtain the return value and object type of the previous node. It should be noted that in this embodiment, the object type refers to a database type with object-oriented characteristics. The object type possesses both column attributes and internal functions; the complete form of the object type can be "type instance.function name" or "type name.function name".

[0030] Step S204: Determine whether the inner linked list of the subsequent node contains a column call node. If so, proceed to step S206. It should be noted that an inner linked list may contain only one function call node, or an inner linked list may simultaneously contain a sequence of column call nodes consisting of multiple consecutively arranged column call nodes and the next adjacent function call node.

[0031] Step S206: Based on the object type of the return value of the previous node, process the column call node sequence in the inner linked list sequentially to obtain the target object of the column call, until the inner linked list contains only function call nodes, and then execute the function call node according to the target object. In other words, when the inner linked list contains column call nodes, process each column call node in the column call node sequence in the inner linked list sequentially, and execute the function call node in the inner chain according to the processing result of the column call.

[0032] In some embodiments, step S102 may include the following steps: performing syntax recognition on the operation statement to generate function call nodes and column call nodes; storing a sequence of multiple consecutive column call nodes and the next adjacent function call node as an inner linked list; storing function call nodes not associated with any column call node as an inner linked list; and using each inner linked list as a node of the outer linked list in the order of call to obtain the outer linked list.

[0033] In other words, during the syntax recognition stage, in addition to the recursive recognition of chained function calls, recognition logic for function combined with column chained call syntax is added. In this embodiment, preliminary semantic parsing can be used to determine whether the operation statement contains a chained call structure. When a column call is recognized, a corresponding column call node is generated based on the current column name until a function call is recognized. Then, all the columns and functions recognized in this operation are stored as an inner linked list. When a single function call is recognized, a corresponding function call node is generated, and then the single function call node is stored as another inner linked list. After the recognition is completed, each inner linked list is used as a node of an outer linked list to construct the outer linked list, which facilitates the parsing and execution of the linked list in subsequent steps.

[0034] Specifically, taking a chained call as A.FUNC_A().C.FUNC_C() as an example: The system first identifies the first function call node FUNC_A, stores it separately as the first inner linked list, and uses it as the first node of the outer linked list; it then identifies the column call node C and the second function call node FUNC_C, stores them as the second inner linked list, and uses them as the second node of the outer linked list; the outer linked list contains the first and second nodes in sequence to obtain the complete structure of the outer linked list.

[0035] Accordingly, during the subsequent parsing and execution operations, for the second node, it is determined that its inner linked list contains column call nodes. Then, the object type of the return value of the previous node (i.e., the first node) (i.e., object B) is used as input, and column call nodes C are processed in sequence to obtain the target object (i.e., object C). Then, the function call FUNC_C is executed based on object C.

[0036] Therefore, the chained call method of this invention, by storing the pure function segment and the mixed segment of function combined column as independent inner linked lists and forming an outer linked list, achieves a clear split of the chained call structure, solves the problem of the difficulty in distinguishing between columns and functions in mixed calls, provides an accurate data structure foundation for subsequent path parsing, thereby reducing parsing complexity and ensuring processing efficiency.

[0037] In some embodiments, step S104 may include the following steps: determining whether any subsequent node exists in the outer linked list; if it exists, performing a parsing and execution operation on the first subsequent node in the outer linked list, and returning to the step of determining whether any subsequent node exists in the outer linked list; if it does not exist, returning the function call result of the previous parsing and execution operation.

[0038] In other words, after processing the first node, it checks if there are any subsequent nodes in the remaining linked list. If so, it recursively processes those nodes. After processing each subsequent node, it deletes it. This process continues until all nodes have been processed, at which point the function call result from the previous processing is returned.

[0039] Therefore, the chained call method of this invention achieves the orderly execution of the entire chained call by processing each subsequent node of the outer linked list in sequence, thereby ensuring the correctness of the call result.

[0040] In some embodiments, step S202 may include the following steps: obtaining the return value of the first node and its object type; or obtaining the return value of the previous subsequent node in the outer linked list and its object type.

[0041] It's important to note that in the outer linked list of chained function calls, the first node is typically a complete object-type function, making it relatively easy to parse. Subsequent function call nodes, however, are not complete object-type functions and are generally difficult to parse using conventional semantic methods such as string recognition.

[0042] Therefore, after parsing and executing the first node, the first node is deleted, and the return value of the first node and its object type are used as input to process subsequent nodes after the first node, thereby improving the parsing and execution efficiency of operation statements with chained calls.

[0043] In some embodiments, step S204 may include the following steps: determining whether the number of nodes in the inner linked list of the subsequent node is greater than 1; if yes, then determining that the inner linked list of the subsequent node contains a column call node; if no, then determining that the inner linked list of the subsequent node does not contain a column call node.

[0044] Specifically, the inner linked list contains only function call nodes, or it contains a sequence of column call nodes and a function call node arranged in sequence. Therefore, when the number of nodes in the inner linked list is equal to 1, it means that the inner linked list contains only one function call node; when the number of nodes is greater than 1, it contains at least one column call node and one function call node.

[0045] Therefore, the chained call method of this invention can quickly distinguish between pure function segments and mixed segments of function-combined columns by judging whether the number of nodes in the inner linked list is greater than 1. This achieves efficient judgment on whether the inner linked list contains column call nodes, simplifies the judgment logic, and thus improves the parsing and execution speed.

[0046] In some embodiments, after step S204 above, the chained call method of the present invention may further include the following steps: when the inner linked list does not contain column call nodes, execute the function call node in the inner linked list according to the object type of the return value of the previous node.

[0047] Specifically, the above steps of executing the function call node in the inner linked list based on the object type of the return value of the previous node may include the following steps: modifying the function call node in the inner linked list to the full form of the object type based on the object type of the return value of the previous node; executing the function call node by using the return value of the previous node as the first parameter of the function of the function call node, and deleting the function call node.

[0048] In other words, if no inner linked list contains a column call node, it is determined that the inner linked list contains only function call nodes or has only function call nodes remaining. In this case, the function call node is executed based on the object type of the return value of the previous node to obtain the function call result for that inner linked list. Furthermore, after obtaining the function call result for that inner linked list, the function call node is deleted, thus deleting the current node of the outer linked list.

[0049] Therefore, the chained call method of this invention, by being compatible with the processing method of pure function chained calls, achieves accurate parsing of each node in the outer linked list, ensuring backward compatibility, and thus realizes chained calls combining functions and columns.

[0050] In some embodiments, the step of sequentially processing the column call node sequence in the inner linked list to obtain the target object of the column call in step S206 may include the following steps: using the object type of the return value of the previous node as the initial input, obtaining the output object of the current column call node in the column call node sequence, and deleting the current column call node; using the output object as the current input, sequentially obtaining the output object of each column call node in the column call node sequence until all column call nodes in the column call node sequence have been processed; and using the output object of the last column call node as the target object of the column call.

[0051] Specifically, taking the chained call A.FUNC_A().C.FUNC_C() as an example, the column call node sequence has only one node C. Using the type of the previous node's return value object B as the initial input, we obtain the output object of C (object C). Node C is then deleted, the sequence is empty, and object C is used as the target object. If there are multiple column call nodes such as ".CD", then C is processed first to obtain object C, and then D is processed using object C as input to obtain object D. The final target object is object D.

[0052] Therefore, the chained call method of this invention, by using the output object of the previous node as the input of the next column call node, processes each column call node sequentially and deletes the processed node, realizes the complete processing of a column call node sequence of arbitrary length, further ensuring the correctness and continuity of column value transmission, thereby expanding the applicability of chained calls.

[0053] In some embodiments, the step of obtaining the output object of each column call node in the column call node sequence may include the following steps: querying the position and type information of the column name of each column call node in the current input; constructing a column information calculation expression based on the queried position and type information to obtain the output object of the column call node.

[0054] In other words, the system searches for the attribute location and data type of the column name in the database's system table, using the current input object type as the query object.

[0055] Therefore, the chained call method of this invention queries the position and type information of the column name of each column call node in the current input, and constructs a column information calculation expression based on the queried position and type information to obtain the output object of the column call node. This achieves automatic acquisition of column values, solves the problem that columns cannot be directly referenced due to unknown or dynamically changing internal structures of objects, improves the versatility and adaptability of the method, and further improves the parsing and execution efficiency of database operation statements.

[0056] In some embodiments, the step S206 above, which executes the function call node based on the target object, may include the following steps: modifying the function call node immediately adjacent to the column call node sequence to the full form of the object type according to the type of the target object; executing the function call node with the target object as the first parameter of the function of the function call node, and deleting the function call node.

[0057] Therefore, the chained call method of this invention achieves seamless connection between columns and functions by directly using the target object obtained from column processing as the instance parameter of subsequent function calls, ensuring the correct execution order of the entire chained call, thereby avoiding the definition of intermediate variables and saving memory overhead.

[0058] In one specific embodiment, the execution flow of the chained call method of this invention mainly includes the following steps: 1. In the syntax recognition stage, based on the recursive recognition of chained function calls, additional logic is added to recognize the syntax of function combined with column chained calls. When a column call is recognized, the current column name is stored and recognition continues until a function call is recognized. Then, all the columns and functions recognized in this operation are stored in a linked list (i.e., the inner linked list). Then, the functions stored in each linked list are combined with the column calls and stored in another linked list (the outer linked list).

[0059] 2. During semantic parsing, additional processing is performed on functions that store chained call information combined with column calls: 2.1. Retrieve the first node from the linked list storing the linked call information; 2.2 Determine how many nodes are in the linked list within the current linked list node: 2.2.1 If the number of nodes is greater than 1, it indicates that the current linked list is a function call that combines functions and columns. In this case, the object type of the result of the previous call is used as input to query the position and type information of the column name in the current node in the object type. Then, the above information is used as the source information to construct the corresponding column information to calculate the expression. The result is the value of the column of this node. Then, the node of this segment in the inner linked list is deleted. 2.2.2 If the number of nodes is equal to 1, it indicates that the function is called alone. In this case, modify the function call FUNC_X() to X.FUNC_X() according to the return value type of the previous segment, and use the function call of the previous segment as the first parameter of this segment. Then delete the node of this segment in the outer linked list. 2.3. Based on the expression constructed in step 2.2, whether it is a column information calculation expression or a function call expression, use the appropriate method to obtain the return value type of this segment's call, and pass the function call structure, return value type, and function call chain of this segment as parameters to the parsing function of the next segment; 2.4 Recursively execute steps 2.1-2.3 until there are no nodes left in the chain of chained call information, which is the final function call. Return the call to the top level step by step.

[0060] 3. After using the additionally processed function call as the resolution node, the subsequent process is no different from a regular object function call.

[0061] Using the above method, in addition to recognizing full function chain calls, we added recognition logic for function combined with column chain call syntax, which completely separates the processing of column information from function information. The outer linked list still follows the processing method of full function chain calls, and the column information can be processed separately.

[0062] In addition, in the processing of column information, each column segment is used to construct an expression to calculate the column value, and then the column value of the previous segment is used as the input for the calculation of the column value of the next segment. This process continues until all nodes of the inner linked list are processed, which means that a function call segment is completed. Furthermore, the outer function call nodes are processed separately according to the logic of full function chaining, so that the processing of column information and function calls are combined but do not affect each other.

[0063] Therefore, the chained call method of the present invention, by constructing a two-layer structure of an outer linked list and an inner linked list, and performing a combination of column processing and function calls on the inner linked list containing column call nodes, realizes chained calls that combine functions and columns, thereby supporting scenarios where database object functions are combined with column chained calls. Compared with the conventional approach of combining object functions with column chained calls, it simplifies the calling method and saves the need for additional intermediate variable definitions, thereby improving the parsing and execution efficiency of the database.

[0064] Figure 3This is a control flow diagram of a chained call method according to an embodiment of the present invention. The following is in conjunction with... Figure 3 The process steps of chained calls in this embodiment will be explained in detail.

[0065] Step S302: Perform syntax recognition on the operation statement to generate function call nodes and column call nodes.

[0066] Step S304: Store the consecutively arranged sequence of multiple column call nodes and the next function call node as an inner linked list.

[0067] Step S306: Store function call nodes that are not associated with any column call node as an inner linked list.

[0068] Step S308: Each inner linked list is used as a node of the outer linked list in the order of its calls to obtain the outer linked list.

[0069] Step S310: Determine whether there is any subsequent node in the outer linked list. If yes, proceed to step S312; otherwise, proceed to step S322.

[0070] Step S312: Obtain the return value of the previous node and its object type.

[0071] Step S314: Determine whether the number of nodes in the inner linked list of the subsequent node is greater than 1. If yes, proceed to step S316; otherwise, proceed to step S318.

[0072] Step S316: Using the object type of the return value of the previous node as input, obtain the output object of the current column call node in the column call node sequence, delete the current column call node, and then return to step S314; Step S318: Modify the function call node in the inner linked list to the full form of the object type according to the object type of the return value of the previous node; In step S320, the return value of the previous node is used as the first parameter of the function of the function call node, the function call node is executed, the function call node is deleted, and then the process returns to step S310.

[0073] Step S322: Return the result of the function call that completed the previous parsing and execution operation. This completes the chained call process and ends the current flow.

[0074] Therefore, the chained call method of this invention constructs a two-layer structure of an outer linked list and an inner linked list, and performs a combination of column processing and function calls on the inner linked list containing column call nodes. This achieves chained calls that combine functions and columns, solves the problem of not being able to identify and parse chained calls with mixed column attributes, eliminates the need for users to define intermediate variables, simplifies the calling method, and improves the parsing and execution efficiency of database operation statements.

[0075] This embodiment also provides a computer program product 10, a computer-readable storage medium 20, and a computer device 30. Figure 4 This is a schematic diagram of a computer program product 10 according to an embodiment of the present invention. Figure 5 This is a schematic diagram of a computer-readable storage medium 20 according to an embodiment of the present invention. Figure 6 This is a schematic block diagram of a computer device 30 according to an embodiment of the present invention.

[0076] Computer program product 10 includes computer program 11, which, when executed by processor 32, implements the steps of any of the chained invocation methods described above. Computer-readable storage medium 20 stores the computer program 11 thereon, which, when executed by processor 32, implements the steps of the chained invocation method of any of the above embodiments. Computer device 30 may include memory 31, processor 32, and computer program 11 stored in memory 31 and running on processor 32.

[0077] The computer program 11 used to perform the operations of the present invention may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, status setting data, integrated circuit configuration data, or source code or object code written in any combination of one or more programming languages ​​and procedural programming languages.

[0078] Computer program 11 may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter case, the remote computer may be connected to the user's computer via any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, to perform aspects of the invention, electronic circuitry including, for example, programmable logic circuitry, a Field-Programmable Gate Array (FPGA), or a Programmable Logic Array (PLA) may execute computer-readable program instructions to personalize the electronic circuitry by utilizing state information of the computer-readable program instructions.

[0079] For the purposes of this embodiment, computer program product 10 is a related product that includes computer program 11.

[0080] For the purposes of this embodiment, computer-readable storage medium 20 is a tangible device capable of holding and storing computer program 11. It can be any device capable of containing, storing, communicating, propagating, or transmitting program 811 for use by or in conjunction with an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable storage medium 20 include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable optical disc read-only memory (CD-ROM), digital versatile disc (DVD), memory stick, floppy disk, mechanical encoding device, and any suitable combination thereof.

[0081] Therefore, those skilled in the art should recognize that although numerous exemplary embodiments of the present invention have been shown and described in detail herein, many other variations or modifications conforming to the principles of the present invention can be directly determined or derived from the disclosure of the present invention without departing from the spirit and scope of the invention. Thus, the scope of the present invention should be understood and construed as covering all such other variations or modifications.

Claims

1. A chained call method, comprising: Construct an outer linked list for chained calls, wherein each node of the outer linked list is an inner linked list, and each inner linked list contains a sequence of column call nodes and function call nodes or contains only function call nodes; Following the node order of the outer linked list, each subsequent node after the first node is parsed and executed; the parsing and execution operations include: Get the return value of the previous node and its object type; Determine whether the inner linked list of the subsequent node contains the column call node; If so, the column call node sequence in the inner linked list is processed sequentially according to the object type of the return value of the previous node to obtain the target object of the column call, until the inner linked list contains only function call nodes, and the function call node is executed according to the target object.

2. The chained call method according to claim 1, wherein, The step of sequentially processing the column call node sequence in the inner linked list to obtain the target object of the column call includes: Using the object type of the return value of the previous node as the initial input, the output object of the current column call node in the column call node sequence is obtained, and the current column call node is deleted; Using the output object as the current input, the output object of each column call node in the column call node sequence is obtained sequentially until all column call nodes in the column call node sequence have been processed; Use the output object of the last column call node as the target object for the column call.

3. The chained call method according to claim 2, wherein, The step of obtaining the output object of each column call node in the column call node sequence includes: Query the position and type information of the column name of each column call node in the current input; Based on the queried location and type information, a column information calculation expression is constructed to obtain the output object of the column calling node.

4. The chained call method according to claim 1, wherein, The steps for constructing the outer linked list for chained calls include: Perform syntax recognition on the operation statements to generate the function call nodes and the column call nodes; The consecutively arranged sequence of column call nodes and the next function call node that follows it are stored as an inner linked list; Function call nodes that are not associated with any column call node are stored as an inner linked list; Each inner linked list is used as a node of the outer linked list in the order of its invocation to obtain the outer linked list.

5. The chained call method according to claim 1, wherein, The step of executing the function call node based on the target object includes: Based on the type of the target object, modify the function call node immediately adjacent to the column call node sequence to the complete object type; The function call node is executed with the target object as the first parameter of the function call node, and then the function call node is deleted.

6. The chained call method according to claim 1, wherein, After determining whether the inner linked list of the subsequent node contains a column call node, the parsing execution operation further includes: If the inner linked list does not contain column call nodes, modify the function call nodes in the inner linked list to the full form of the object type based on the object type of the return value of the previous node; The function call node is executed by using the return value of the previous node as the first parameter of the function call node, and then the function call node is deleted.

7. The chained call method according to claim 1, wherein, The step of parsing and performing operations on each subsequent node after the first node according to the node order of the outer linked list includes: Determine whether any of the subsequent nodes exist in the outer linked list; If it exists, then perform the parsing operation on the first subsequent node in the outer linked list, and return to the step of determining whether any subsequent node exists in the outer linked list; If it does not exist, return the result of the function call after the parsing and execution operation described above is completed.

8. A computer-readable storage medium, characterized in that, It stores a computer program that, when executed by a processor, implements the steps of the chained call method as described in any one of claims 1 to 7.

9. A computer program product, comprising a computer program, characterized in that, When the computer program is executed by the processor, it implements the steps of the chained call method as described in any one of claims 1 to 7.

10. A computer device, characterized in that, It includes a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the steps of the chained invocation method according to any one of claims 1 to 7.