From 32a8f60d6d97b72b7ea86389e3c95222910f4e4c Mon Sep 17 00:00:00 2001
From: Alan West <3676547+alanwest@users.noreply.github.com>
Date: Wed, 19 Feb 2025 13:50:20 -0800
Subject: [PATCH 01/10] Add test cases for DB query parsing and sanitization

---
 docs/non-normative/db-test-cases.json | 315 ++++++++++++++++++++++++++
 1 file changed, 315 insertions(+)
 create mode 100644 docs/non-normative/db-test-cases.json

diff --git a/docs/non-normative/db-test-cases.json b/docs/non-normative/db-test-cases.json
new file mode 100644
index 0000000000..612588ddf5
--- /dev/null
+++ b/docs/non-normative/db-test-cases.json
@@ -0,0 +1,315 @@
+[
+    {
+        "name": "numeric_literal_integers",
+        "sql": "SELECT 12, -12, +12",
+        "sanitized": [
+            "SELECT ?, ?, ?"
+        ],
+        "summary": "SELECT",
+        "operation": "SELECT",
+        "collection": null,
+        "dialects": [
+            "mssql"
+        ]
+    },
+    {
+        "name": "numeric_literal_with_decimal_point",
+        "sql": "SELECT 12.34, -12.34, +12.34, .01, -.01",
+        "sanitized": [
+            "SELECT ?, ?, ?, ?, ?"
+        ],
+        "summary": "SELECT",
+        "operation": "SELECT",
+        "collection": null,
+        "dialects": [
+            "mssql"
+        ]
+    },
+    {
+        "name": "numeric_literal_exponential",
+        "sql": "SELECT 12.34e56, -12.34e56, +12.34e56",
+        "sanitized": [
+            "SELECT ?, ?, ?"
+        ],
+        "summary": "SELECT",
+        "operation": "SELECT",
+        "collection": null,
+        "dialects": [
+            "mssql"
+        ]
+    },
+    {
+        "name": "numeric_literal_negative_exponential",
+        "sql": "SELECT 12.34e-56, -12.34e-56, +12.34e-56",
+        "sanitized": [
+            "SELECT ?, ?, ?"
+        ],
+        "summary": "SELECT",
+        "operation": "SELECT",
+        "collection": null,
+        "dialects": [
+            "mssql"
+        ]
+    },
+    {
+        "name": "arithmetic_on_numeric_literals",
+        "sql": "SELECT 99+100",
+        "sanitized": [
+            "SELECT ??"
+        ],
+        "summary": "SELECT",
+        "operation": "SELECT",
+        "collection": null,
+        "dialects": [
+            "mssql"
+        ]
+    },
+    {
+        "name": "hex_literal",
+        "sql": "SELECT 0xDEADBEEF, 0XdeadBEEF",
+        "sanitized": [
+            "SELECT ?, ?"
+        ],
+        "summary": "SELECT",
+        "operation": "SELECT",
+        "collection": null,
+        "dialects": [
+            "mssql"
+        ]
+    },
+    {
+        "name": "string_literal",
+        "sql": "SELECT 'hello'",
+        "sanitized": [
+            "SELECT ?"
+        ],
+        "summary": "SELECT",
+        "operation": "SELECT",
+        "collection": null,
+        "dialects": [
+            "mssql"
+        ]
+    },
+    {
+        "name": "string_literal_escaped_single_quote",
+        "sql": "SELECT 'My name''s not important'",
+        "sanitized": [
+            "SELECT ?"
+        ],
+        "summary": "SELECT",
+        "operation": "SELECT",
+        "collection": null,
+        "dialects": [
+            "mssql"
+        ]
+    },
+    {
+        "name": "string_with_embedded_newline",
+        "sql": "SELECT 'My name is \n not important'",
+        "sanitized": [
+            "SELECT ?"
+        ],
+        "summary": "SELECT",
+        "operation": "SELECT",
+        "collection": null,
+        "dialects": [
+            "mssql"
+        ]
+    },
+    {
+        "name": "numbers_in_identifiers",
+        "sql": "SELECT c3po, r2d2 FROM covid19 WHERE n1h1=1234",
+        "sanitized": [
+            "SELECT c3po, r2d2 FROM covid19 WHERE n1h1=?"
+        ],
+        "summary": "SELECT covid19",
+        "operation": "SELECT",
+        "collection": "covid19",
+        "dialects": [
+            "mssql"
+        ]
+    },
+    {
+        "name": "periods_in_identifiers",
+        "sql": "SELECT a FROM dbo.Table JOIN dbo.AnotherTable",
+        "sanitized": [
+            "SELECT a FROM dbo.Table JOIN dbo.AnotherTable"
+        ],
+        "summary": "SELECT dbo.Table dbo.AnotherTable",
+        "operation": "SELECT",
+        "collection": null,
+        "dialects": [
+            "mssql"
+        ]
+    },
+    {
+        "name": "insert_into",
+        "sql": "INSERT INTO X VALUES(1, 23456, 123.456, 99+100)",
+        "sanitized": [
+            "INSERT INTO X VALUES(?, ?, ?, ??)"
+        ],
+        "summary": "INSERT X",
+        "operation": "INSERT",
+        "collection": "X",
+        "dialects": [
+            "mssql"
+        ]
+    },
+    {
+        "name": "uuid",
+        "sql": "SELECT { guid '01234567-89ab-cdef-0123-456789abcdef' }",
+        "sanitized": [
+            "SELECT { guid ? }"
+        ],
+        "summary": "SELECT",
+        "operation": "SELECT",
+        "collection": null,
+        "dialects": [
+            "mssql"
+        ]
+    },
+    {
+        "name": "in_clause",
+        "sql": "SELECT * FROM table WHERE value IN (123, 456, 'abc')",
+        "sanitized": [
+            "SELECT * FROM table WHERE value IN (?)",
+            "SELECT * FROM table WHERE value IN (?, ?, ?)"
+        ],
+        "summary": "SELECT table",
+        "operation": "SELECT",
+        "collection": "table",
+        "dialects": [
+            "mssql"
+        ]
+    },
+    {
+        "name": "comments",
+        "sql": "SELECT column -- end of line comment\nFROM /* block \n comment */ table",
+        "sanitized": [
+            "SELECT column \nFROM  table"
+        ],
+        "summary": "SELECT table",
+        "operation": "SELECT",
+        "collection": "table",
+        "dialects": [
+            "mssql"
+        ]
+    },
+    {
+        "name": "insert_into_select",
+        "sql": "INSERT INTO shipping_details\n(order_id,\naddress)\nSELECT order_id,\naddress\nFROM   orders\nWHERE  order_id = 1",
+        "sanitized": [
+            "INSERT INTO shipping_details\n(order_id,\naddress)\nSELECT order_id,\naddress\nFROM   orders\nWHERE  order_id = ?"
+        ],
+        "summary": "INSERT shipping_details SELECT orders",
+        "operation": null,
+        "collection": null,
+        "dialects": [
+            "mssql"
+        ]
+    },
+    {
+        "name": "select_nested_query",
+        "sql": "SELECT order_date\nFROM   (SELECT *\nFROM   orders o\nJOIN customers c\nON o.customer_id = c.customer_id)",
+        "sanitized": [
+            "SELECT order_date\nFROM   (SELECT *\nFROM   orders o\nJOIN customers c\nON o.customer_id = c.customer_id)"
+        ],
+        "summary": "SELECT SELECT orders customers",
+        "operation": null,
+        "collection": null,
+        "dialects": [
+            "mssql"
+        ]
+    },
+    {
+        "name": "select_nested_query_case_preserved",
+        "sql": "SELEcT order_date\nFROM   (sELECT *\nFROM   orders o\nJOIN customers c\nON o.customer_id = c.customer_id)",
+        "sanitized": [
+            "SELEcT order_date\nFROM   (sELECT *\nFROM   orders o\nJOIN customers c\nON o.customer_id = c.customer_id)"
+        ],
+        "summary": "SELEcT sELECT orders customers",
+        "operation": null,
+        "collection": null,
+        "dialects": [
+            "mssql"
+        ]
+    },
+    {
+        "name": "case_preserved",
+        "sql": "SELEcT order_date\nFROM ORders",
+        "sanitized": [
+            "SELEcT order_date\nFROM ORders"
+        ],
+        "summary": "SELEcT ORders",
+        "operation": "SELEcT",
+        "collection": "ORders",
+        "dialects": [
+            "mssql"
+        ]
+    },
+    {
+        "name": "cross_join",
+        "sql": "SELECT * FROM Orders o CROSS JOIN OrderDetails od",
+        "sanitized": [
+            "SELECT * FROM Orders o CROSS JOIN OrderDetails od"
+        ],
+        "summary": "SELECT Orders OrderDetails",
+        "operation": "SELECT",
+        "collection": null,
+        "dialects": [
+            "mssql"
+        ]
+    },
+    {
+        "name": "cross_join_comma_separated_syntax",
+        "sql": "SELECT * FROM Orders o, OrderDetails od",
+        "sanitized": [
+            "SELECT * FROM Orders o, OrderDetails od"
+        ],
+        "summary": "SELECT Orders",
+        "operation": "SELECT",
+        "collection": null,
+        "dialects": [
+            "mssql"
+        ]
+    },
+    {
+        "name": "create_table",
+        "sql": "CREATE  TABLE MyTable (\n    ID NOT NULL IDENTITY(1,1) PRIMARY KEY\n)",
+        "sanitized": [
+            "CREATE  TABLE MyTable (\n    ID NOT NULL IDENTITY(?,?) PRIMARY KEY\n)"
+        ],
+        "summary": "CREATE  TABLE MyTable",
+        "operation": "CREATE  TABLE",
+        "collection": "MyTable",
+        "dialects": [
+            "mssql"
+        ]
+    },
+    {
+        "name": "alter_table",
+        "sql": "ALTER  TABLE MyTable ADD Name varchar(255)",
+        "sanitized": [
+            "ALTER  TABLE MyTable ADD Name varchar(?)"
+        ],
+        "summary": "ALTER  TABLE MyTable",
+        "operation": "ALTER  TABLE",
+        "collection": "MyTable",
+        "dialects": [
+            "mssql"
+        ]
+    },
+    {
+        "name": "drop_table",
+        "sql": "DROP  TABLE MyTable",
+        "sanitized": [
+            "DROP  TABLE MyTable"
+        ],
+        "summary": "DROP  TABLE MyTable",
+        "operation": "DROP  TABLE",
+        "collection": "MyTable",
+        "dialects": [
+            "mssql"
+        ]
+    }
+]

