CN115757083A - Distributed database detection method and device - Google Patents

Distributed database detection method and device Download PDF

Info

Publication number
CN115757083A
CN115757083A CN202111028813.8A CN202111028813A CN115757083A CN 115757083 A CN115757083 A CN 115757083A CN 202111028813 A CN202111028813 A CN 202111028813A CN 115757083 A CN115757083 A CN 115757083A
Authority
CN
China
Prior art keywords
statement
select
sql
table structure
generating
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.)
Pending
Application number
CN202111028813.8A
Other languages
Chinese (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN202111028813.8A priority Critical patent/CN115757083A/en
Priority to PCT/CN2022/116588 priority patent/WO2023030461A1/en
Publication of CN115757083A publication Critical patent/CN115757083A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • 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
    • 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/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Landscapes

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

Abstract

The embodiment of the application provides a distributed database detection method and a device, wherein the method comprises the following steps: acquiring a complexity factor of SQL; constructing a table structure according to the complexity factor; acquiring the basic element of the SQL from a parameter dictionary according to the complexity factor, and generating an SQL statement according to the table structure and the basic element; the distributed database is detected according to the table structure and the SQL sentences, so that the problems that the SQL sentences of the related technology cannot be enumerated and traversed, the manually designed SQL grammar is simple, the test grammar is easy to miss and the complex application scene of the actual distributed database cannot be met are solved, the table structure is built according to the complexity factor, the SQL sentences are generated according to the table structure and the basic elements, the random creation of the table structure to the addition, deletion, modification and check of the corresponding data are realized, and the SQL sentences can be flexibly generated to deal with the complex application scene of the distributed database.

Description

Distributed database detection method and device
Technical Field
The embodiment of the application relates to the field of communication, in particular to a distributed database detection method and device.
Background
With the rapid development of domestic distributed databases, the syntax compatibility and the use method of Structured Query Language (SQL) face huge challenges. Meanwhile, the distributed database has more and more used scenes, and higher requirements are put forward on functions and performances supported by the database. Because different business table structures are different, business logic is complex and changeable, writing methods of SQL statements are also diverse, enumeration traversal cannot be achieved through manually written test SQL or SQL automatically generated by a conventional SQL generating tool, the designed SQL grammar is simple, and the application scene that test grammar omission may not meet the complex requirement of an actual distributed database is easily generated.
Aiming at the problems that the SQL sentences of the related technology cannot be enumerated and traversed, the manually designed SQL grammar is simple, test grammar is easy to miss, and the complicated application scene of the actual distributed database cannot be met, no solution is provided.
Disclosure of Invention
The embodiment of the application provides a method and a device for detecting a distributed database, so as to solve the problems that in the related art, an SQL statement cannot be enumerated and traversed, an artificially designed SQL grammar is simple, the possibility of missing a test grammar is easily caused, and the complex application scene of the actual distributed database cannot be met.
According to an embodiment of the present application, there is provided a distributed database detection method including:
acquiring a complexity factor of SQL;
constructing a table structure according to the complexity factor;
acquiring the basic elements of the SQL from a parameter dictionary according to the complexity factors, and generating SQL sentences according to the table structure and the basic elements;
and detecting the distributed database according to the table structure and the SQL statement.
In one embodiment, constructing a table structure according to the complexity factor comprises:
acquiring fields, field types, field lengths, distribution strategies and partition strategies from the parameter dictionary table;
combining the field, the field type, the field length, the distribution strategy and the partition strategy to obtain a combined result;
and constructing a table structure of the distributed database and a table structure of a heterogeneous database according to the combination.
In an embodiment, the detecting the distributed database according to the table structure and the SQL statement includes:
injecting the table structure of the distributed database and the SQL sentences into the distributed database, meanwhile, injecting the table structure of the heterogeneous database and the SQL sentences into the heterogeneous database, and generating a first result file of the distributed database and a second result file of the heterogeneous database;
comparing the first result file with the second result file to obtain a comparison result;
if the comparison result is that the first result file is the same as the second result file, determining that the distributed database is normal;
and if the comparison result is that the first result file is different from the second result file, determining that the distributed database is abnormal.
In an embodiment, acquiring the basic element of SQL from a parameter dictionary according to the complexity factor, and generating an SQL statement according to the table structure and the basic element includes:
acquiring a function, a grammar rule, a grammar limiting condition and a field range from the parameter dictionary, wherein the basic elements comprise the function, the grammar rule, the grammar limiting condition and the field range;
and generating the SQL statement according to the complexity factor, the table structure, the function, the grammar rule, the grammar limiting condition and the field range.
In one embodiment, generating the SQL statement according to the complexity factor, the table structure, the function, the syntax rule, the syntax constraint, and the field range comprises:
if the SQL statement is a SELECT statement, generating a first SELECT statement according to the basic elements; generating SELECT LIST of the SELECT statement according to the table structure and the complexity factor, wherein SELECT LIST is a component of an expression SELECT _ expr of the SELECT statement; determining the FROM of the SELECT statement according to the first SELECT statement, and determining the CONDITION of the SELECT statement according to the complexity factor; generating the SELECT statement according to a grammar rule of the SELECT statement, wherein the grammar rule of the SELECT statement is SELECT SELECT _ expr FROM tab _ reference CONDITION;
if the SQL statement is an INSERT statement, determining the composition of the VALUE contained in the INSERT statement according to the complexity factor, and if the VALUES VALUE _ list is composed of specific VALUEs, determining the VALUES VALUE _ list according to the data type VALUE range of the fields in the table structure; if the VALUES value _ list is determined by the SELECT query result, generating a SELECT statement to form the VALUES value _ list; determining tbl _ name according to the table structure; and generating the INSERT statement according to the grammar rule of the INSERT statement, wherein the grammar rule of the INSERT statement is as follows: INSERT INTO tbl _ name VALUES value _ list;
if the SQL statement is an UPDATE statement, determining an assignment _ list of the UPDATE statement according to the table structure, wherein the VALUE corresponding to the assignment _ list is formed by a specific VALUE or a select statement query result; determining the FROM and CONDITION of the UPDATE statement, and generating the UPDATE statement according to the grammar rule of the UPDATE statement, wherein the grammar rule of the UPDATE statement is as follows: update tbl _ name set assignment _ list neighbor condition;
if the SQL statement is a DELETE statement, tbl _ name is determined according to the table structure, FROM and CONDITION of the DELETE statement are determined, and the DELETE statement is generated according to a syntax rule of the DELETE statement, wherein the syntax rule of the DELETE statement is as follows: DELETE FROM tbl _ name where CONDITION;
if the SQL statement is a DELETE statement, determining tbl _ name according to the table structure, determining FROM and CONDITION of the DELETE statement, and generating the DELETE statement according to the grammar rule of the DELETE statement, wherein the grammar rule of the DELETE statement is as follows: DELETE FROM tbl _ name where CONDITION;
if the SQL statement is the ALTER statement, determining tbl _ name of the ALTER statement according to the table structure; determining the ALTER _ option of the ALTER statement according to the complexity factor, and generating the ALTER statement according to a grammar rule of the ALTER statement, wherein the grammar rule of the ALTER statement is ALTER TABLE tbl _ name ALTER _ option;
if the SQL statement is a DROP statement, a table name is obtained from the table structure, the table name is replaced by the tbl _ name according to the syntax rule of the DROP statement, and the DROP statement is generated, wherein the syntax rule of the DROP statement is a DROP table tbl _ name.
In an embodiment, generating SELECT LIST of the SELECT statement according to the table structure and the complexity factor includes:
if SELECT LIST selected from the table structure contains nested subqueries, determining the number of nested layers according to the complexity factor;
and executing SELECT nesting according to the nesting layer number until the nested subquery is not contained, and combining to obtain the SELECT LIST.
In one embodiment, determining the FROM of the SELECT statement according to the first SELECT statement comprises:
determining a composition structure of the FROM according to the SQL complexity factor;
if tab _ reference in the FROM is a physical table, acquiring the table name of the physical table, and generating the FROM according to the table name of the physical table;
if tab _ reference in the FROM is a table based on a query result, under the condition that the FROM is determined to relate to a sub-query, generating the FROM formed by the first SELECT statement, and taking the SELECT query result of executing the first SELECT statement as the tab _ reference of the FROM; and under the condition that the FROM contains the association between the tables, acquiring the information of the association table, generating a second SELECT statement based on the association table, and generating the FROM consisting of the second SELECT statement.
According to another embodiment of the present application, there is provided a distributed database detection apparatus including:
the acquisition module is used for acquiring the complexity factor of the SQL;
a construction module for constructing a table structure according to the complexity factor;
the generating module is used for acquiring the basic elements of the SQL from a parameter dictionary according to the complexity factors and generating SQL sentences according to the table structure and the basic elements;
and the detection module is used for detecting the distributed database according to the table structure and the SQL statement.
In one embodiment, the construction module comprises:
the first obtaining submodule is used for obtaining fields, field types, field lengths, distribution strategies and partition strategies from the parameter dictionary table;
the combination submodule is used for combining the field, the field type, the field length, the distribution strategy and the partition strategy to obtain a combination result;
and the construction submodule is used for constructing the table structure of the distributed database and the table structure of the heterogeneous database according to the combination.
In one embodiment, the detection module comprises:
the injection submodule is used for injecting the table structure and the SQL sentences of the distributed database into the distributed database, meanwhile, the table structure and the SQL sentences of the heterogeneous database are in the heterogeneous database, and a first result file and a second result file of the distributed database are generated;
the comparison submodule is used for comparing the first result file with the second result file to obtain a comparison result;
the first determining submodule is used for determining that the distributed database is normal if the comparison result shows that the first result file is the same as the second result file;
and the second determining submodule is used for determining that the distributed database is abnormal if the comparison result shows that the first result file is different from the second result file.
In one embodiment, the generating module comprises:
a second obtaining sub-module, configured to obtain a function, a grammar rule, a grammar constraint and a field range from the parameter dictionary, where the basic elements include the function, the grammar rule, the grammar constraint and the field range;
and the generation submodule is used for generating the SQL statement according to the complexity factor, the table structure, the function, the grammar rule, the grammar limiting condition and the field range.
In an embodiment, the generating sub-module is further configured to:
if the SQL statement is a SELECT statement, generating a first SELECT statement according to the basic elements; generating SELECT LIST of the SELECT statement according to the table structure and the complexity factor, wherein SELECT LIST is a component of an expression SELECT _ expr of the SELECT statement; determining the FROM of the SELECT statement according to the first SELECT statement, and determining the CONDITION of the SELECT statement according to the complexity factor; and generating the SELECT statement according to the grammar rule of the SELECT statement, wherein the grammar rule of the SELECT statement is SELECT SELECT _ expr FROM tab _ reference CONDITION.
If the SQL statement is an INSERT statement, determining the composition of the VALUE contained in the INSERT statement according to the complexity factor, and if the VALUES VALUE _ list is composed of specific VALUEs, determining the VALUES VALUE _ list according to the data type VALUE range of the fields in the table structure; if the VALUES value _ list is determined by the SELECT query result, generating a SELECT statement to form the VALUES value _ list; determining tbl _ name according to the table structure; and generating the INSERT statement according to the grammar rule of the INSERT statement, wherein the grammar rule of the INSERT statement is as follows: INSERT INTO tbl _ name VALUES value _ list;
if the SQL statement is an UPDATE statement, determining an assignment _ list of the UPDATE statement according to the table structure, wherein the VALUE corresponding to the assignment _ list is formed by a specific VALUE or a select statement query result; determining the FROM and CONDITION of the UPDATE statement, and generating the UPDATE statement according to the grammar rule of the UPDATE statement, wherein the grammar rule of the UPDATE statement is as follows: update tbl _ name set assignment _ list neighbor condition;
if the SQL statement is a DELETE statement, determining tbl _ name according to the table structure, determining FROM and CONDITION of the DELETE statement, and generating the DELETE statement according to the grammar rule of the DELETE statement, wherein the grammar rule of the DELETE statement is as follows: DELETE FROM tbl _ name world CONDITION;
if the SQL statement is a DELETE statement, tbl _ name is determined according to the table structure, FROM and CONDITION of the DELETE statement are determined, and the DELETE statement is generated according to a syntax rule of the DELETE statement, wherein the syntax rule of the DELETE statement is as follows: DELETE FROM tbl _ name where CONDITION;
if the SQL statement is the ALTER statement, determining tbl _ name of the ALTER statement according to the table structure; determining the ALTER _ option of the ALTER statement according to the complexity factor, and generating the ALTER statement according to the grammar rule of the ALTER statement, wherein the grammar rule of the ALTER statement is ALTER TABLE tbl _ name ALTER _ option;
if the SQL statement is a DROP statement, a table name is obtained from the table structure, the table name is replaced by the tbl _ name according to the syntax rule of the DROP statement, and the DROP statement is generated, wherein the syntax rule of the DROP statement is a DROP table tbl _ name.
In an embodiment, the generating sub-module is further configured to:
if SELECT LIST selected from the table structure contains nested sub-queries, determining the number of nested layers according to the complexity factor;
and executing SELECT nesting according to the nesting layer number until the nested subquery is not contained, and combining to obtain the SELECT LIST.
In an embodiment, the generating sub-module is further configured to:
determining a composition structure of the FROM according to the SQL complexity factor;
if tab _ reference in the FROM is a physical table, acquiring the table name of the physical table, and generating the FROM according to the table name of the physical table;
if tab _ reference in the FROM is a table based on a query result, under the condition that the FROM is determined to relate to a sub-query, generating the FROM formed by the first SELECT statement, and taking the SELECT query result of executing the first SELECT statement as the tab _ reference of the FROM; and under the condition that the FROM contains the association between the tables, acquiring the information of the association table, generating a second SELECT statement based on the association table, and generating the FROM consisting of the second SELECT statement.
According to a further embodiment of the application, there is also provided a computer-readable storage medium, in which a computer program is stored, wherein the computer program is arranged to perform the steps of any of the above-mentioned method embodiments when executed.
According to yet another embodiment of the present application, there is also provided an electronic device, comprising a memory in which a computer program is stored and a processor arranged to run the computer program to perform the steps of any of the above method embodiments.
According to the embodiment of the application, the complexity factor of SQL is obtained; constructing a table structure according to the complexity factor; acquiring the basic elements of the SQL from a parameter dictionary according to the complexity factors, and generating SQL sentences according to the table structure and the basic elements; the distributed database is detected according to the table structure and the SQL sentences, so that the problems that the SQL sentences of the related technology cannot be enumerated and traversed, the manually designed SQL grammar is simple, the test grammar is easy to miss and the complex application scene of the actual distributed database cannot be met are solved, the table structure is randomly constructed according to the complexity factor, the random complex SQL sentences are generated according to the table structure and the basic elements, the random creation of the table structure to the addition and deletion investigation of the corresponding data are realized, the SQL sentences can be flexibly generated, and the complex application scene of the distributed database can be coped with.
Drawings
Fig. 1 is a block diagram of a hardware structure of a mobile terminal of a distributed database detection method according to an embodiment of the present application;
FIG. 2 is a flow chart of a distributed database detection method according to an embodiment of the present application;
FIG. 3 is a flowchart of a method of generating a SELECT statement according to the present embodiment;
fig. 4 is a block diagram of a distributed database detection apparatus according to the present embodiment;
FIG. 5 is a first block diagram of a distributed database detection apparatus according to the preferred embodiment;
FIG. 6 is a block diagram two of a distributed database detection apparatus according to the preferred embodiment;
fig. 7 is a block diagram three of the distributed database detection apparatus according to the preferred embodiment.
Detailed Description
Embodiments of the present application will be described in detail below with reference to the accompanying drawings in conjunction with embodiments.
It should be noted that the terms "first," "second," and the like in the description and claims of this application and in the drawings described above are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order.
The method embodiments provided in the embodiments of the present application may be executed in a mobile terminal, a computer terminal, or a similar computing device. Taking a mobile terminal as an example, fig. 1 is a hardware structure block diagram of a mobile terminal of a distributed database detection method according to an embodiment of the present application, and as shown in fig. 1, the mobile terminal may include one or more processors 102 (only one is shown in fig. 1) (the processor 102 may include, but is not limited to, a processing device such as a microprocessor MCU or a programmable logic device FPGA), and a memory 104 for storing data, where the mobile terminal may further include a transmission device 106 for a communication function and an input/output device 108. It will be understood by those skilled in the art that the structure shown in fig. 1 is only an illustration, and does not limit the structure of the mobile terminal. For example, the mobile terminal may also include more or fewer components than shown in FIG. 1, or have a different configuration than shown in FIG. 1.
The memory 104 may be used to store a computer program, for example, a software program and a module of an application software, such as a computer program corresponding to the distributed database detection method in the embodiment of the present application, and the processor 102 executes various functional applications and service chain address pool slicing processing by running the computer program stored in the memory 104, thereby implementing the method described above. The memory 104 may include high speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include memory located remotely from the processor 102, which may be connected to the mobile terminal over a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The transmission device 106 is used to receive or transmit data via a network. Specific examples of the network described above may include a wireless network provided by a communication provider of the mobile terminal. In one example, the transmission device 106 includes a Network adapter (NIC), which can be connected to other Network devices through a base station so as to communicate with the internet. In one example, the transmission device 106 may be a Radio Frequency (RF) module, which is used for communicating with the internet in a wireless manner.
In this embodiment, a distributed database detection method operating in the mobile terminal or the network architecture is provided, where the method is applied to a terminal, the terminal accesses a current primary node MN cell and a current secondary node SN cell of a source area through Dual Connection (abbreviated as DC), and fig. 2 is a flowchart of the distributed database detection method according to an embodiment of the present application, where as shown in fig. 2, the flowchart includes the following steps:
step S202, acquiring SQL complexity factors;
step S204, constructing a table structure according to the complexity factor;
in this embodiment, the step S204 may specifically include: acquiring fields, field types, field lengths, distribution strategies and partition strategies from the parameter dictionary table; combining the field, the field type, the field length, the distribution strategy and the partition strategy to obtain a combined result; and constructing a table structure of the distributed database and a table structure of a heterogeneous database according to the combination. Specifically, the table structure is created by a CREATE statement, the CREATE statement includes a table field, a table partition, a table distribution key, and a table index, and the CREATE statement is one of the SQL statements. The Create grammar rule is as follows:
CREATE TABLE [ IF NOT EXISTS ] tbl _ name (CREATE _ definition, ]) [ partial _ options ] [ distributed _ option ], where [ ] denotes optional, the CREATE _ definition denotes TABLE definitions including fields, field types, indexes, etc., the partial _ options denotes partition policies, and the distributed _ option denotes distribution policies.
Step S206, acquiring the basic elements of the SQL from a parameter dictionary according to the complexity factors, and generating SQL sentences according to the table structure and the basic elements;
and S208, detecting the distributed database according to the table structure and the SQL statement.
In this embodiment, the step S208 may specifically include: injecting the table structure of the distributed database and the SQL sentences into the distributed database, meanwhile, injecting the table structure of the heterogeneous database and the SQL sentences into the heterogeneous database, and generating a first result file of the distributed database and a second result file of the heterogeneous database; comparing the first result file with the second result file to obtain a comparison result; if the comparison result is that the first result file is the same as the second result file, determining that the distributed database is normal; and if the comparison result is that the first result file is different from the second result file, determining that the distributed database is abnormal.
Through the steps S202 to S208, the complexity factor of the SQL is obtained; constructing a table structure according to the complexity factor; acquiring the basic elements of the SQL from a parameter dictionary according to the complexity factors, and generating SQL sentences according to the table structure and the basic elements; the distributed database is detected according to the table structure and the SQL sentences, so that the problems that the SQL sentences of the related technology cannot be enumerated and traversed, the manually designed SQL grammar is simple, the test grammar is easy to miss and the complex application scene of the actual distributed database cannot be met are solved, the table structure is built according to the complexity factor, the SQL sentences are generated according to the table structure and the basic elements, the random creation of the table structure to the addition, deletion, modification and check of the corresponding data are realized, the SQL sentences can be flexibly generated, and the complex application scene of the distributed database can be coped with.
In this embodiment, the step S206 may specifically include:
s2061, obtaining a function, a grammar rule, a grammar restriction condition and a field range from the parameter dictionary, wherein the basic element includes the function, the grammar rule, the grammar restriction condition and the field range;
s2062, generating the SQL statement according to the complexity factor, the table structure, the function, the grammar rule, the grammar limiting condition and the field range.
In an embodiment, the S2062 specifically includes:
if the SQL statement is a SELECT statement, generating a first SELECT statement according to the basic elements; generating SELECT LIST of the SELECT statement according to the table structure and the complexity factor, specifically, if SELECT LIST selected from the table structure contains a nested sub-query, determining the number of nested layers according to the complexity factor; executing SELECT nesting according to the nesting layer number until the nested subquery is not contained, and combining to obtain SELECT LIST, wherein SELECT LIST is a component of an expression SELECT _ expr of the SELECT statement; determining a FROM of the SELECT statement according to the first SELECT statement, specifically, determining a composition structure of the FROM according to the SQL complexity factor; if tab _ reference in the FROM is a physical table, acquiring the table name of the physical table, and generating the FROM according to the table name of the physical table; if tab _ reference in the FROM is a table based on a query result, under the condition that the FROM is determined to relate to a sub-query, generating the FROM formed by the first SELECT statement, and taking the SELECT query result of executing the first SELECT statement as the tab _ reference of the FROM; under the condition that the FROM contains the association between tables, acquiring association table information, generating a second SELECT statement based on the association table, and generating the FROM consisting of the second SELECT statement; determining the CONDITION of the SELECT statement according to the complexity factor; generating the SELECT statement according to a grammar rule of the SELECT statement, wherein the grammar rule of the SELECT statement is SELECT SELECT _ expr FROM tab _ reference CONDITION; that is, the SQL statement is a SELECT statement, the SELECT statement is created according to the complexity factor, the table structure, the function, the syntax rule, the syntax constraint and the field range, the syntax rule of the SELECT statement is SELECT SELECT _ expr FROM tab _ reference CONDITION, the SELECT SELECT _ expr includes the function and the CONDITION is the syntax constraint, and the SELECT SELECT _ expr and the CONDITION include the function;
if the SQL statement is an INSERT statement, determining the composition of the VALUE contained in the INSERT statement according to the complexity factor, and if the VALUES VALUE _ list is composed of specific VALUEs, determining the VALUES VALUE _ list according to the data type VALUE range of the fields in the table structure; if the VALUES value _ list is determined by the SELECT query result, generating a SELECT statement to form the VALUES value _ list; determining tbl _ name according to the table structure; and generating the INSERT statement according to the grammar rule of the INSERT statement, wherein the grammar rule of the INSERT statement is as follows: INSERT INTO tbl _ name VALUES value _ list; namely, the SQL statement is an INSERT statement, the INSERT statement comprises VALUE and SELECT, and the syntax rule of the INSERT statement is as follows: INSERT int tbl _ name value _ list, where tbl _ name is a table name, determined when creating the table structure). The VALUES value _ list is a specific value or is composed of a select query statement. Determining the value structure according to the complexity factor, if the value is composed of specific values, determining the specific value generation rule according to the data type value range of the fields in the table structure, acquiring the data type value range from the parameter dictionary, and randomly generating the numerical values meeting the requirements in the field data type value range; if the value is determined by the SELECT query result, calling a SELECT generator to generate a SELECT statement to form a value _ list;
if the SQL statement is an UPDATE statement, determining an assignment _ list of the UPDATE statement according to the table structure, wherein the VALUE corresponding to the assignment _ list is formed by a specific VALUE or a select statement query result; determining the FROM and CONDITION of an UPDATE statement, and generating the UPDATE statement according to the grammatical rules of the UPDATE statement, wherein the grammatical rules of the UPDATE statement are as follows: update tbl _ name set assignment _ list neighbor condition; the syntax rule of the UPDATE statement formed by the SET unit is as follows: UPDATE tbl _ name set assignment _ list condition, assignment _ list represents column name, the column name is determined according to table structure, the VALUE corresponding to assignment _ list is formed by specific VALUE or by selection statement query result, if the result is obtained, step S5 is called, condition calls step S4, then a complete UPDATE statement is formed;
if the SQL statement is a DELETE statement, determining tbl _ name according to the table structure, determining FROM and CONDITION of the DELETE statement, wherein the specific determination mode is similar to the mode determined by FROM and CONDITION in the SELECT statement, and is not repeated here, and generating the DELETE statement according to the grammar rule of the DELETE statement, wherein the grammar rule of the DELETE statement is as follows: DELETE FROM tbl _ name where CONDITION;
if the SQL statement is a DELETE statement, determining tbl _ name according to the table structure, determining FROM and CONDITION of the DELETE statement, and generating the DELETE statement according to the grammar rule of the DELETE statement, wherein the grammar rule of the DELETE statement is as follows: DELETE FROM tbl _ name where CONDITION;
if the SQL statement is the ALTER statement, tbl _ name of the ALTER statement is determined according to the table structure; determining the ALTER _ option of the ALTER statement according to the complexity factor, and generating the ALTER statement according to a grammar rule of the ALTER statement, wherein the grammar rule of the ALTER statement is ALTER TABLE tbl _ name ALTER _ option; the syntax rule of the ALTER statement is ALTER TABLE tbl _ name _ option, wherein tbl _ name is a TABLE name determined when the TABLE structure is created, the ALTER _ option comprises attributes for modifying the TABLE structure, the ALTER _ option comprises data types, partitions and indexes in a parameter dictionary, the number of added and deleted columns is determined according to the complexity factor, whether the names of the changed columns are modified, whether the indexes and the partitions are added and deleted are determined, and the ALTER statement is generated;
if the SQL statement is a DROP statement, a table name is obtained from the table structure, the table name is replaced by the tbl _ name according to the syntax rule of the DROP statement, and the DROP statement is generated, wherein the syntax rule of the DROP statement is a DROP table tbl _ name.
In this embodiment, a parameter dictionary is created, which covers all the field types, distribution policies, partition policies, all the supported functions, grammar rules, grammar constraints, and field type value ranges. The method for automatically generating the table structure comprises the following steps: randomly acquiring fields, field types, field lengths, distribution strategies and partition strategies from the parameter dictionary table, randomly combining the fields, the field types, the field lengths, the distribution strategies and the partition strategies, constructing a table structure according to the requirement of a distributed database table structure, and generating the table structure of a heterogeneous database; the automatic generation method of the SELECT, INSERT, UPDATE and DELETE statements comprises the following steps: and acquiring functions, grammar rules, grammar limiting conditions and field ranges from the parameter dictionary, generating SQL complexity factors by the complexity module and generating SQL by the SQL generator. Automatically creating INSERT statements in a distributed database according to a randomly generated table structure, wherein the value of the INSERT is randomly acquired in a boundary value range, and meanwhile, illegal values are added for each field type; the SELECT statement random generation method comprises the steps of obtaining any grammatical rule of a function from a parameter dictionary, automatically generating query SQL by combining randomly generated SELECT query statement complexity factors, wherein the query SQL relates to SELECT LIST consisting of simple fields, SELECT LIST containing the function and an expression and SELECT LIST containing a plurality of table fields; the UPDATE statement contains UPDATEs to the full-table field, traversing the field boundary values. The embodiment can generate different SQL as much as possible, cover different SQL statements, avoid omission of test cases and increase the reliability of the distributed database.
In this embodiment, the complexity of SQL is determined according to a complexity factor randomly generated by the SQL complexity control module, a grammar rule and a grammar rule restriction condition are obtained from a parameter dictionary, a random field type and a field range value are selected, and SQL is automatically generated by the SQL generator module. And simultaneously injecting the constructed table structure and the SQL into the object to be tested and the heterogeneous database to generate a result file, and comparing the result comparison file of the table structure and the SQL by a result comparator to ensure the correctness of the result of the object to be tested.
The SQL statement generation in this embodiment includes generation of DDL and DML, and the DDL generates CREATE, ALTER, and DROP statements that contain a distributed database table. The CREATE statement comprises a table field, a table partition and a table distribution key; the ALTER statement comprises fields, indexes, partitions, table indexes and column attributes; the DROP statement contains a table name. The DML generation comprises SELECT, UPDATE, INSERT and DELETE generation; SELECT generation comprises SELECT LIST, FROM and CONDITION generation; the SELECT generates a query and a function, the FROM generates a query and an association table, and the CONDITION generates a query;
if the SQL statement is a SELECT statement, fig. 3 is a flowchart of the method for generating a SELECT statement according to the present embodiment, and as shown in fig. 3, the method includes the following steps:
step S301, obtaining SQL complexity factor, controlling SQL complexity, obtaining SQL basic elements FROM parameter dictionary according to complexity factor by SQL generator, generating SELECT statement (corresponding to the first SELECT statement, the SELECT statement comprises SELECT SELECT _ exp FROM tab _ reference CONDITION);
step S302, generating SELECT LIST, SELECT LIST of a SELECT statement according to a table structure as a component of an expression SELECT _ expr, randomly generating a field value and a plurality of functions according to a complexity factor and a grammar rule obtained from a parameter dictionary, if the selected SELECT LIST contains nested subqueries, performing SELECT generation in a nested manner, determining the number of nested layers by the complexity factor, and determining SELECT LIST structures through combination, wherein the steps comprise: column name, function, sub-query;
step S303, determining an FROM of the SELECT statement, executing FROM generation, determining an FROM composition structure by using an SQL complexity factor, wherein a table tab _ reference in the FROM comprises a physical table or a table (virtual table) based on a query result, if the table is the physical table, acquiring a table name of the physical table, and generating the FROM by using the table name of the physical table; if the FROM contains a table based on the query result, the FROM relates to sub-query, step S301 is invoked, the FROM formed by the SELECT statement is generated, and the SELECT query result of executing the SELECT statement is taken as tab _ reference of the FROM; if the FROM is determined to contain the association between the tables, acquiring the information of the association table FROM the CREATE generating module, and calling the step S301 to generate a SELECT statement based on the association table and generate the FROM consisting of the SELECT statement;
step S304, determining the CONDITION of the SQL statement according to the complexity factor, wherein the SQL CONDITION comprises a logic expression, and executing the CONDITION generation, the SQL CONDITION is determined by the complexity factor and the step S301, the CONDITION comprises the logic expression, the CONDITION in the expression comprises a SELECT statement or a specific value, and the specific value is directly generated according to the field range in the parameter dictionary;
step S305, generating all query statements according to the FROM of the SELECT statement generated in step S302, the FROM determined in step S303, and the CONDITION generated in step S304, and nesting and splicing all statement blocks into a complete SQL query statement (corresponding to the second SELECT statement) to be output.
According to another embodiment of the present application, there is provided a distributed database detection apparatus, and fig. 4 is a block diagram of the distributed database detection apparatus according to the present embodiment, as shown in fig. 4, including:
an obtaining module 42, configured to obtain a complexity factor of SQL;
a construction module 44 for constructing a table structure according to the complexity factor;
a generating module 46, configured to obtain the basic element of the SQL from a parameter dictionary according to the complexity factor, and generate an SQL statement according to the table structure and the basic element;
and the detection module 48 is used for detecting the distributed database according to the table structure and the SQL statement.
Fig. 5 is a block diagram of a distributed database detection apparatus according to the preferred embodiment, and as shown in fig. 5, the configuration module 44 includes:
the first obtaining submodule 52 is configured to obtain a field, a field type, a field length, a distribution policy, and a partition policy from the parameter dictionary table;
a combining submodule 54, configured to combine the field, the field type, the field length, the distribution policy, and the partition policy to obtain a combined result;
and the constructing submodule 56 is used for constructing the table structure of the distributed database and the table structure of the heterogeneous database according to the combination.
Fig. 6 is a block diagram ii of the distributed database detection apparatus according to the preferred embodiment, and as shown in fig. 6, the detection module 48 includes:
the injection submodule 62 is configured to inject the table structure of the distributed database and the SQL statement into the distributed database, and simultaneously inject the table structure of the heterogeneous database and the SQL statement into the heterogeneous database, and generate a first result file of the distributed database and a second result file of the heterogeneous database;
the comparison submodule 64 is configured to compare the first result file with the second result file to obtain a comparison result;
a first determining submodule 66, configured to determine that the distributed database is normal if the comparison result is that the first result file is the same as the second result file;
a second determining submodule 68, configured to determine that the distributed database is abnormal if the comparison result indicates that the first result file is different from the second result file.
Fig. 7 is a block diagram three of the distributed database detection apparatus according to the preferred embodiment, and as shown in fig. 7, the generating module 46 includes:
a second obtaining submodule 72, configured to obtain a function, a syntax rule, a syntax limitation condition, and a field range from the parameter dictionary, where the basic elements include the function, the syntax rule, the syntax limitation condition, and the field range;
a generating submodule 74, configured to generate the SQL statement according to the complexity factor, the table structure, the function, the syntax rule, the syntax constraint, and the field range.
In an embodiment, the generating submodule 74 is further configured to:
if the SQL statement is a SELECT statement, generating a first SELECT statement according to the basic elements; generating SELECT LIST of the SELECT statement according to the table structure and the complexity factor, wherein SELECT LIST is a component of an expression SELECT _ expr of the SELECT statement; determining the FROM of the SELECT statement according to the first SELECT statement, and determining the CONDITION of the SELECT statement according to the complexity factor; and generating the SELECT statement according to the grammar rule of the SELECT statement, wherein the grammar rule of the SELECT statement is SELECT SELECT _ expr FROM tab _ reference CONDITION.
If the SQL statement is an INSERT statement, determining the composition of the VALUE contained in the INSERT statement according to the complexity factor, and if the VALUES VALUE _ list is composed of specific VALUEs, determining the VALUES VALUE _ list according to the data type VALUE range of the fields in the table structure; if the VALUES value _ list is determined by the SELECT query result, generating a SELECT statement to form the VALUES value _ list; determining tbl _ name according to the table structure; and generating the INSERT statement according to the grammar rule of the INSERT statement, wherein the grammar rule of the INSERT statement is as follows: INSERT INTO tbl _ name VALUES value _ list;
if the SQL statement is an UPDATE statement, determining an assignment _ list of the UPDATE statement according to the table structure, wherein the VALUE corresponding to the assignment _ list is formed by a specific VALUE or a select statement query result; determining the FROM and CONDITION of an UPDATE statement, and generating the UPDATE statement according to the grammatical rules of the UPDATE statement, wherein the grammatical rules of the UPDATE statement are as follows: update tbl _ name set assignment _ list neighbor condition;
if the SQL statement is a DELETE statement, determining tbl _ name according to the table structure, determining FROM and CONDITION of the DELETE statement, and generating the DELETE statement according to the grammar rule of the DELETE statement, wherein the grammar rule of the DELETE statement is as follows: DELETE FROM tbl _ name world CONDITION;
if the SQL statement is a DELETE statement, determining tbl _ name according to the table structure, determining FROM and CONDITION of the DELETE statement, and generating the DELETE statement according to the grammar rule of the DELETE statement, wherein the grammar rule of the DELETE statement is as follows: DELETE FROM tbl _ name world CONDITION;
if the SQL statement is the ALTER statement, determining tbl _ name of the ALTER statement according to the table structure; determining the ALTER _ option of the ALTER statement according to the complexity factor, and generating the ALTER statement according to a grammar rule of the ALTER statement, wherein the grammar rule of the ALTER statement is ALTER TABLE tbl _ name ALTER _ option;
if the SQL statement is a DROP statement, a table name is obtained from the table structure, the table name is replaced by the tbl _ name according to the syntax rule of the DROP statement, and the DROP statement is generated, wherein the syntax rule of the DROP statement is a DROP table tbl _ name.
In an embodiment, the generating sub-module 74 is further configured to:
if SELECT LIST selected from the table structure contains nested sub-queries, determining the number of nested layers according to the complexity factor;
and executing SELECT nesting according to the nesting layer number until the nested subquery is not contained, and combining to obtain the SELECT LIST.
In an embodiment, the generating sub-module 74 is further configured to:
determining a composition structure of the FROM according to the SQL complexity factor;
if tab _ reference in the FROM is a physical table, acquiring the table name of the physical table, and generating the FROM according to the table name of the physical table;
if tab _ reference in the FROM is a table based on a query result, under the condition that the FROM is determined to relate to a sub-query, generating the FROM formed by the first SELECT statement, and taking the SELECT query result of executing the first SELECT statement as the tab _ reference of the FROM; and under the condition that the FROM contains the association between the tables, acquiring the information of the association table, generating a second SELECT statement based on the association table, and generating the FROM consisting of the second SELECT statement.
Embodiments of the present application further provide a computer-readable storage medium having a computer program stored therein, wherein the computer program is configured to perform the steps in any of the above method embodiments when executed.
In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to: various media capable of storing computer programs, such as a usb disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a removable hard disk, a magnetic disk, or an optical disk.
Embodiments of the present application further provide an electronic device comprising a memory having a computer program stored therein and a processor configured to execute the computer program to perform the steps of any of the above method embodiments.
In an exemplary embodiment, the electronic apparatus may further include a transmission device and an input/output device, wherein the transmission device is connected to the processor, and the input/output device is connected to the processor.
For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary embodiments, and details of this embodiment are not repeated herein.
It will be apparent to those skilled in the art that the various modules or steps of the present application described above may be implemented using a general purpose computing device, they may be centralized on a single computing device or distributed across a network of multiple computing devices, and they may be implemented using program code executable by the computing devices, such that they may be stored in a memory device and executed by the computing devices, and in some cases, the steps shown or described may be performed in an order different than that described herein, or they may be separately fabricated into separate integrated circuit modules, or multiple ones of them may be fabricated into a single integrated circuit module. Thus, the present application is not limited to any specific combination of hardware and software.
The above description is only a preferred embodiment of the present application and is not intended to limit the present application, and various modifications and changes may be made by those skilled in the art. Any modification, equivalent replacement, improvement and the like made within the principle of the present application shall be included in the protection scope of the present application.

