316 lines
9.0 KiB
JSON
316 lines
9.0 KiB
JSON
[
|
|
{
|
|
"name": "numeric_literal_integers",
|
|
"input": {
|
|
"db.system.name": "other_sql",
|
|
"query": "SELECT 12, -12, +12"
|
|
},
|
|
"expected": {
|
|
"db.query.text": [
|
|
"SELECT ?, ?, ?"
|
|
],
|
|
"db.query.summary": "SELECT"
|
|
}
|
|
},
|
|
{
|
|
"name": "numeric_literal_with_decimal_point",
|
|
"input": {
|
|
"db.system.name": "other_sql",
|
|
"query": "SELECT 12.34, -12.34, +12.34, .01, -.01"
|
|
},
|
|
"expected": {
|
|
"db.query.text": [
|
|
"SELECT ?, ?, ?, ?, ?"
|
|
],
|
|
"db.query.summary": "SELECT"
|
|
}
|
|
},
|
|
{
|
|
"name": "numeric_literal_exponential",
|
|
"input": {
|
|
"db.system.name": "other_sql",
|
|
"query": "SELECT 12.34e56, -12.34e56, +12.34e56"
|
|
},
|
|
"expected": {
|
|
"db.query.text": [
|
|
"SELECT ?, ?, ?"
|
|
],
|
|
"db.query.summary": "SELECT"
|
|
}
|
|
},
|
|
{
|
|
"name": "numeric_literal_negative_exponential",
|
|
"input": {
|
|
"db.system.name": "other_sql",
|
|
"query": "SELECT 12.34e-56, -12.34e-56, +12.34e-56"
|
|
},
|
|
"expected": {
|
|
"db.query.text": [
|
|
"SELECT ?, ?, ?"
|
|
],
|
|
"db.query.summary": "SELECT"
|
|
}
|
|
},
|
|
{
|
|
"name": "arithmetic_on_numeric_literals",
|
|
"input": {
|
|
"db.system.name": "other_sql",
|
|
"query": "SELECT 99+100"
|
|
},
|
|
"expected": {
|
|
"db.query.text": [
|
|
"SELECT ??"
|
|
],
|
|
"db.query.summary": "SELECT"
|
|
}
|
|
},
|
|
{
|
|
"name": "hex_literal",
|
|
"input": {
|
|
"db.system.name": "other_sql",
|
|
"query": "SELECT 0xDEADBEEF, 0XdeadBEEF"
|
|
},
|
|
"expected": {
|
|
"db.query.text": [
|
|
"SELECT ?, ?"
|
|
],
|
|
"db.query.summary": "SELECT"
|
|
}
|
|
},
|
|
{
|
|
"name": "string_literal",
|
|
"input": {
|
|
"db.system.name": "other_sql",
|
|
"query": "SELECT 'hello'"
|
|
},
|
|
"expected": {
|
|
"db.query.text": [
|
|
"SELECT ?"
|
|
],
|
|
"db.query.summary": "SELECT"
|
|
}
|
|
},
|
|
{
|
|
"name": "string_literal_escaped_single_quote",
|
|
"input": {
|
|
"db.system.name": "other_sql",
|
|
"query": "SELECT 'My name''s not important'"
|
|
},
|
|
"expected": {
|
|
"db.query.text": [
|
|
"SELECT ?"
|
|
],
|
|
"db.query.summary": "SELECT"
|
|
}
|
|
},
|
|
{
|
|
"name": "string_with_embedded_newline",
|
|
"input": {
|
|
"db.system.name": "other_sql",
|
|
"query": "SELECT 'My name is \n not important'"
|
|
},
|
|
"expected": {
|
|
"db.query.text": [
|
|
"SELECT ?"
|
|
],
|
|
"db.query.summary": "SELECT"
|
|
}
|
|
},
|
|
{
|
|
"name": "numbers_in_identifiers",
|
|
"input": {
|
|
"db.system.name": "other_sql",
|
|
"query": "SELECT c3po, r2d2 FROM covid19 WHERE n1h1=1234"
|
|
},
|
|
"expected": {
|
|
"db.query.text": [
|
|
"SELECT c3po, r2d2 FROM covid19 WHERE n1h1=?"
|
|
],
|
|
"db.query.summary": "SELECT covid19"
|
|
}
|
|
},
|
|
{
|
|
"name": "periods_in_identifiers",
|
|
"input": {
|
|
"db.system.name": "other_sql",
|
|
"query": "SELECT a FROM dbo.Table JOIN dbo.AnotherTable"
|
|
},
|
|
"expected": {
|
|
"db.query.text": [
|
|
"SELECT a FROM dbo.Table JOIN dbo.AnotherTable"
|
|
],
|
|
"db.query.summary": "SELECT dbo.Table dbo.AnotherTable"
|
|
}
|
|
},
|
|
{
|
|
"name": "insert_into",
|
|
"input": {
|
|
"db.system.name": "other_sql",
|
|
"query": "INSERT INTO X VALUES(1, 23456, 123.456, 99+100)"
|
|
},
|
|
"expected": {
|
|
"db.query.text": [
|
|
"INSERT INTO X VALUES(?, ?, ?, ??)"
|
|
],
|
|
"db.query.summary": "INSERT X"
|
|
}
|
|
},
|
|
{
|
|
"name": "uuid",
|
|
"input": {
|
|
"db.system.name": "other_sql",
|
|
"query": "SELECT { guid '01234567-89ab-cdef-0123-456789abcdef' }"
|
|
},
|
|
"expected": {
|
|
"db.query.text": [
|
|
"SELECT { guid ? }"
|
|
],
|
|
"db.query.summary": "SELECT"
|
|
}
|
|
},
|
|
{
|
|
"name": "in_clause",
|
|
"input": {
|
|
"db.system.name": "other_sql",
|
|
"query": "SELECT * FROM table WHERE value IN (123, 456, 'abc')"
|
|
},
|
|
"expected": {
|
|
"db.query.text": [
|
|
"SELECT * FROM table WHERE value IN (?)",
|
|
"SELECT * FROM table WHERE value IN (?, ?, ?)"
|
|
],
|
|
"db.query.summary": "SELECT table"
|
|
}
|
|
},
|
|
{
|
|
"name": "comments",
|
|
"input": {
|
|
"db.system.name": "other_sql",
|
|
"query": "SELECT column -- end of line comment\nFROM /* block \n comment */ table"
|
|
},
|
|
"expected": {
|
|
"db.query.text": [
|
|
"SELECT column \nFROM table"
|
|
],
|
|
"db.query.summary": "SELECT table"
|
|
}
|
|
},
|
|
{
|
|
"name": "insert_into_select",
|
|
"input": {
|
|
"db.system.name": "other_sql",
|
|
"query": "INSERT INTO shipping_details\n(order_id,\naddress)\nSELECT order_id,\naddress\nFROM orders\nWHERE order_id = 1"
|
|
},
|
|
"expected": {
|
|
"db.query.text": [
|
|
"INSERT INTO shipping_details\n(order_id,\naddress)\nSELECT order_id,\naddress\nFROM orders\nWHERE order_id = ?"
|
|
],
|
|
"db.query.summary": "INSERT shipping_details SELECT orders"
|
|
}
|
|
},
|
|
{
|
|
"name": "select_nested_query",
|
|
"input": {
|
|
"db.system.name": "other_sql",
|
|
"query": "SELECT order_date\nFROM (SELECT *\nFROM orders o\nJOIN customers c\nON o.customer_id = c.customer_id)"
|
|
},
|
|
"expected": {
|
|
"db.query.text": [
|
|
"SELECT order_date\nFROM (SELECT *\nFROM orders o\nJOIN customers c\nON o.customer_id = c.customer_id)"
|
|
],
|
|
"db.query.summary": "SELECT SELECT orders customers"
|
|
}
|
|
},
|
|
{
|
|
"name": "select_nested_query_case_preserved",
|
|
"input": {
|
|
"db.system.name": "other_sql",
|
|
"query": "SELEcT order_date\nFROM (sELECT *\nFROM orders o\nJOIN customers c\nON o.customer_id = c.customer_id)"
|
|
},
|
|
"expected": {
|
|
"db.query.text": [
|
|
"SELEcT order_date\nFROM (sELECT *\nFROM orders o\nJOIN customers c\nON o.customer_id = c.customer_id)"
|
|
],
|
|
"db.query.summary": "SELEcT sELECT orders customers"
|
|
}
|
|
},
|
|
{
|
|
"name": "case_preserved",
|
|
"input": {
|
|
"db.system.name": "other_sql",
|
|
"query": "SELEcT order_date\nFROM ORders"
|
|
},
|
|
"expected": {
|
|
"db.query.text": [
|
|
"SELEcT order_date\nFROM ORders"
|
|
],
|
|
"db.query.summary": "SELEcT ORders"
|
|
}
|
|
},
|
|
{
|
|
"name": "cross_join",
|
|
"input": {
|
|
"db.system.name": "other_sql",
|
|
"query": "SELECT * FROM Orders o CROSS JOIN OrderDetails od"
|
|
},
|
|
"expected": {
|
|
"db.query.text": [
|
|
"SELECT * FROM Orders o CROSS JOIN OrderDetails od"
|
|
],
|
|
"db.query.summary": "SELECT Orders OrderDetails"
|
|
}
|
|
},
|
|
{
|
|
"name": "cross_join_comma_separated_syntax",
|
|
"input": {
|
|
"db.system.name": "other_sql",
|
|
"query": "SELECT * FROM Orders o, OrderDetails od"
|
|
},
|
|
"expected": {
|
|
"db.query.text": [
|
|
"SELECT * FROM Orders o, OrderDetails od"
|
|
],
|
|
"db.query.summary": "SELECT Orders OrderDetails"
|
|
}
|
|
},
|
|
{
|
|
"name": "create_table",
|
|
"input": {
|
|
"db.system.name": "other_sql",
|
|
"query": "CREATE TABLE MyTable (\n ID NOT NULL IDENTITY(1,1) PRIMARY KEY\n)"
|
|
},
|
|
"expected": {
|
|
"db.query.text": [
|
|
"CREATE TABLE MyTable (\n ID NOT NULL IDENTITY(?,?) PRIMARY KEY\n)"
|
|
],
|
|
"db.query.summary": "CREATE TABLE MyTable"
|
|
}
|
|
},
|
|
{
|
|
"name": "alter_table",
|
|
"input": {
|
|
"db.system.name": "other_sql",
|
|
"query": "ALTER TABLE MyTable ADD Name varchar(255)"
|
|
},
|
|
"expected": {
|
|
"db.query.text": [
|
|
"ALTER TABLE MyTable ADD Name varchar(?)"
|
|
],
|
|
"db.query.summary": "ALTER TABLE MyTable"
|
|
}
|
|
},
|
|
{
|
|
"name": "drop_table",
|
|
"input": {
|
|
"db.system.name": "other_sql",
|
|
"query": "DROP TABLE MyTable"
|
|
},
|
|
"expected": {
|
|
"db.query.text": [
|
|
"DROP TABLE MyTable"
|
|
],
|
|
"db.query.summary": "DROP TABLE MyTable"
|
|
}
|
|
}
|
|
]
|