From caf7bf1b3a7377228d6f787fab4ce500fb12faba Mon Sep 17 00:00:00 2001
From: Alan West <3676547+alanwest@users.noreply.github.com>
Date: Tue, 4 Mar 2025 10:57:02 -0800
Subject: [PATCH 02/10] Remove collection and operation

---
 docs/non-normative/db-test-cases.json | 48 ---------------------------
 1 file changed, 48 deletions(-)

diff --git a/docs/non-normative/db-test-cases.json b/docs/non-normative/db-test-cases.json
index 612588ddf5..166ec91d5e 100644
--- a/docs/non-normative/db-test-cases.json
+++ b/docs/non-normative/db-test-cases.json
@@ -6,8 +6,6 @@
             "SELECT ?, ?, ?"
         ],
         "summary": "SELECT",
-        "operation": "SELECT",
-        "collection": null,
         "dialects": [
             "mssql"
         ]
@@ -19,8 +17,6 @@
             "SELECT ?, ?, ?, ?, ?"
         ],
         "summary": "SELECT",
-        "operation": "SELECT",
-        "collection": null,
         "dialects": [
             "mssql"
         ]
@@ -32,8 +28,6 @@
             "SELECT ?, ?, ?"
         ],
         "summary": "SELECT",
-        "operation": "SELECT",
-        "collection": null,
         "dialects": [
             "mssql"
         ]
@@ -45,8 +39,6 @@
             "SELECT ?, ?, ?"
         ],
         "summary": "SELECT",
-        "operation": "SELECT",
-        "collection": null,
         "dialects": [
             "mssql"
         ]
@@ -58,8 +50,6 @@
             "SELECT ??"
         ],
         "summary": "SELECT",
-        "operation": "SELECT",
-        "collection": null,
         "dialects": [
             "mssql"
         ]