Claims (10)

1. A distributed database detection method, comprising:
acquiring a complexity factor of a structured query statement SQL;
constructing a table structure according to the complexity factor;
acquiring the basic elements of the SQL from a parameter dictionary according to the complexity factors, and generating SQL sentences according to the table structure and the basic elements;
and detecting the distributed database according to the table structure and the SQL statement.
2. The method of claim 1, wherein constructing a table structure according to the complexity factor comprises:
acquiring fields, field types, field lengths, distribution strategies and partition strategies from the parameter dictionary table;
combining the field, the field type, the field length, the distribution strategy and the partition strategy to obtain a combined result;
and constructing a table structure of the distributed database and a table structure of a heterogeneous database according to the combination.
3. The method of claim 2, wherein detecting a distributed database according to the table structure and the SQL statement comprises:
injecting the table structure of the distributed database and the SQL sentences into the distributed database, meanwhile, injecting the table structure of the heterogeneous database and the SQL sentences into the heterogeneous database, and generating a first result file of the distributed database and a second result file of the heterogeneous database;
comparing the first result file with the second result file to obtain a comparison result;
if the comparison result is that the first result file is the same as the second result file, determining that the distributed database is normal;
and if the comparison result is that the first result file is different from the second result file, determining that the distributed database is abnormal.
4. The method of claim 1, wherein obtaining the base element of SQL from a parameter dictionary according to the complexity factor and generating SQL statements according to the table structure and the base element comprises:
obtaining a function, a grammar rule, a grammar constraint and a field range from the parameter dictionary, wherein the basic elements comprise the function, the grammar rule, the grammar constraint and the field range;
and generating the SQL statement according to the complexity factor, the table structure, the function, the grammar rule, the grammar limiting condition and the field range.
5. The method of claim 4, wherein generating the SQL statement according to the complexity factor, the table structure, the function, the syntax rule, the syntax constraint, and the field range comprises:
if the SQL statement is a SELECT statement, generating a first SELECT statement according to the basic elements; generating SELECT LIST of the SELECT statement according to the table structure and the complexity factor, wherein SELECT LIST is a component of an expression SELECT _ expr of the SELECT statement; determining the FROM of the SELECT statement according to the first SELECT statement, and determining the CONDITION of the SELECT statement according to the complexity factor; generating the SELECT statement according to a grammar rule of the SELECT statement, wherein the grammar rule of the SELECT statement is SELECT SELECT _ expr FROM tab _ reference CONDITION;
if the SQL statement is an INSERT statement, determining the composition of VALUE contained in the INSERT statement according to the complexity factor, and if the VALUES VALUE _ l ist is formed by a specific VALUE, determining the VALUES VALUE _ l ist according to the data type VALUE range of the field in the table structure; if the VALUES value _ l ist is determined by the SELECT query result, generating a SELECT statement to form the VALUES value _ l ist; determining tbl _ name according to the table structure; and generating the INSERT statement according to the grammar rule of the INSERT statement, wherein the grammar rule of the INSERT statement is as follows: INSERT INTO tbl _ name VALUES value _ list;
if the SQL statement is an UPDATE statement, determining assignment _ l ist of the UPDATE statement according to the table structure, wherein the VALUE corresponding to the assignment _ l ist is formed by a specific VALUE or a select statement query result; determining the FROM and CONDITION of the UPDATE statement, and generating the UPDATE statement according to the grammar rule of the UPDATE statement, wherein the grammar rule of the UPDATE statement is as follows: update tbl _ name set assignment _ l ist where condition;
if the SQL statement is a DELETE statement, tbl _ name is determined according to the table structure, FROM and CONDITION of the DELETE statement are determined, and the DELETE statement is generated according to a syntax rule of the DELETE statement, wherein the syntax rule of the DELETE statement is as follows: DELETE FROM tbl _ name where CONDITION;
if the SQL statement is a DELETE statement, tbl _ name is determined according to the table structure, FROM and CONDITION of the DELETE statement are determined, and the DELETE statement is generated according to a syntax rule of the DELETE statement, wherein the syntax rule of the DELETE statement is as follows: DELETE FROM tbl _ name where CONDITION;
if the SQL statement is the ALTER statement, determining tbl _ name of the ALTER statement according to the table structure; determining the ALTER _ option of the ALTER statement according to the complexity factor, and generating the ALTER statement according to a grammar rule of the ALTER statement, wherein the grammar rule of the ALTER statement is ALTER TABLE tbl _ name ALTER _ option;
if the SQL statement is a DROP statement, a table name is obtained from the table structure, the table name is replaced by the tbl _ name according to the syntax rule of the DROP statement, and the DROP statement is generated, wherein the syntax rule of the DROP statement is a DROP table tbl _ name.
6. The method of claim 5, wherein generating SELECT LIST of the SELECT statement according to the table structure and the complexity factor comprises:
if SELECT LIST selected from the table structure contains nested sub-queries, determining the number of nested layers according to the complexity factor;
and executing SELECT nesting according to the nesting layer number until the nested subquery is not contained, and combining to obtain the SELECT LIST.
7. The method of claim 5, wherein determining the FROM of the SELECT statement FROM the first SELECT statement comprises:
determining a composition structure of the FROM according to the SQL complexity factor;
if tab _ reference in the FROM is a physical table, acquiring the table name of the physical table, and generating the FROM according to the table name of the physical table;
if tab _ reference in the FROM is a table based on the query result, generating the FROM formed by the first SELECT statement under the condition that the FROM is determined to relate to a sub-query, and taking the first SELECT statement as the tab _ reference of the FROM; and under the condition that the FROM contains the association between the tables, acquiring the information of the association table, generating a second SELECT statement based on the association table, and generating the FROM consisting of the second SELECT statement.
8. A distributed database detection apparatus, comprising:
the acquisition module is used for acquiring the complexity factor of the structured query statement SQL;
a construction module for constructing a table structure according to the complexity factor;
the generating module is used for acquiring the basic elements of the SQL from a parameter dictionary according to the complexity factors and generating SQL sentences according to the table structure and the basic elements;
and the detection module is used for detecting the distributed database according to the table structure and the SQL statement.
9. A computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to carry out the method of any one of claims 1 to 7 when executed.
10. An electronic device comprising a memory and a processor, wherein the memory has stored therein a computer program, and wherein the processor is arranged to execute the computer program to perform the method of any of claims 1 to 7.
CN202111028813.8A 2021-09-02 2021-09-02 Distributed database detection method and device Pending CN115757083A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111028813.8A CN115757083A (en) 2021-09-02 2021-09-02 Distributed database detection method and device
PCT/CN2022/116588 WO2023030461A1 (en) 2021-09-02 2022-09-01 Distributed database detection method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111028813.8A CN115757083A (en) 2021-09-02 2021-09-02 Distributed database detection method and device