@@ -71,8 +61,6 @@
             "SELECT ?, ?"
         ],
         "summary": "SELECT",
-        "operation": "SELECT",
-        "collection": null,
         "dialects": [
             "mssql"
         ]
@@ -84,8 +72,6 @@
             "SELECT ?"
         ],
         "summary": "SELECT",
-        "operation": "SELECT",
-        "collection": null,
         "dialects": [
             "mssql"
         ]
@@ -97,8 +83,6 @@
             "SELECT ?"
         ],
         "summary": "SELECT",
-        "operation": "SELECT",
-        "collection": null,
         "dialects": [
             "mssql"
         ]
@@ -110,8 +94,6 @@
             "SELECT ?"
         ],
         "summary": "SELECT",
-        "operation": "SELECT",
-        "collection": null,
         "dialects": [
             "mssql"
         ]
@@ -123,8 +105,6 @@
             "SELECT c3po, r2d2 FROM covid19 WHERE n1h1=?"
         ],
         "summary": "SELECT covid19",
-        "operation": "SELECT",
-        "collection": "covid19",
         "dialects": [
             "mssql"
         ]
@@ -136,8 +116,6 @@
             "SELECT a FROM dbo.Table JOIN dbo.AnotherTable"
         ],
         "summary": "SELECT dbo.Table dbo.AnotherTable",
-        "operation": "SELECT",
-        "collection": null,
         "dialects": [
             "mssql"
         ]
@@ -149,8 +127,6 @@
             "INSERT INTO X VALUES(?, ?, ?, ??)"
         ],
         "summary": "INSERT X",
-        "operation": "INSERT",
-        "collection": "X",
         "dialects": [
             "mssql"
         ]
@@ -162,8 +138,6 @@
             "SELECT { guid ? }"
         ],
         "summary": "SELECT",
-        "operation": "SELECT",
-        "collection": null,
         "dialects": [
             "mssql"
         ]
@@ -176,8 +150,6 @@
             "SELECT * FROM table WHERE value IN (?, ?, ?)"
         ],
         "summary": "SELECT table",
-        "operation": "SELECT",
-        "collection": "table",
         "dialects": [
             "mssql"
         ]
@@ -189,8 +161,6 @@
             "SELECT column \nFROM  table"
         ],
         "summary": "SELECT table",
-        "operation": "SELECT",
-        "collection": "table",
         "dialects": [
             "mssql"
         ]
@@ -202,8 +172,6 @@
             "INSERT INTO shipping_details\n(order_id,\naddress)\nSELECT order_id,\naddress\nFROM   orders\nWHERE  order_id = ?"
         ],
         "summary": "INSERT shipping_details SELECT orders",
-        "operation": null,
-        "collection": null,
         "dialects": [
             "mssql"
         ]
@@ -215,8 +183,6 @@
             "SELECT order_date\nFROM   (SELECT *\nFROM   orders o\nJOIN customers c\nON o.customer_id = c.customer_id)"
         ],
         "summary": "SELECT SELECT orders customers",
-        "operation": null,
-        "collection": null,
         "dialects": [
             "mssql"
         ]
@@ -228,8 +194,6 @@
             "SELEcT order_date\nFROM   (sELECT *\nFROM   orders o\nJOIN customers c\nON o.customer_id = c.customer_id)"
         ],
         "summary": "SELEcT sELECT orders customers",
-        "operation": null,
-        "collection": null,
         "dialects": [
             "mssql"
         ]
@@ -241,8 +205,6 @@
             "SELEcT order_date\nFROM ORders"
         ],
         "summary": "SELEcT ORders",
-        "operation": "SELEcT",
-        "collection": "ORders",
         "dialects": [
             "mssql"
         ]
@@ -254,8 +216,6 @@
             "SELECT * FROM Orders o CROSS JOIN OrderDetails od"
         ],
         "summary": "SELECT Orders OrderDetails",
-        "operation": "SELECT",
-        "collection": null,
         "dialects": [
             "mssql"
         ]
@@ -267,8 +227,6 @@
             "SELECT * FROM Orders o, OrderDetails od"
         ],
         "summary": "SELECT Orders",
-        "operation": "SELECT",
-        "collection": null,
         "dialects": [
             "mssql"
         ]
@@ -280,8 +238,6 @@
             "CREATE  TABLE MyTable (\n    ID NOT NULL IDENTITY(?,?) PRIMARY KEY\n)"
         ],
         "summary": "CREATE  TABLE MyTable",
-        "operation": "CREATE  TABLE",
-        "collection": "MyTable",
         "dialects": [
             "mssql"
         ]
@@ -293,8 +249,6 @@
             "ALTER  TABLE MyTable ADD Name varchar(?)"
         ],
         "summary": "ALTER  TABLE MyTable",
-        "operation": "ALTER  TABLE",
-        "collection": "MyTable",
         "dialects": [
             "mssql"
         ]
@@ -306,8 +260,6 @@
             "DROP  TABLE MyTable"
         ],
         "summary": "DROP  TABLE MyTable",
-        "operation": "DROP  TABLE",
-        "collection": "MyTable",
         "dialects": [
             "mssql"
         ]

From 9b00811e72047997906a0caf05ffe924ab7a1117 Mon Sep 17 00:00:00 2001
From: Alan West <3676547+alanwest@users.noreply.github.com>
Date: Tue, 4 Mar 2025 10:57:46 -0800
Subject: [PATCH 03/10] Rename file

---
 docs/non-normative/{db-test-cases.json => db-sql-test-cases.json} | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 rename docs/non-normative/{db-test-cases.json => db-sql-test-cases.json} (100%)

diff --git a/docs/non-normative/db-test-cases.json b/docs/non-normative/db-sql-test-cases.json
similarity index 100%
rename from docs/non-normative/db-test-cases.json
rename to docs/non-normative/db-sql-test-cases.json

From 9505a7673c08e3c66d1ddb40e6cce38753e67fd0 Mon Sep 17 00:00:00 2001
From: Alan West <3676547+alanwest@users.noreply.github.com>
Date: Tue, 4 Mar 2025 11:54:26 -0800
Subject: [PATCH 04/10] Dialects -> db.system.name

---
 docs/non-normative/db-sql-test-cases.json | 144 ++++++++--------------
 1 file changed, 48 insertions(+), 96 deletions(-)

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

From 3a467751bd36c2bea4085747ff0b848932ace756 Mon Sep 17 00:00:00 2001
From: Alan West <3676547+alanwest@users.noreply.github.com>
Date: Tue, 4 Mar 2025 11:55:08 -0800
Subject: [PATCH 05/10] summary -> db.query.summary

---
 docs/non-normative/db-sql-test-cases.json | 48 +++++++++++------------
 1 file changed, 24 insertions(+), 24 deletions(-)

diff --git a/docs/non-normative/db-sql-test-cases.json b/docs/non-normative/db-sql-test-cases.json
index 121a208232..6949f1b5c6 100644
--- a/docs/non-normative/db-sql-test-cases.json
+++ b/docs/non-normative/db-sql-test-cases.json
@@ -6,7 +6,7 @@
         "sanitized": [
             "SELECT ?, ?, ?"
         ],
-        "summary": "SELECT"
+        "db.query.summary": "SELECT"
     },
     {
         "name": "numeric_literal_with_decimal_point",
@@ -15,7 +15,7 @@
         "sanitized": [
             "SELECT ?, ?, ?, ?, ?"
         ],
-        "summary": "SELECT"
+        "db.query.summary": "SELECT"
     },
     {
         "name": "numeric_literal_exponential",
@@ -24,7 +24,7 @@
         "sanitized": [
             "SELECT ?, ?, ?"
         ],
-        "summary": "SELECT"
+        "db.query.summary": "SELECT"
     },
     {
         "name": "numeric_literal_negative_exponential",
@@ -33,7 +33,7 @@
         "sanitized": [
             "SELECT ?, ?, ?"
         ],
-        "summary": "SELECT"
+        "db.query.summary": "SELECT"
     },
     {
         "name": "arithmetic_on_numeric_literals",
@@ -42,7 +42,7 @@
         "sanitized": [
             "SELECT ??"
         ],
-        "summary": "SELECT"
+        "db.query.summary": "SELECT"
     },
     {
         "name": "hex_literal",
@@ -51,7 +51,7 @@
         "sanitized": [
             "SELECT ?, ?"
         ],
-        "summary": "SELECT"
+        "db.query.summary": "SELECT"
     },
     {
         "name": "string_literal",
@@ -60,7 +60,7 @@
         "sanitized": [
             "SELECT ?"
         ],
-        "summary": "SELECT"
+        "db.query.summary": "SELECT"
     },
     {
         "name": "string_literal_escaped_single_quote",
@@ -69,7 +69,7 @@
         "sanitized": [
             "SELECT ?"
         ],
-        "summary": "SELECT"
+        "db.query.summary": "SELECT"
     },
     {
         "name": "string_with_embedded_newline",
@@ -78,7 +78,7 @@
         "sanitized": [
             "SELECT ?"
         ],
-        "summary": "SELECT"
+        "db.query.summary": "SELECT"
     },
     {
         "name": "numbers_in_identifiers",
@@ -87,7 +87,7 @@
         "sanitized": [
             "SELECT c3po, r2d2 FROM covid19 WHERE n1h1=?"
         ],
-        "summary": "SELECT covid19"
+        "db.query.summary": "SELECT covid19"
     },
     {
         "name": "periods_in_identifiers",
@@ -96,7 +96,7 @@
         "sanitized": [
             "SELECT a FROM dbo.Table JOIN dbo.AnotherTable"
         ],
-        "summary": "SELECT dbo.Table dbo.AnotherTable"
+        "db.query.summary": "SELECT dbo.Table dbo.AnotherTable"
     },
     {
         "name": "insert_into",
@@ -105,7 +105,7 @@
         "sanitized": [
             "INSERT INTO X VALUES(?, ?, ?, ??)"
         ],
-        "summary": "INSERT X"
+        "db.query.summary": "INSERT X"
     },
     {
         "name": "uuid",
@@ -114,7 +114,7 @@
         "sanitized": [
             "SELECT { guid ? }"
         ],
-        "summary": "SELECT"
+        "db.query.summary": "SELECT"
     },
     {
         "name": "in_clause",
@@ -124,7 +124,7 @@
             "SELECT * FROM table WHERE value IN (?)",
             "SELECT * FROM table WHERE value IN (?, ?, ?)"
         ],
-        "summary": "SELECT table"
+        "db.query.summary": "SELECT table"
     },
     {
         "name": "comments",
@@ -133,7 +133,7 @@
         "sanitized": [
             "SELECT column \nFROM  table"
         ],
-        "summary": "SELECT table"
+        "db.query.summary": "SELECT table"
     },
     {
         "name": "insert_into_select",
@@ -142,7 +142,7 @@
         "sanitized": [
             "INSERT INTO shipping_details\n(order_id,\naddress)\nSELECT order_id,\naddress\nFROM   orders\nWHERE  order_id = ?"
         ],
-        "summary": "INSERT shipping_details SELECT orders"
+        "db.query.summary": "INSERT shipping_details SELECT orders"
     },
     {
         "name": "select_nested_query",
@@ -151,7 +151,7 @@
         "sanitized": [
             "SELECT order_date\nFROM   (SELECT *\nFROM   orders o\nJOIN customers c\nON o.customer_id = c.customer_id)"
         ],
-        "summary": "SELECT SELECT orders customers"
+        "db.query.summary": "SELECT SELECT orders customers"
     },
     {
         "name": "select_nested_query_case_preserved",
@@ -160,7 +160,7 @@
         "sanitized": [
             "SELEcT order_date\nFROM   (sELECT *\nFROM   orders o\nJOIN customers c\nON o.customer_id = c.customer_id)"
         ],
-        "summary": "SELEcT sELECT orders customers"
+        "db.query.summary": "SELEcT sELECT orders customers"
     },
     {
         "name": "case_preserved",
@@ -169,7 +169,7 @@
         "sanitized": [
             "SELEcT order_date\nFROM ORders"
         ],
-        "summary": "SELEcT ORders"
+        "db.query.summary": "SELEcT ORders"
     },
     {
         "name": "cross_join",
@@ -178,7 +178,7 @@
         "sanitized": [
             "SELECT * FROM Orders o CROSS JOIN OrderDetails od"
         ],
-        "summary": "SELECT Orders OrderDetails"
+        "db.query.summary": "SELECT Orders OrderDetails"
     },
     {
         "name": "cross_join_comma_separated_syntax",
@@ -187,7 +187,7 @@
         "sanitized": [
             "SELECT * FROM Orders o, OrderDetails od"
         ],
-        "summary": "SELECT Orders"
+        "db.query.summary": "SELECT Orders"
     },
     {
         "name": "create_table",
@@ -196,7 +196,7 @@
         "sanitized": [
             "CREATE  TABLE MyTable (\n    ID NOT NULL IDENTITY(?,?) PRIMARY KEY\n)"
         ],
-        "summary": "CREATE  TABLE MyTable"
+        "db.query.summary": "CREATE  TABLE MyTable"
     },
     {
         "name": "alter_table",
@@ -205,7 +205,7 @@
         "sanitized": [
             "ALTER  TABLE MyTable ADD Name varchar(?)"
         ],
-        "summary": "ALTER  TABLE MyTable"
+        "db.query.summary": "ALTER  TABLE MyTable"
     },
     {
         "name": "drop_table",
@@ -214,6 +214,6 @@
         "sanitized": [
             "DROP  TABLE MyTable"
         ],
-        "summary": "DROP  TABLE MyTable"
+        "db.query.summary": "DROP  TABLE MyTable"
     }
 ]