Publications (1)

Publication Number Publication Date
CN115757083A true CN115757083A (en) 2023-03-07

Family

ID=85332342

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111028813.8A Pending CN115757083A (en) 2021-09-02 2021-09-02 Distributed database detection method and device

Country Status (2)

Country Link
CN (1) CN115757083A (en)
WO (1) WO2023030461A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117648326B (en) * 2024-01-29 2024-05-10 中邮消费金融有限公司 Dynamic sub-table method, device, equipment and storage medium

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4749899B2 (en) * 2006-03-15 2011-08-17 株式会社日立ソリューションズ Table structure determination and notification system
CN103810171B (en) * 2012-11-06 2017-02-08 深圳市金蝶天燕中间件股份有限公司 Method and system for generating random test data within limited range
CN109614315B (en) * 2018-11-06 2021-11-23 武汉达梦数据库股份有限公司 Automatic generation method and system of data synchronization test case
CN109271326B (en) * 2018-11-28 2021-03-12 优刻得科技股份有限公司 Cloud database testing method and device, equipment and storage medium thereof

Also Published As

Publication number Publication date
WO2023030461A1 (en) 2023-03-09

Similar Documents

Publication Publication Date Title
CN112559554B (en) Query statement optimization method and device
CN110795455B (en) Dependency analysis method, electronic device, computer apparatus, and readable storage medium
CN108733713B (en) Data query method and device in data warehouse
US20170147644A1 (en) Query optimization using join cardinality
US8396852B2 (en) Evaluating execution plan changes after a wakeup threshold time
US8661023B1 (en) Optimizing search query logic to speed retrieval
CN114880504B (en) Graph data query method, device and equipment
US8812492B2 (en) Automatic and dynamic design of cache groups
JP2004518226A (en) Database system and query optimizer
US20130151561A1 (en) Fuzzy full text search
CN110502532B (en) Method, device, equipment and storage medium for optimizing remote database object
CN102799624A (en) Large-scale graph data query method in distributed environment based on Datalog
CN109299101B (en) Data retrieval method, device, server and storage medium
CN113672628A (en) Data blood margin analysis method, terminal device and medium
CN109918369B (en) Data storage method and device
WO2023030461A1 (en) Distributed database detection method and apparatus
US9330372B2 (en) Generating an improved development infrastructure
CN114328612A (en) Data processing method and device of query optimizer and electronic equipment
CN110232063B (en) Hierarchical data query method, hierarchical data query device, computer equipment and storage medium
CN112463814A (en) Data query method and device
CN115543993A (en) Data processing method and device, electronic equipment and storage medium
CN114924966A (en) Test case generation method and device based on database PL language
CN114925142A (en) Multi-type database compatibility method, device, equipment and medium of ORM framework
CN114385864A (en) Graph searching method, device, equipment and storage medium
CN114547083A (en) Data processing method and device and electronic equipment

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