From 02037fe0387e39fce62da310fb1ce7974dae1d9b Mon Sep 17 00:00:00 2001
From: Alan West <3676547+alanwest@users.noreply.github.com>
Date: Fri, 7 Mar 2025 10:36:02 -0800
Subject: [PATCH 06/10] sanitized -> db.query.text

---
 docs/non-normative/db-sql-test-cases.json | 96 +++++++++++------------
 1 file changed, 48 insertions(+), 48 deletions(-)

diff --git a/docs/non-normative/db-sql-test-cases.json b/docs/non-normative/db-sql-test-cases.json
index 6949f1b5c6..d5af7ad7ac 100644
--- a/docs/non-normative/db-sql-test-cases.json
+++ b/docs/non-normative/db-sql-test-cases.json
@@ -2,8 +2,8 @@
     {
         "name": "numeric_literal_integers",
         "db.system.name": "other_sql",
-        "sql": "SELECT 12, -12, +12",
-        "sanitized": [
+        "query": "SELECT 12, -12, +12",
+        "db.query.text": [
             "SELECT ?, ?, ?"
         ],
         "db.query.summary": "SELECT"
@@ -11,8 +11,8 @@
     {
         "name": "numeric_literal_with_decimal_point",
         "db.system.name": "other_sql",
-        "sql": "SELECT 12.34, -12.34, +12.34, .01, -.01",
-        "sanitized": [
+        "query": "SELECT 12.34, -12.34, +12.34, .01, -.01",
+        "db.query.text": [
             "SELECT ?, ?, ?, ?, ?"
         ],
         "db.query.summary": "SELECT"
@@ -20,8 +20,8 @@
     {
         "name": "numeric_literal_exponential",
         "db.system.name": "other_sql",
-        "sql": "SELECT 12.34e56, -12.34e56, +12.34e56",
-        "sanitized": [
+        "query": "SELECT 12.34e56, -12.34e56, +12.34e56",
+        "db.query.text": [
             "SELECT ?, ?, ?"
         ],
         "db.query.summary": "SELECT"
@@ -29,8 +29,8 @@
     {
         "name": "numeric_literal_negative_exponential",
         "db.system.name": "other_sql",
-        "sql": "SELECT 12.34e-56, -12.34e-56, +12.34e-56",
-        "sanitized": [
+        "query": "SELECT 12.34e-56, -12.34e-56, +12.34e-56",
+        "db.query.text": [
             "SELECT ?, ?, ?"
         ],
         "db.query.summary": "SELECT"
@@ -38,8 +38,8 @@
     {
         "name": "arithmetic_on_numeric_literals",
         "db.system.name": "other_sql",
-        "sql": "SELECT 99+100",
-        "sanitized": [
+        "query": "SELECT 99+100",
+        "db.query.text": [
             "SELECT ??"
         ],
         "db.query.summary": "SELECT"
@@ -47,8 +47,8 @@
     {
         "name": "hex_literal",
         "db.system.name": "other_sql",
-        "sql": "SELECT 0xDEADBEEF, 0XdeadBEEF",
-        "sanitized": [
+        "query": "SELECT 0xDEADBEEF, 0XdeadBEEF",
+        "db.query.text": [
             "SELECT ?, ?"
         ],
         "db.query.summary": "SELECT"
@@ -56,8 +56,8 @@
     {
         "name": "string_literal",
         "db.system.name": "other_sql",
-        "sql": "SELECT 'hello'",
-        "sanitized": [
+        "query": "SELECT 'hello'",
+        "db.query.text": [
             "SELECT ?"
         ],
         "db.query.summary": "SELECT"
@@ -65,8 +65,8 @@
     {
         "name": "string_literal_escaped_single_quote",
         "db.system.name": "other_sql",
-        "sql": "SELECT 'My name''s not important'",
-        "sanitized": [
+        "query": "SELECT 'My name''s not important'",
+        "db.query.text": [
             "SELECT ?"
         ],
         "db.query.summary": "SELECT"
@@ -74,8 +74,8 @@
     {
         "name": "string_with_embedded_newline",
         "db.system.name": "other_sql",
-        "sql": "SELECT 'My name is \n not important'",
-        "sanitized": [
+        "query": "SELECT 'My name is \n not important'",
+        "db.query.text": [
             "SELECT ?"
         ],
         "db.query.summary": "SELECT"
@@ -83,8 +83,8 @@
     {
         "name": "numbers_in_identifiers",
         "db.system.name": "other_sql",
-        "sql": "SELECT c3po, r2d2 FROM covid19 WHERE n1h1=1234",
-        "sanitized": [
+        "query": "SELECT c3po, r2d2 FROM covid19 WHERE n1h1=1234",
+        "db.query.text": [
             "SELECT c3po, r2d2 FROM covid19 WHERE n1h1=?"
         ],
         "db.query.summary": "SELECT covid19"
@@ -92,8 +92,8 @@
     {
         "name": "periods_in_identifiers",
         "db.system.name": "other_sql",
-        "sql": "SELECT a FROM dbo.Table JOIN dbo.AnotherTable",
-        "sanitized": [
+        "query": "SELECT a FROM dbo.Table JOIN dbo.AnotherTable",
+        "db.query.text": [
             "SELECT a FROM dbo.Table JOIN dbo.AnotherTable"
         ],
         "db.query.summary": "SELECT dbo.Table dbo.AnotherTable"
@@ -101,8 +101,8 @@
     {
         "name": "insert_into",
         "db.system.name": "other_sql",
-        "sql": "INSERT INTO X VALUES(1, 23456, 123.456, 99+100)",
-        "sanitized": [
+        "query": "INSERT INTO X VALUES(1, 23456, 123.456, 99+100)",
+        "db.query.text": [
             "INSERT INTO X VALUES(?, ?, ?, ??)"
         ],
         "db.query.summary": "INSERT X"
@@ -110,8 +110,8 @@
     {
         "name": "uuid",
         "db.system.name": "other_sql",
-        "sql": "SELECT { guid '01234567-89ab-cdef-0123-456789abcdef' }",
-        "sanitized": [
+        "query": "SELECT { guid '01234567-89ab-cdef-0123-456789abcdef' }",
+        "db.query.text": [
             "SELECT { guid ? }"
         ],
         "db.query.summary": "SELECT"
@@ -119,8 +119,8 @@
     {
         "name": "in_clause",
         "db.system.name": "other_sql",
-        "sql": "SELECT * FROM table WHERE value IN (123, 456, 'abc')",
-        "sanitized": [
+        "query": "SELECT * FROM table WHERE value IN (123, 456, 'abc')",
+        "db.query.text": [
             "SELECT * FROM table WHERE value IN (?)",
             "SELECT * FROM table WHERE value IN (?, ?, ?)"
         ],
@@ -129,8 +129,8 @@
     {
         "name": "comments",
         "db.system.name": "other_sql",
-        "sql": "SELECT column -- end of line comment\nFROM /* block \n comment */ table",
-        "sanitized": [
+        "query": "SELECT column -- end of line comment\nFROM /* block \n comment */ table",
+        "db.query.text": [
             "SELECT column \nFROM  table"
         ],
         "db.query.summary": "SELECT table"
@@ -138,8 +138,8 @@
     {
         "name": "insert_into_select",
         "db.system.name": "other_sql",
-        "sql": "INSERT INTO shipping_details\n(order_id,\naddress)\nSELECT order_id,\naddress\nFROM   orders\nWHERE  order_id = 1",
-        "sanitized": [
+        "query": "INSERT INTO shipping_details\n(order_id,\naddress)\nSELECT order_id,\naddress\nFROM   orders\nWHERE  order_id = 1",
+        "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"
@@ -147,8 +147,8 @@
     {
         "name": "select_nested_query",
         "db.system.name": "other_sql",
-        "sql": "SELECT order_date\nFROM   (SELECT *\nFROM   orders o\nJOIN customers c\nON o.customer_id = c.customer_id)",
-        "sanitized": [
+        "query": "SELECT order_date\nFROM   (SELECT *\nFROM   orders o\nJOIN customers c\nON o.customer_id = c.customer_id)",
+        "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"
@@ -156,8 +156,8 @@
     {
         "name": "select_nested_query_case_preserved",
         "db.system.name": "other_sql",
-        "sql": "SELEcT order_date\nFROM   (sELECT *\nFROM   orders o\nJOIN customers c\nON o.customer_id = c.customer_id)",
-        "sanitized": [
+        "query": "SELEcT order_date\nFROM   (sELECT *\nFROM   orders o\nJOIN customers c\nON o.customer_id = c.customer_id)",
+        "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"
@@ -165,8 +165,8 @@
     {
         "name": "case_preserved",
         "db.system.name": "other_sql",
-        "sql": "SELEcT order_date\nFROM ORders",
-        "sanitized": [
+        "query": "SELEcT order_date\nFROM ORders",
+        "db.query.text": [
             "SELEcT order_date\nFROM ORders"
         ],
         "db.query.summary": "SELEcT ORders"
@@ -174,8 +174,8 @@
     {
         "name": "cross_join",
         "db.system.name": "other_sql",
-        "sql": "SELECT * FROM Orders o CROSS JOIN OrderDetails od",
-        "sanitized": [
+        "query": "SELECT * FROM Orders o CROSS JOIN OrderDetails od",
+        "db.query.text": [
             "SELECT * FROM Orders o CROSS JOIN OrderDetails od"
         ],
         "db.query.summary": "SELECT Orders OrderDetails"
@@ -183,8 +183,8 @@
     {
         "name": "cross_join_comma_separated_syntax",
         "db.system.name": "other_sql",
-        "sql": "SELECT * FROM Orders o, OrderDetails od",
-        "sanitized": [
+        "query": "SELECT * FROM Orders o, OrderDetails od",
+        "db.query.text": [
             "SELECT * FROM Orders o, OrderDetails od"
         ],
         "db.query.summary": "SELECT Orders"
@@ -192,8 +192,8 @@
     {
         "name": "create_table",
         "db.system.name": "other_sql",
-        "sql": "CREATE  TABLE MyTable (\n    ID NOT NULL IDENTITY(1,1) PRIMARY KEY\n)",
-        "sanitized": [
+        "query": "CREATE  TABLE MyTable (\n    ID NOT NULL IDENTITY(1,1) PRIMARY KEY\n)",
+        "db.query.text": [
             "CREATE  TABLE MyTable (\n    ID NOT NULL IDENTITY(?,?) PRIMARY KEY\n)"
         ],
         "db.query.summary": "CREATE  TABLE MyTable"
@@ -201,8 +201,8 @@
     {
         "name": "alter_table",
         "db.system.name": "other_sql",
-        "sql": "ALTER  TABLE MyTable ADD Name varchar(255)",
-        "sanitized": [
+        "query": "ALTER  TABLE MyTable ADD Name varchar(255)",
+        "db.query.text": [
             "ALTER  TABLE MyTable ADD Name varchar(?)"
         ],
         "db.query.summary": "ALTER  TABLE MyTable"
@@ -210,8 +210,8 @@
     {
         "name": "drop_table",
         "db.system.name": "other_sql",
-        "sql": "DROP  TABLE MyTable",
-        "sanitized": [
+        "query": "DROP  TABLE MyTable",
+        "db.query.text": [
             "DROP  TABLE MyTable"
         ],
         "db.query.summary": "DROP  TABLE MyTable"

From a1ae043913120b19fa04ce6c303e8e6b546ab13c Mon Sep 17 00:00:00 2001
From: Alan West <3676547+alanwest@users.noreply.github.com>
Date: Mon, 10 Mar 2025 15:09:35 -0700
Subject: [PATCH 07/10] Move to subfolder

---
 .../{ => database-test-cases}/db-sql-test-cases.json              | 0
 1 file changed, 0 insertions(+), 0 deletions(-)
 rename docs/non-normative/{ => database-test-cases}/db-sql-test-cases.json (100%)

diff --git a/docs/non-normative/db-sql-test-cases.json b/docs/non-normative/database-test-cases/db-sql-test-cases.json
similarity index 100%
rename from docs/non-normative/db-sql-test-cases.json
rename to docs/non-normative/database-test-cases/db-sql-test-cases.json

From 673324f195f26fc63062cad9d9c017979dab52d4 Mon Sep 17 00:00:00 2001
From: Alan West <3676547+alanwest@users.noreply.github.com>
Date: Mon, 10 Mar 2025 15:29:27 -0700
Subject: [PATCH 08/10] Fix test case

---
 docs/non-normative/database-test-cases/db-sql-test-cases.json | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/docs/non-normative/database-test-cases/db-sql-test-cases.json b/docs/non-normative/database-test-cases/db-sql-test-cases.json
index d5af7ad7ac..e89739e60c 100644
--- a/docs/non-normative/database-test-cases/db-sql-test-cases.json
+++ b/docs/non-normative/database-test-cases/db-sql-test-cases.json
@@ -187,7 +187,7 @@
         "db.query.text": [
             "SELECT * FROM Orders o, OrderDetails od"
         ],
-        "db.query.summary": "SELECT Orders"
+        "db.query.summary": "SELECT Orders OrderDetails"
     },
     {
         "name": "create_table",

From 70469be7a6ecbf001f70d1602f0804a575bed1f1 Mon Sep 17 00:00:00 2001
From: Alan West <3676547+alanwest@users.noreply.github.com>
Date: Wed, 12 Mar 2025 12:19:59 -0700
Subject: [PATCH 09/10] input/expected

---
 .../db-sql-test-cases.json                    | 386 +++++++++++-------
 1 file changed, 241 insertions(+), 145 deletions(-)

diff --git a/docs/non-normative/database-test-cases/db-sql-test-cases.json b/docs/non-normative/database-test-cases/db-sql-test-cases.json
index e89739e60c..1188974d8e 100644
--- a/docs/non-normative/database-test-cases/db-sql-test-cases.json
+++ b/docs/non-normative/database-test-cases/db-sql-test-cases.json
@@ -1,219 +1,315 @@
 [
     {
         "name": "numeric_literal_integers",
-        "db.system.name": "other_sql",
-        "query": "SELECT 12, -12, +12",
-        "db.query.text": [
-            "SELECT ?, ?, ?"
-        ],
-        "db.query.summary": "SELECT"
+        "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",
-        "db.system.name": "other_sql",
-        "query": "SELECT 12.34, -12.34, +12.34, .01, -.01",
-        "db.query.text": [
-            "SELECT ?, ?, ?, ?, ?"
-        ],
-        "db.query.summary": "SELECT"
+        "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",
-        "db.system.name": "other_sql",
-        "query": "SELECT 12.34e56, -12.34e56, +12.34e56",
-        "db.query.text": [
-            "SELECT ?, ?, ?"
-        ],
-        "db.query.summary": "SELECT"
+        "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",
-        "db.system.name": "other_sql",
-        "query": "SELECT 12.34e-56, -12.34e-56, +12.34e-56",
-        "db.query.text": [
-            "SELECT ?, ?, ?"
-        ],
-        "db.query.summary": "SELECT"
+        "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",
-        "db.system.name": "other_sql",
-        "query": "SELECT 99+100",
-        "db.query.text": [
-            "SELECT ??"
-        ],
-        "db.query.summary": "SELECT"
+        "input": {
+            "db.system.name": "other_sql",
+            "query": "SELECT 99+100"
+        },
+        "expected": {
+            "db.query.text": [
+                "SELECT ??"
+            ],
+            "db.query.summary": "SELECT"
+        }
     },
     {
         "name": "hex_literal",
-        "db.system.name": "other_sql",
-        "query": "SELECT 0xDEADBEEF, 0XdeadBEEF",
-        "db.query.text": [
-            "SELECT ?, ?"
-        ],
-        "db.query.summary": "SELECT"
+        "input": {
+            "db.system.name": "other_sql",
+            "query": "SELECT 0xDEADBEEF, 0XdeadBEEF"
+        },
+        "expected": {
+            "db.query.text": [
+                "SELECT ?, ?"
+            ],
+            "db.query.summary": "SELECT"
+        }
     },
     {
         "name": "string_literal",
-        "db.system.name": "other_sql",
-        "query": "SELECT 'hello'",
-        "db.query.text": [
-            "SELECT ?"
-        ],
-        "db.query.summary": "SELECT"
+        "input": {
+            "db.system.name": "other_sql",
+            "query": "SELECT 'hello'"
+        },
+        "expected": {
+            "db.query.text": [
+                "SELECT ?"
+            ],
+            "db.query.summary": "SELECT"
+        }
     },
     {
         "name": "string_literal_escaped_single_quote",
-        "db.system.name": "other_sql",
-        "query": "SELECT 'My name''s not important'",
-        "db.query.text": [
-            "SELECT ?"
-        ],
-        "db.query.summary": "SELECT"
+        "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",
-        "db.system.name": "other_sql",
-        "query": "SELECT 'My name is \n not important'",
-        "db.query.text": [
-            "SELECT ?"
-        ],
-        "db.query.summary": "SELECT"
+        "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",
-        "db.system.name": "other_sql",
-        "query": "SELECT c3po, r2d2 FROM covid19 WHERE n1h1=1234",
-        "db.query.text": [
-            "SELECT c3po, r2d2 FROM covid19 WHERE n1h1=?"
-        ],
-        "db.query.summary": "SELECT covid19"
+        "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",
-        "db.system.name": "other_sql",
-        "query": "SELECT a FROM dbo.Table JOIN dbo.AnotherTable",
-        "db.query.text": [
-            "SELECT a FROM dbo.Table JOIN dbo.AnotherTable"
-        ],
-        "db.query.summary": "SELECT dbo.Table dbo.AnotherTable"
+        "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",
-        "db.system.name": "other_sql",
-        "query": "INSERT INTO X VALUES(1, 23456, 123.456, 99+100)",
-        "db.query.text": [
-            "INSERT INTO X VALUES(?, ?, ?, ??)"
-        ],
-        "db.query.summary": "INSERT X"
+        "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",
-        "db.system.name": "other_sql",
-        "query": "SELECT { guid '01234567-89ab-cdef-0123-456789abcdef' }",
-        "db.query.text": [
-            "SELECT { guid ? }"
-        ],
-        "db.query.summary": "SELECT"
+        "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",
-        "db.system.name": "other_sql",
-        "query": "SELECT * FROM table WHERE value IN (123, 456, 'abc')",
-        "db.query.text": [
-            "SELECT * FROM table WHERE value IN (?)",
-            "SELECT * FROM table WHERE value IN (?, ?, ?)"
-        ],
-        "db.query.summary": "SELECT table"
+        "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",
-        "db.system.name": "other_sql",
-        "query": "SELECT column -- end of line comment\nFROM /* block \n comment */ table",
-        "db.query.text": [
-            "SELECT column \nFROM  table"
-        ],
-        "db.query.summary": "SELECT table"
+        "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",
-        "db.system.name": "other_sql",
-        "query": "INSERT INTO shipping_details\n(order_id,\naddress)\nSELECT order_id,\naddress\nFROM   orders\nWHERE  order_id = 1",
-        "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"
+        "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",
-        "db.system.name": "other_sql",
-        "query": "SELECT order_date\nFROM   (SELECT *\nFROM   orders o\nJOIN customers c\nON o.customer_id = c.customer_id)",
-        "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"
+        "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",
-        "db.system.name": "other_sql",
-        "query": "SELEcT order_date\nFROM   (sELECT *\nFROM   orders o\nJOIN customers c\nON o.customer_id = c.customer_id)",
-        "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"
+        "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",
-        "db.system.name": "other_sql",
-        "query": "SELEcT order_date\nFROM ORders",
-        "db.query.text": [
-            "SELEcT order_date\nFROM ORders"
-        ],
-        "db.query.summary": "SELEcT ORders"
+        "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",
-        "db.system.name": "other_sql",
-        "query": "SELECT * FROM Orders o CROSS JOIN OrderDetails od",
-        "db.query.text": [
-            "SELECT * FROM Orders o CROSS JOIN OrderDetails od"
-        ],
-        "db.query.summary": "SELECT Orders OrderDetails"
+        "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",
-        "db.system.name": "other_sql",
-        "query": "SELECT * FROM Orders o, OrderDetails od",
-        "db.query.text": [
-            "SELECT * FROM Orders o, OrderDetails od"
-        ],
-        "db.query.summary": "SELECT Orders OrderDetails"
+        "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",
-        "db.system.name": "other_sql",
-        "query": "CREATE  TABLE MyTable (\n    ID NOT NULL IDENTITY(1,1) PRIMARY KEY\n)",
-        "db.query.text": [
-            "CREATE  TABLE MyTable (\n    ID NOT NULL IDENTITY(?,?) PRIMARY KEY\n)"
-        ],
-        "db.query.summary": "CREATE  TABLE MyTable"
+        "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",
-        "db.system.name": "other_sql",
-        "query": "ALTER  TABLE MyTable ADD Name varchar(255)",
-        "db.query.text": [
-            "ALTER  TABLE MyTable ADD Name varchar(?)"
-        ],
-        "db.query.summary": "ALTER  TABLE MyTable"
+        "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",
-        "db.system.name": "other_sql",
-        "query": "DROP  TABLE MyTable",
-        "db.query.text": [
-            "DROP  TABLE MyTable"
-        ],
-        "db.query.summary": "DROP  TABLE MyTable"
+        "input": {
+            "db.system.name": "other_sql",
+            "query": "DROP  TABLE MyTable"
+        },
+        "expected": {
+            "db.query.text": [
+                "DROP  TABLE MyTable"
+            ],
+            "db.query.summary": "DROP  TABLE MyTable"
+        }
     }
 ]

From 66745110e4202b1c44495adf446d0429068a1827 Mon Sep 17 00:00:00 2001
From: Alan West <3676547+alanwest@users.noreply.github.com>
Date: Wed, 19 Mar 2025 10:02:19 -0700
Subject: [PATCH 10/10] Normalize whitespace in db.query.summary

---
 .../database-test-cases/db-sql-test-cases.json              | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/docs/non-normative/database-test-cases/db-sql-test-cases.json b/docs/non-normative/database-test-cases/db-sql-test-cases.json
index 1188974d8e..0686ab2323 100644
--- a/docs/non-normative/database-test-cases/db-sql-test-cases.json
+++ b/docs/non-normative/database-test-cases/db-sql-test-cases.json
@@ -283,7 +283,7 @@
             "db.query.text": [
                 "CREATE  TABLE MyTable (\n    ID NOT NULL IDENTITY(?,?) PRIMARY KEY\n)"
             ],
-            "db.query.summary": "CREATE  TABLE MyTable"
+            "db.query.summary": "CREATE TABLE MyTable"
         }
     },
     {
@@ -296,7 +296,7 @@
             "db.query.text": [
                 "ALTER  TABLE MyTable ADD Name varchar(?)"
             ],
-            "db.query.summary": "ALTER  TABLE MyTable"
+            "db.query.summary": "ALTER TABLE MyTable"
         }
     },
     {
@@ -309,7 +309,7 @@
             "db.query.text": [
                 "DROP  TABLE MyTable"
             ],
-            "db.query.summary": "DROP  TABLE MyTable"
+            "db.query.summary": "DROP TABLE MyTable"
         }
     }
 ]