diff --git a/DEPS.bzl b/DEPS.bzl index d76e635496b1e..ec7ec42d22414 100644 --- a/DEPS.bzl +++ b/DEPS.bzl @@ -489,39 +489,39 @@ def go_deps(): name = "com_github_azure_azure_sdk_for_go_sdk_azcore", build_file_proto_mode = "disable_global", importpath = "github.com/Azure/azure-sdk-for-go/sdk/azcore", - sha256 = "0476f5e090fa602f71a5a3f0c9f4578bbd4a3ee3d5c2c98d07c3110a988cc9c0", - strip_prefix = "github.com/Azure/azure-sdk-for-go/sdk/azcore@v1.12.0", + sha256 = "bf0fca85626fc28c5b3b3c06339a42d2cd78637a1401d3db9a83674ced9aa0cb", + strip_prefix = "github.com/Azure/azure-sdk-for-go/sdk/azcore@v1.14.0", urls = [ - "http://bazel-cache.pingcap.net:8080/gomod/github.com/Azure/azure-sdk-for-go/sdk/azcore/com_github_azure_azure_sdk_for_go_sdk_azcore-v1.12.0.zip", - "http://ats.apps.svc/gomod/github.com/Azure/azure-sdk-for-go/sdk/azcore/com_github_azure_azure_sdk_for_go_sdk_azcore-v1.12.0.zip", - "https://cache.hawkingrei.com/gomod/github.com/Azure/azure-sdk-for-go/sdk/azcore/com_github_azure_azure_sdk_for_go_sdk_azcore-v1.12.0.zip", - "https://storage.googleapis.com/pingcapmirror/gomod/github.com/Azure/azure-sdk-for-go/sdk/azcore/com_github_azure_azure_sdk_for_go_sdk_azcore-v1.12.0.zip", + "http://bazel-cache.pingcap.net:8080/gomod/github.com/Azure/azure-sdk-for-go/sdk/azcore/com_github_azure_azure_sdk_for_go_sdk_azcore-v1.14.0.zip", + "http://ats.apps.svc/gomod/github.com/Azure/azure-sdk-for-go/sdk/azcore/com_github_azure_azure_sdk_for_go_sdk_azcore-v1.14.0.zip", + "https://cache.hawkingrei.com/gomod/github.com/Azure/azure-sdk-for-go/sdk/azcore/com_github_azure_azure_sdk_for_go_sdk_azcore-v1.14.0.zip", + "https://storage.googleapis.com/pingcapmirror/gomod/github.com/Azure/azure-sdk-for-go/sdk/azcore/com_github_azure_azure_sdk_for_go_sdk_azcore-v1.14.0.zip", ], ) go_repository( name = "com_github_azure_azure_sdk_for_go_sdk_azidentity", build_file_proto_mode = "disable_global", importpath = "github.com/Azure/azure-sdk-for-go/sdk/azidentity", - sha256 = "c1975389670cde19b40c81be4cc96f36768001eb785d62bce133f69a84e0d3e9", - strip_prefix = "github.com/Azure/azure-sdk-for-go/sdk/azidentity@v1.6.0", + sha256 = "11b5939e70cf765a9753155023dd3e3ea42cc40a133307336abc0f8a4e3af404", + strip_prefix = "github.com/Azure/azure-sdk-for-go/sdk/azidentity@v1.7.0", urls = [ - "http://bazel-cache.pingcap.net:8080/gomod/github.com/Azure/azure-sdk-for-go/sdk/azidentity/com_github_azure_azure_sdk_for_go_sdk_azidentity-v1.6.0.zip", - "http://ats.apps.svc/gomod/github.com/Azure/azure-sdk-for-go/sdk/azidentity/com_github_azure_azure_sdk_for_go_sdk_azidentity-v1.6.0.zip", - "https://cache.hawkingrei.com/gomod/github.com/Azure/azure-sdk-for-go/sdk/azidentity/com_github_azure_azure_sdk_for_go_sdk_azidentity-v1.6.0.zip", - "https://storage.googleapis.com/pingcapmirror/gomod/github.com/Azure/azure-sdk-for-go/sdk/azidentity/com_github_azure_azure_sdk_for_go_sdk_azidentity-v1.6.0.zip", + "http://bazel-cache.pingcap.net:8080/gomod/github.com/Azure/azure-sdk-for-go/sdk/azidentity/com_github_azure_azure_sdk_for_go_sdk_azidentity-v1.7.0.zip", + "http://ats.apps.svc/gomod/github.com/Azure/azure-sdk-for-go/sdk/azidentity/com_github_azure_azure_sdk_for_go_sdk_azidentity-v1.7.0.zip", + "https://cache.hawkingrei.com/gomod/github.com/Azure/azure-sdk-for-go/sdk/azidentity/com_github_azure_azure_sdk_for_go_sdk_azidentity-v1.7.0.zip", + "https://storage.googleapis.com/pingcapmirror/gomod/github.com/Azure/azure-sdk-for-go/sdk/azidentity/com_github_azure_azure_sdk_for_go_sdk_azidentity-v1.7.0.zip", ], ) go_repository( name = "com_github_azure_azure_sdk_for_go_sdk_internal", build_file_proto_mode = "disable_global", importpath = "github.com/Azure/azure-sdk-for-go/sdk/internal", - sha256 = "dadfa8174b2e526389f17d57ec03bf5e22a40713723500af17f0ef10649849bb", - strip_prefix = "github.com/Azure/azure-sdk-for-go/sdk/internal@v1.9.0", + sha256 = "0a9b4fe658e348b9a6535b1ae0698fa5cf5ba9ba3710530edbdc763eeffe2d24", + strip_prefix = "github.com/Azure/azure-sdk-for-go/sdk/internal@v1.10.0", urls = [ - "http://bazel-cache.pingcap.net:8080/gomod/github.com/Azure/azure-sdk-for-go/sdk/internal/com_github_azure_azure_sdk_for_go_sdk_internal-v1.9.0.zip", - "http://ats.apps.svc/gomod/github.com/Azure/azure-sdk-for-go/sdk/internal/com_github_azure_azure_sdk_for_go_sdk_internal-v1.9.0.zip", - "https://cache.hawkingrei.com/gomod/github.com/Azure/azure-sdk-for-go/sdk/internal/com_github_azure_azure_sdk_for_go_sdk_internal-v1.9.0.zip", - "https://storage.googleapis.com/pingcapmirror/gomod/github.com/Azure/azure-sdk-for-go/sdk/internal/com_github_azure_azure_sdk_for_go_sdk_internal-v1.9.0.zip", + "http://bazel-cache.pingcap.net:8080/gomod/github.com/Azure/azure-sdk-for-go/sdk/internal/com_github_azure_azure_sdk_for_go_sdk_internal-v1.10.0.zip", + "http://ats.apps.svc/gomod/github.com/Azure/azure-sdk-for-go/sdk/internal/com_github_azure_azure_sdk_for_go_sdk_internal-v1.10.0.zip", + "https://cache.hawkingrei.com/gomod/github.com/Azure/azure-sdk-for-go/sdk/internal/com_github_azure_azure_sdk_for_go_sdk_internal-v1.10.0.zip", + "https://storage.googleapis.com/pingcapmirror/gomod/github.com/Azure/azure-sdk-for-go/sdk/internal/com_github_azure_azure_sdk_for_go_sdk_internal-v1.10.0.zip", ], ) go_repository( @@ -5564,6 +5564,19 @@ def go_deps(): "https://storage.googleapis.com/pingcapmirror/gomod/github.com/onsi/gomega/com_github_onsi_gomega-v1.29.0.zip", ], ) + go_repository( + name = "com_github_openai_openai_go", + build_file_proto_mode = "disable_global", + importpath = "github.com/openai/openai-go", + sha256 = "a44472c58973413a5b2ca7880d028e19cc98e7a99405693f679f464ac4c570c3", + strip_prefix = "github.com/openai/openai-go@v0.1.0-alpha.59", + urls = [ + "http://bazel-cache.pingcap.net:8080/gomod/github.com/openai/openai-go/com_github_openai_openai_go-v0.1.0-alpha.59.zip", + "http://ats.apps.svc/gomod/github.com/openai/openai-go/com_github_openai_openai_go-v0.1.0-alpha.59.zip", + "https://cache.hawkingrei.com/gomod/github.com/openai/openai-go/com_github_openai_openai_go-v0.1.0-alpha.59.zip", + "https://storage.googleapis.com/pingcapmirror/gomod/github.com/openai/openai-go/com_github_openai_openai_go-v0.1.0-alpha.59.zip", + ], + ) go_repository( name = "com_github_opencontainers_go_digest", build_file_proto_mode = "disable_global", @@ -7046,6 +7059,58 @@ def go_deps(): "https://storage.googleapis.com/pingcapmirror/gomod/github.com/tiancaiamao/gp/com_github_tiancaiamao_gp-v0.0.0-20221230034425-4025bc8a4d4a.zip", ], ) + go_repository( + name = "com_github_tidwall_gjson", + build_file_proto_mode = "disable_global", + importpath = "github.com/tidwall/gjson", + sha256 = "e6d35da84683bc91382a31214d4c3f9a852eec040ca866a1c620a8c0d99f9676", + strip_prefix = "github.com/tidwall/gjson@v1.14.4", + urls = [ + "http://bazel-cache.pingcap.net:8080/gomod/github.com/tidwall/gjson/com_github_tidwall_gjson-v1.14.4.zip", + "http://ats.apps.svc/gomod/github.com/tidwall/gjson/com_github_tidwall_gjson-v1.14.4.zip", + "https://cache.hawkingrei.com/gomod/github.com/tidwall/gjson/com_github_tidwall_gjson-v1.14.4.zip", + "https://storage.googleapis.com/pingcapmirror/gomod/github.com/tidwall/gjson/com_github_tidwall_gjson-v1.14.4.zip", + ], + ) + go_repository( + name = "com_github_tidwall_match", + build_file_proto_mode = "disable_global", + importpath = "github.com/tidwall/match", + sha256 = "2ba41f7f27330d49e0e432cbf96bf90720a33e4a97be58fe53f63a7e66f04d37", + strip_prefix = "github.com/tidwall/match@v1.1.1", + urls = [ + "http://bazel-cache.pingcap.net:8080/gomod/github.com/tidwall/match/com_github_tidwall_match-v1.1.1.zip", + "http://ats.apps.svc/gomod/github.com/tidwall/match/com_github_tidwall_match-v1.1.1.zip", + "https://cache.hawkingrei.com/gomod/github.com/tidwall/match/com_github_tidwall_match-v1.1.1.zip", + "https://storage.googleapis.com/pingcapmirror/gomod/github.com/tidwall/match/com_github_tidwall_match-v1.1.1.zip", + ], + ) + go_repository( + name = "com_github_tidwall_pretty", + build_file_proto_mode = "disable_global", + importpath = "github.com/tidwall/pretty", + sha256 = "9327579bf9e610de753eeb7c35c8cf1e3f56e6e5623cbf65e47bc8076023d1ab", + strip_prefix = "github.com/tidwall/pretty@v1.2.1", + urls = [ + "http://bazel-cache.pingcap.net:8080/gomod/github.com/tidwall/pretty/com_github_tidwall_pretty-v1.2.1.zip", + "http://ats.apps.svc/gomod/github.com/tidwall/pretty/com_github_tidwall_pretty-v1.2.1.zip", + "https://cache.hawkingrei.com/gomod/github.com/tidwall/pretty/com_github_tidwall_pretty-v1.2.1.zip", + "https://storage.googleapis.com/pingcapmirror/gomod/github.com/tidwall/pretty/com_github_tidwall_pretty-v1.2.1.zip", + ], + ) + go_repository( + name = "com_github_tidwall_sjson", + build_file_proto_mode = "disable_global", + importpath = "github.com/tidwall/sjson", + sha256 = "fc40fda87c7de55362f6386e069d674772f25c9d76411ee823acb9ac78b20565", + strip_prefix = "github.com/tidwall/sjson@v1.2.5", + urls = [ + "http://bazel-cache.pingcap.net:8080/gomod/github.com/tidwall/sjson/com_github_tidwall_sjson-v1.2.5.zip", + "http://ats.apps.svc/gomod/github.com/tidwall/sjson/com_github_tidwall_sjson-v1.2.5.zip", + "https://cache.hawkingrei.com/gomod/github.com/tidwall/sjson/com_github_tidwall_sjson-v1.2.5.zip", + "https://storage.googleapis.com/pingcapmirror/gomod/github.com/tidwall/sjson/com_github_tidwall_sjson-v1.2.5.zip", + ], + ) go_repository( name = "com_github_tikv_client_go_v2", build_file_proto_mode = "disable_global", diff --git a/go.mod b/go.mod index 5ddeb870d9fc3..2f5ca8de47b39 100644 --- a/go.mod +++ b/go.mod @@ -5,8 +5,8 @@ go 1.23.6 require ( cloud.google.com/go/kms v1.15.7 cloud.google.com/go/storage v1.38.0 - github.com/Azure/azure-sdk-for-go/sdk/azcore v1.12.0 - github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.6.0 + github.com/Azure/azure-sdk-for-go/sdk/azcore v1.14.0 + github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0 github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.0.0 github.com/BurntSushi/toml v1.4.1-0.20240526193622-a339e1f7089c github.com/DATA-DOG/go-sqlmock v1.5.0 @@ -79,6 +79,7 @@ require ( github.com/ngaut/pools v0.0.0-20180318154953-b7bc8c42aac7 github.com/ngaut/sync2 v0.0.0-20141008032647-7a24ed77b2ef github.com/nishanths/predeclared v0.2.2 + github.com/openai/openai-go v0.1.0-alpha.59 github.com/opentracing/basictracer-go v1.0.0 github.com/opentracing/opentracing-go v1.2.0 github.com/otiai10/copy v1.14.0 @@ -171,6 +172,10 @@ require ( github.com/pierrec/lz4/v4 v4.1.15 // indirect github.com/qri-io/jsonpointer v0.1.1 // indirect github.com/segmentio/fasthash v1.0.3 // indirect + github.com/tidwall/gjson v1.14.4 // indirect + github.com/tidwall/match v1.1.1 // indirect + github.com/tidwall/pretty v1.2.1 // indirect + github.com/tidwall/sjson v1.2.5 // indirect github.com/zeebo/xxh3 v1.0.2 // indirect ) @@ -179,7 +184,7 @@ require ( cloud.google.com/go/compute/metadata v0.3.0 // indirect cloud.google.com/go/iam v1.1.6 // indirect cloud.google.com/go/pubsub v1.36.1 // indirect - github.com/Azure/azure-sdk-for-go/sdk/internal v1.9.0 // indirect + github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 // indirect github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358 // indirect github.com/AzureAD/microsoft-authentication-library-for-go v1.2.2 // indirect github.com/DataDog/zstd v1.5.5 // indirect diff --git a/go.sum b/go.sum index cf7aa99838cc5..e7014af2f2422 100644 --- a/go.sum +++ b/go.sum @@ -47,12 +47,12 @@ filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8= git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.12.0 h1:1nGuui+4POelzDwI7RG56yfQJHCnKvwfMoU7VsEp+Zg= -github.com/Azure/azure-sdk-for-go/sdk/azcore v1.12.0/go.mod h1:99EvauvlcJ1U06amZiksfYz/3aFGyIhWGHVyiZXtBAI= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.6.0 h1:U2rTu3Ef+7w9FHKIAXM6ZyqF3UOWJZ12zIm8zECAFfg= -github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.6.0/go.mod h1:9kIvujWAA58nmPmWB1m23fyWic1kYZMxD9CxaWn4Qpg= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.9.0 h1:H+U3Gk9zY56G3u872L82bk4thcsy2Gghb9ExT4Zvm1o= -github.com/Azure/azure-sdk-for-go/sdk/internal v1.9.0/go.mod h1:mgrmMSgaLp9hmax62XQTd0N4aAqSE5E0DulSpVYK7vc= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.14.0 h1:nyQWyZvwGTvunIMxi1Y9uXkcyr+I7TeNrr/foo4Kpk8= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.14.0/go.mod h1:l38EPgmsp71HHLq9j7De57JcKOWPyhrsW1Awm1JS6K0= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0 h1:tfLQ34V6F7tVSwoTf/4lH5sE0o6eCJuNDTmH09nDpbc= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.7.0/go.mod h1:9kIvujWAA58nmPmWB1m23fyWic1kYZMxD9CxaWn4Qpg= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0 h1:ywEEhmNahHBihViHepv3xPBn1663uRv2t2q/ESv9seY= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.10.0/go.mod h1:iZDifYGJTIgIIkYRNWPENUnqx6bJ2xnSDFI2tjwZNuY= github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.0.0 h1:u/LLAOFgsMv7HmNL4Qufg58y+qElGOt5qv0z1mURkRY= github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.0.0/go.mod h1:2e8rMJtl2+2j+HXbTBwnyGpm5Nou7KhvSfxOq8JpTag= github.com/Azure/go-ntlmssp v0.0.0-20221128193559-754e69321358 h1:mFRzDkZVAjdal+s7s0MwaRv9igoPqLRdzOLzw/8Xvq8= @@ -639,6 +639,8 @@ github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= github.com/onsi/gomega v1.29.0 h1:KIA/t2t5UBzoirT4H9tsML45GEbo3ouUnBHsCfD2tVg= github.com/onsi/gomega v1.29.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= +github.com/openai/openai-go v0.1.0-alpha.59 h1:T3IYwKSCezfIlL9Oi+CGvU03fq0RoH33775S78Ti48Y= +github.com/openai/openai-go v0.1.0-alpha.59/go.mod h1:3SdE6BffOX9HPEQv8IL/fi3LYZ5TUpRYaqGQZbyk11A= github.com/opentracing/basictracer-go v1.0.0 h1:YyUAhaEfjoWXclZVJ9sGoNct7j4TVk7lZWlQw5UXuoo= github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= @@ -832,6 +834,16 @@ github.com/tiancaiamao/appdash v0.0.0-20181126055449-889f96f722a2 h1:mbAskLJ0oJf github.com/tiancaiamao/appdash v0.0.0-20181126055449-889f96f722a2/go.mod h1:2PfKggNGDuadAa0LElHrByyrz4JPZ9fFx6Gs7nx7ZZU= github.com/tiancaiamao/gp v0.0.0-20221230034425-4025bc8a4d4a h1:J/YdBZ46WKpXsxsW93SG+q0F8KI+yFrcIDT4c/RNoc4= github.com/tiancaiamao/gp v0.0.0-20221230034425-4025bc8a4d4a/go.mod h1:h4xBhSNtOeEosLJ4P7JyKXX7Cabg7AVkWCK5gV2vOrM= +github.com/tidwall/gjson v1.14.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/gjson v1.14.4 h1:uo0p8EbA09J7RQaflQ1aBRffTR7xedD2bcIVSYxLnkM= +github.com/tidwall/gjson v1.14.4/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/match v1.1.1 h1:+Ho715JplO36QYgwN9PGYNhgZvoUSc9X2c80KVTi+GA= +github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= +github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= +github.com/tidwall/pretty v1.2.1 h1:qjsOFOWWQl+N3RsoF5/ssm1pHmJJwhjlSbZ51I6wMl4= +github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= +github.com/tidwall/sjson v1.2.5 h1:kLy8mja+1c9jlljvWTlSazM7cKDRfJuR/bOJhcY5NcY= +github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28= github.com/tikv/client-go/v2 v2.0.8-0.20250214064015-a805ea84f300 h1:imV8hMAanK2keUM3sTnVgZ3qEyjB1RJ/tU0vrz68vAM= github.com/tikv/client-go/v2 v2.0.8-0.20250214064015-a805ea84f300/go.mod h1:C6LbDj8IjVyDsZlXAcLA57sdDRIQVrHXkgALHx7hk5g= github.com/tikv/pd/client v0.0.0-20250213082949-e8930327be42 h1:hvB0tf4u5ZU1vAew3MmbyxdYuogDLjIZYzSFt1ACFqo= diff --git a/pkg/server/tests/commontest/BUILD.bazel b/pkg/server/tests/commontest/BUILD.bazel index 767b9f93db616..646ffa19e3ce2 100644 --- a/pkg/server/tests/commontest/BUILD.bazel +++ b/pkg/server/tests/commontest/BUILD.bazel @@ -8,6 +8,7 @@ go_test( "main_test.go", "tidb_test.go", ], + data = glob(["testdata/**"]), flaky = True, shard_count = 50, deps = [ diff --git a/tests/llmtest/BUILD.bazel b/tests/llmtest/BUILD.bazel new file mode 100644 index 0000000000000..5d9e18234dfe0 --- /dev/null +++ b/tests/llmtest/BUILD.bazel @@ -0,0 +1,35 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test") + +go_library( + name = "llmtest_lib", + srcs = ["main.go"], + importpath = "github.com/pingcap/tidb/tests/llmtest", + visibility = ["//visibility:private"], + deps = [ + "//tests/llmtest/generator", + "//tests/llmtest/logger", + "//tests/llmtest/testcase", + "@com_github_go_sql_driver_mysql//:mysql", + "@com_github_spf13_cobra//:cobra", + "@org_uber_go_zap//:zap", + ], +) + +go_binary( + name = "llmtest", + embed = [":llmtest_lib"], + visibility = ["//visibility:public"], +) + +go_test( + name = "llmtest_test", + timeout = "short", + srcs = ["main_test.go"], + data = glob(["testdata/**"]), + flaky = True, + deps = [ + "//tests/llmtest/generator", + "//tests/llmtest/testcase", + "@com_github_stretchr_testify//require", + ], +) diff --git a/tests/llmtest/README.md b/tests/llmtest/README.md new file mode 100644 index 0000000000000..6d2d4513a470b --- /dev/null +++ b/tests/llmtest/README.md @@ -0,0 +1,48 @@ +# LLMTest + +It's a tool to help TiDB developers to generate test cases through LLM for any features, and run the test cases in TiDB. + +## Generate + +The `LLMTest` uses different "prompt generator" to generate the tests for different features. For example, the `generator/expression.go` includes the expression prompt generator to generate the test cases for expression module. + +To generate test cases with a specific prompt generator, you can use the following command: + +```bash +./llmtest generate --openai_base_url https://openai.base.url --openai_model deepseek/deepseek-r1 --openai_token XXXXX --parallel 20 --prompt_generator expression --test_count 10 +``` + +Replace the `prompt_generator` with the specific prompt generator you want to use. + +## Add a new prompt generator + +To add a new prompt generator, you need to implement the `PromptGenerator` interface in the `generator/prompt.go` file. The `PromptGenerator` interface includes the following methods: + +```go +// PromptGenerator is the interface for prompt generator. +type PromptGenerator interface { + Name() string + Groups() []string + + GeneratePrompt(group string, count int, existCases []*testcase.Case) []openai.ChatCompletionMessageParamUnion + Unmarshal(response string) []testcase.Case +} +``` + +The `Name` method returns the name of the prompt generator. The `Groups` method returns the sub-classes of the prompt generator. The `GeneratePrompt` method generates the prompt for the test cases. The `Unmarshal` method unmarshals the response from the OpenAI API to the test cases. + +The `Groups()` method is used to classify the test cases. For example, the `expression` prompt generator has the following groups: + +```go +[]string{"+", "-" ....} +``` + +## Verify + +To verify the generated test cases, you can use the following command: + +```bash +./llmtest verify --mysql_dsn "root:123456@tcp(127.0.0.1:3306)/test" --tidb_dsn "root@tcp(127.0.0.1:4000)/test" --prompt_generator expression +``` + +It'll execute the generated test cases in the TiDB cluster and MySQL to verify the results. diff --git a/tests/llmtest/generator/BUILD.bazel b/tests/llmtest/generator/BUILD.bazel new file mode 100644 index 0000000000000..0dc191abdf292 --- /dev/null +++ b/tests/llmtest/generator/BUILD.bazel @@ -0,0 +1,21 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "generator", + srcs = [ + "dml.go", + "expression.go", + "generator.go", + "misc.go", + "prompt.go", + ], + importpath = "github.com/pingcap/tidb/tests/llmtest/generator", + visibility = ["//visibility:public"], + deps = [ + "//tests/llmtest/logger", + "//tests/llmtest/testcase", + "@com_github_openai_openai_go//:openai-go", + "@com_github_openai_openai_go//option", + "@org_uber_go_zap//:zap", + ], +) diff --git a/tests/llmtest/generator/dml.go b/tests/llmtest/generator/dml.go new file mode 100644 index 0000000000000..d1fdf8543aead --- /dev/null +++ b/tests/llmtest/generator/dml.go @@ -0,0 +1,102 @@ +// Copyright 2025 PingCAP, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package generator + +import ( + "encoding/json" + "fmt" + + "github.com/openai/openai-go" + "github.com/pingcap/tidb/tests/llmtest/logger" + "github.com/pingcap/tidb/tests/llmtest/testcase" + "go.uber.org/zap" +) + +type dmlPromptGenerator struct { +} + +// Name implements PromptGenerator.Name +func (g *dmlPromptGenerator) Name() string { + return "dml" +} + +// Groups implements PromptGenerator.Groups +func (g *dmlPromptGenerator) Groups() []string { + return []string{ + "insert", "update", "delete", + } +} + +// GeneratePrompt implements PromptGenerator.GeneratePrompt +func (g *dmlPromptGenerator) GeneratePrompt(group string, count int, existCases []*testcase.Case) []openai.ChatCompletionMessageParamUnion { + messages := make([]openai.ChatCompletionMessageParamUnion, 0, 2) + + systemPrompt := `You are a professional QA engineer testing a new SQL database compatible with MySQL. You are tasked with testing the compatibility of the database with MySQL for a specific DML operation. You should write the queries to cover the corner cases of the operation. The common cases are not needed. You should try to use this operation with different valid argument types to test the implicit type conversion. You should try to use this operation with NULL to test the behavior of NULL. Please return a valid JSON object with the key "queries" and an array of strings as the value. Be careful with the escape characters. You should avoid using NOW(), RAND() or any other functions that return different results on each call. You should pack the related DDL in the same query. You should CREATE and DROP the table before and after using it. You should use a SELECT statement to verify the result after each DML. The SELECT statement should have stable order. + + IMPORTANT: Don't put anything else in the response. + + EXAMPLE INPUT: + Return 3 random SQL queries using this operation: INSERT. + + EXAMPLE JSON OUTPUT: + {"queries": ["CREATE TABLE t (id INT, name VARCHAR(25));INSERT INTO t VALUES (1, 'a');SELECT * FROM t ORDER BY id;DROP TABLE t;", "CREATE TABLE t (id INT, name VARCHAR(25));INSERT INTO t VALUES (NULL, 'b');SELECT * FROM t ORDER BY id;DROP TABLE t;", "CREATE TABLE t (id INT, name VARCHAR(25));INSERT INTO t VALUES (1, '\\n');SELECT * FROM t ORDER BY id;DROP TABLE t;"]}` + messages = append(messages, openai.SystemMessage(systemPrompt)) + + userPromptTemplate := `Return %d random SQL queries using this operation: %s.` + + if len(existCases) > 0 { + messages = append(messages, openai.UserMessage(fmt.Sprintf(userPromptTemplate, len(existCases), group))) + + existResponse := make([]string, 0, len(existCases)) + for _, c := range existCases { + existResponse = append(existResponse, c.SQL) + } + assistantMessage, err := json.Marshal(simplePromptResponse{ + Queries: existResponse, + }) + // should never happen + if err != nil { + logger.Global.Info("failed to marshal exist response", zap.Error(err)) + return nil + } + messages = append(messages, openai.AssistantMessage(string(assistantMessage))) + } + messages = append(messages, openai.UserMessage(fmt.Sprintf(userPromptTemplate, count, group))) + + return messages +} + +// Unmarshal implements PromptGenerator.Unmarshal +func (g *dmlPromptGenerator) Unmarshal(response string) []testcase.Case { + var resp simplePromptResponse + err := json.Unmarshal([]byte(response), &resp) + if err != nil { + logger.Global.Error("failed to unmarshal dml prompt response", zap.Error(err), zap.String("response", response)) + return nil + } + + cases := make([]testcase.Case, 0, len(resp.Queries)) + for _, q := range resp.Queries { + cases = append(cases, testcase.Case{ + SQL: q, + }) + } + + return cases +} + +func init() { + registerPromptGenerator(&dmlPromptGenerator{}) +} diff --git a/tests/llmtest/generator/expression.go b/tests/llmtest/generator/expression.go new file mode 100644 index 0000000000000..3b284307cb247 --- /dev/null +++ b/tests/llmtest/generator/expression.go @@ -0,0 +1,151 @@ +// Copyright 2025 PingCAP, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package generator + +import ( + "encoding/json" + "fmt" + + "github.com/openai/openai-go" + "github.com/pingcap/tidb/tests/llmtest/logger" + "github.com/pingcap/tidb/tests/llmtest/testcase" + "go.uber.org/zap" +) + +type expressionPromptGenerator struct { +} + +// Name implements PromptGenerator.Name +func (g *expressionPromptGenerator) Name() string { + return "expression" +} + +// Groups implements PromptGenerator.Groups +func (g *expressionPromptGenerator) Groups() []string { + return []string{ + // scalar functions + "and", "cast", "<<", ">>", "or", ">=", "<=", "=", "!=", "<", ">", "+", "-", "&", "|", "%", "^", "/", "*", "not", "~", "div", "xor", "<=>", "+", "-", "in", "like", "case", "regexp", "regexp_like", "regexp_substr", "regexp_instr", "regexp_replace", "is", "row", "bit_count", + // "ilike" + + // common functions + "coalesce", "greatest", "least", "interval", + + // math functions + "abs", "acos", "asin", "atan", "atan2", "ceil", "ceiling", "conv", "cos", "cot", "crc32", "degrees", "exp", "floor", "ln", "log", "log2", "log10", "pi", "pow", "power", "radians", "round", "sign", "sin", "sqrt", "tan", "truncate", + // "rand" + + // time functions + "adddate", "addtime", "convert_tz", "curdate", "current_date", "date", "dateliteral", "date_add", "date_format", "date_sub", "datediff", "day", "dayname", "dayofmonth", "dayofweek", "dayofyear", "extract", "from_days", "from_unixtime", "get_format", "hour", "localtime", "localtimestamp", "makedate", "maketime", "microsecond", "minute", "month", "monthname", "period_add", "period_diff", "quarter", "sec_to_time", "second", "str_to_date", "subdate", "subtime", "sysdate", "time", "timeliteral", "time_format", "time_to_sec", "timediff", "timestamp", "timestampliteral", "timestampadd", "timestampdiff", "to_days", "to_seconds", "unix_timestamp", "utc_date", "utc_time", "utc_timestamp", "week", "weekday", "weekofyear", "year", "yearweek", "last_day", + // "current_time", "current_timestamp", "curtime", "now", "tidb_bounded_staleness", "tidb_parse_tso", "tidb_parse_tso_logical", "tidb_current_tso", + + // string functions + "ascii", "bin", "concat", "concat_ws", "convert", "elt", "export_set", "field", "format", "from_base64", "instr", "lcase", "left", "length", "locate", "lower", "lpad", "ltrim", "make_set", "mid", "oct", "octet_length", "ord", "position", "quote", "repeat", "replace", "reverse", "right", "rtrim", "space", "strcmp", "substring", "substr", "substring_index", "to_base64", "trim", "upper", "ucase", "hex", "unhex", "rpad", "bit_length", "char_length", "character_length", "find_in_set", "weight_string", + // "soundex", "insert_func", "char_func", "load_file", "translate" + + // information functions + "charset", "coercibility", "collation", "current_user", "database", "found_rows", "last_insert_id", "row_count", "schema", "session_user", "system_user", "user", "format_bytes", + // "tidb_version", "tidb_is_ddl_owner", "tidb_decode_plan", "tidb_decode_binary_plan", "tidb_decode_sql_digests", "tidb_encode_sql_digest", "current_resource_group", "connection_id", "benchmark", "version", "current_role", "format_nano_time" + + // control functions + "if", "ifnull", "nullif", + + // miscellaneous functions + "inet_aton", "inet_ntoa", "inet6_aton", "inet6_ntoa", "is_ipv4", "is_ipv4_compat", "is_ipv4_mapped", "is_ipv6", "is_uuid", "name_const", "uuid_to_bin", "bin_to_uuid", "grouping", + // "master_pos_wait", "vitess_hash", "get_lock", "release_lock", "release_all_locks", "is_free_lock", "is_used_lock", "tidb_shard", "tidb_row_checksum", "sleep", "uuid", "uuid_short", + + // encryption and compression functions + "aes_decrypt", "aes_encrypt", "md5", "sha1", "sha", "sha2", "uncompress", "uncompressed_length", "validate_password_strength", + // "password", "sm3", "random_bytes", "encode" + + // json functions + "json_type", "json_extract", "json_unquote", "json_array", "json_object", "json_merge", "json_set", "json_insert", "json_replace", "json_remove", "json_overlaps", "json_contains", "json_contains_path", "json_valid", "json_array_append", "json_array_insert", "json_merge_patch", "json_merge_preserve", "json_quote", "json_schema_valid", "json_search", "json_depth", "json_keys", "json_length", + // "json_pretty", "json_storage_free", "json_storage_size", "json_memberof" + + // vector functions (tidb extension) + // "vec_dims", "vec_l1_distance", "vec_l2_distance", "vec_negative_inner_product", "vec_cosine_distance", "vec_l2_norm", "vec_from_text", "vec_as_text", + + // TiDB internal function + // "tidb_decode_key", "tidb_mvcc_info", "tidb_encode_record_key", "tidb_encode_index_key", "tidb_decode_base64_key", + + // Sequence function + // "nextval", "lastval", "setval", + } +} + +type simplePromptResponse struct { + Queries []string `json:"queries"` +} + +// GeneratePrompt implements PromptGenerator.GeneratePrompt +func (g *expressionPromptGenerator) GeneratePrompt(group string, count int, existCases []*testcase.Case) []openai.ChatCompletionMessageParamUnion { + messages := make([]openai.ChatCompletionMessageParamUnion, 0, 2) + + systemPrompt := `You are a professional QA engineer testing a new SQL database compatible with MySQL. You are tasked with testing the compatibility of the database with MySQL for a specific function. You shouldn't use any Database and Tables in your queries. You should write the queries to cover the corner cases of the function. The common cases are not needed. You should try to use this function with different valid argument types to test the implicit type conversion. You should try to use this function with NULL to test the behavior of NULL. Please return a valid JSON object with the key "queries" and an array of strings as the value. Be careful with the escape characters. You should avoid using NOW(), RAND() or any other functions that return different results on each call. + + IMPORTANT: Don't put anything else in the response. + + EXAMPLE INPUT: + Return 3 random SQL queries using this function: CONCAT. + + EXAMPLE JSON OUTPUT: + {"queries": ["SELECT CONCAT('a', 'b')", "SELECT CONCAT(1, 'd')", "SELECT CONCAT(1, '\\n')"]}` + messages = append(messages, openai.SystemMessage(systemPrompt)) + + userPromptTemplate := `Return %d random SQL queries using this function: %s.` + + if len(existCases) > 0 { + messages = append(messages, openai.UserMessage(fmt.Sprintf(userPromptTemplate, len(existCases), group))) + + existResponse := make([]string, 0, len(existCases)) + for _, c := range existCases { + existResponse = append(existResponse, c.SQL) + } + assistantMessage, err := json.Marshal(simplePromptResponse{ + Queries: existResponse, + }) + // should never happen + if err != nil { + logger.Global.Info("failed to marshal exist response", zap.Error(err)) + return nil + } + messages = append(messages, openai.AssistantMessage(string(assistantMessage))) + } + messages = append(messages, openai.UserMessage(fmt.Sprintf(userPromptTemplate, count, group))) + + return messages +} + +// Unmarshal implements PromptGenerator.Unmarshal +func (g *expressionPromptGenerator) Unmarshal(response string) []testcase.Case { + var resp simplePromptResponse + err := json.Unmarshal([]byte(response), &resp) + if err != nil { + logger.Global.Error("failed to unmarshal expression prompt response", zap.Error(err), zap.String("response", response)) + return nil + } + + cases := make([]testcase.Case, 0, len(resp.Queries)) + for _, q := range resp.Queries { + cases = append(cases, testcase.Case{ + SQL: q, + }) + } + + return cases +} + +func init() { + registerPromptGenerator(&expressionPromptGenerator{}) +} diff --git a/tests/llmtest/generator/generator.go b/tests/llmtest/generator/generator.go new file mode 100644 index 0000000000000..7e44c87836aff --- /dev/null +++ b/tests/llmtest/generator/generator.go @@ -0,0 +1,162 @@ +// Copyright 2025 PingCAP, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package generator + +import ( + "context" + "errors" + "fmt" + "strings" + "sync" + + "github.com/openai/openai-go" + "github.com/openai/openai-go/option" + "github.com/pingcap/tidb/tests/llmtest/logger" + "github.com/pingcap/tidb/tests/llmtest/testcase" + "go.uber.org/zap" +) + +// TestCaseGenerator generates test cases and write the test cases to the `caseManager` to reach a specific count. +type TestCaseGenerator struct { + inputCh chan string + caseManager *testcase.Manager + parallelism int + + wg *sync.WaitGroup + + openAIToken string + openAIBaseURL string + modelName string + + promptGenerator PromptGenerator + testCaseCount int +} + +// New creates a new TestCaseGenerator. +func New( + caseManager *testcase.Manager, + parallelism int, + openAIToken string, + openAIBaseURL string, + modelName string, + promptGenerator PromptGenerator, + testCaseCount int) *TestCaseGenerator { + return &TestCaseGenerator{ + inputCh: make(chan string, len(promptGenerator.Groups())), + caseManager: caseManager, + parallelism: parallelism, + + wg: new(sync.WaitGroup), + + openAIToken: openAIToken, + openAIBaseURL: openAIBaseURL, + modelName: modelName, + + promptGenerator: promptGenerator, + testCaseCount: testCaseCount, + } +} + +// Run starts the generator. +func (g *TestCaseGenerator) Run() { + for i := 0; i < g.parallelism; i++ { + g.wg.Add(1) + go g.runWorker() + } + + for _, group := range g.promptGenerator.Groups() { + g.inputCh <- group + } + close(g.inputCh) +} + +func (g *TestCaseGenerator) generateTestSQLsForFunction(client *openai.Client, group string) ([]testcase.Case, error) { + existCases := g.caseManager.ExistCases(group) + if len(existCases) >= g.testCaseCount { + return nil, nil + } + + logger.Global.Info("generating test SQLs for function", + zap.String("group", group), + zap.Int("existCases", len(existCases)), zap.Int("generateCount", g.testCaseCount)) + + prompt := g.promptGenerator.GeneratePrompt(group, g.testCaseCount, existCases) + if prompt == nil { + return nil, errors.New("failed to generate prompt") + } + + options := make([]option.RequestOption, 0) + if strings.Contains(g.modelName, "deepseek") { + options = append(options, option.WithJSONSet("provider", map[string]any{ + // Together always returns the reasoning part int the response. + "ignore": []string{"Together"}, + })) + } + completion, err := client.Chat.Completions.New(context.Background(), openai.ChatCompletionNewParams{ + Model: openai.F(g.modelName), + Messages: openai.F(prompt), + ResponseFormat: openai.F[openai.ChatCompletionNewParamsResponseFormatUnion]( + openai.ChatCompletionNewParamsResponseFormat{ + // `JSON_SCHEMA` is not implemented by many models, so use `JSON_OBJECT` instead. + // (Though `JSON_OBJECT` is also not supported by some models.) + Type: openai.F(openai.ChatCompletionNewParamsResponseFormatTypeJSONObject), + }, + ), + // Usually the input uses less than 250 tokens, and the output uses less than 5000 tokens. + MaxTokens: openai.F[int64](6000), + }, options...) + if err != nil { + return nil, err + } + + logger.Global.Debug("chat completions raw response", zap.String("raw completion", completion.JSON.RawJSON())) + if len(completion.Choices) == 0 { + return nil, fmt.Errorf("no completion choices") + } + + cases := g.promptGenerator.Unmarshal(completion.Choices[0].Message.Content) + + logger.Global.Info("generated cases", zap.Any("queries", cases)) + return cases, nil +} + +func (g *TestCaseGenerator) runWorker() { + defer g.wg.Done() + + client := openai.NewClient( + option.WithAPIKey(g.openAIToken), + option.WithBaseURL(g.openAIBaseURL), + // For deepseek series model, enable reasoning will remove the reasoning part from + // the content. Ref https://openrouter.ai/docs/use-cases/reasoning-tokens. + option.WithJSONSet("include_reasoning", true), + ) + + for input := range g.inputCh { + cases, err := g.generateTestSQLsForFunction(client, input) + if err != nil { + logger.Global.Error("failed to generate test SQLs", zap.Error(err)) + continue + } + + for _, c := range cases { + g.caseManager.AppendCase(input, c) + } + } +} + +// Wait waits for all workers to finish. +func (g *TestCaseGenerator) Wait() { + g.wg.Wait() +} diff --git a/tests/llmtest/generator/misc.go b/tests/llmtest/generator/misc.go new file mode 100644 index 0000000000000..c0a610632dbe0 --- /dev/null +++ b/tests/llmtest/generator/misc.go @@ -0,0 +1,102 @@ +// Copyright 2025 PingCAP, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package generator + +import ( + "encoding/json" + "fmt" + + "github.com/openai/openai-go" + "github.com/pingcap/tidb/tests/llmtest/logger" + "github.com/pingcap/tidb/tests/llmtest/testcase" + "go.uber.org/zap" +) + +type miscPromptGenerator struct { +} + +// Name implements PromptGenerator.Name +func (g *miscPromptGenerator) Name() string { + return "misc" +} + +// Groups implements PromptGenerator.Groups +func (g *miscPromptGenerator) Groups() []string { + return []string{ + "cte", + } +} + +// GeneratePrompt implements PromptGenerator.GeneratePrompt +func (g *miscPromptGenerator) GeneratePrompt(group string, count int, existCases []*testcase.Case) []openai.ChatCompletionMessageParamUnion { + messages := make([]openai.ChatCompletionMessageParamUnion, 0, 2) + + systemPrompt := `You are a professional QA engineer testing a new SQL database compatible with MySQL. You are tasked with testing the compatibility of the database with MySQL for a specific feature. You should write the queries to cover the corner cases of the operation. The common cases are not needed. You should try to use this operation with different valid argument types to test the implicit type conversion. You should try to use this operation with NULL to test the behavior of NULL. Please return a valid JSON object with the key "queries" and an array of strings as the value. Be careful with the escape characters. You should avoid using NOW(), RAND() or any other functions that return different results on each call. You should pack the related DDL in the same query. You should CREATE and DROP the table before and after using it. The SELECT statement should have stable order. + + IMPORTANT: Don't put anything else in the response. + + EXAMPLE INPUT: + Return 3 random SQL queries using this operation: CTE. + + EXAMPLE JSON OUTPUT: + {"queries": ["CREATE TABLE t1 (id int, name varchar(255));with cte1 as (select * from t1) select * from cte1 order by id;DROP TABLE t1;", "with recursive qn as (select 1 from dual union all select 1 from dual) select * from qn;", "with recursive cte2 as (select 1 as col_1, 2 as col_2) select c1.col_1, c2.col_2 from cte2 as c1, cte2 as c2 where c2.col_2 = 1;"]}` + messages = append(messages, openai.SystemMessage(systemPrompt)) + + userPromptTemplate := `Return %d random SQL queries using this operation: %s.` + + if len(existCases) > 0 { + messages = append(messages, openai.UserMessage(fmt.Sprintf(userPromptTemplate, len(existCases), group))) + + existResponse := make([]string, 0, len(existCases)) + for _, c := range existCases { + existResponse = append(existResponse, c.SQL) + } + assistantMessage, err := json.Marshal(simplePromptResponse{ + Queries: existResponse, + }) + // should never happen + if err != nil { + logger.Global.Info("failed to marshal exist response", zap.Error(err)) + return nil + } + messages = append(messages, openai.AssistantMessage(string(assistantMessage))) + } + messages = append(messages, openai.UserMessage(fmt.Sprintf(userPromptTemplate, count, group))) + + return messages +} + +// Unmarshal implements PromptGenerator.Unmarshal +func (g *miscPromptGenerator) Unmarshal(response string) []testcase.Case { + var resp simplePromptResponse + err := json.Unmarshal([]byte(response), &resp) + if err != nil { + logger.Global.Error("failed to unmarshal misc prompt response", zap.Error(err), zap.String("response", response)) + return nil + } + + cases := make([]testcase.Case, 0, len(resp.Queries)) + for _, q := range resp.Queries { + cases = append(cases, testcase.Case{ + SQL: q, + }) + } + + return cases +} + +func init() { + registerPromptGenerator(&miscPromptGenerator{}) +} diff --git a/tests/llmtest/generator/prompt.go b/tests/llmtest/generator/prompt.go new file mode 100644 index 0000000000000..7ba6face83877 --- /dev/null +++ b/tests/llmtest/generator/prompt.go @@ -0,0 +1,53 @@ +// Copyright 2025 PingCAP, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package generator + +import ( + "github.com/openai/openai-go" + "github.com/pingcap/tidb/tests/llmtest/testcase" +) + +// PromptGenerator is the interface for prompt generator. +type PromptGenerator interface { + Name() string + Groups() []string + + GeneratePrompt(group string, count int, existCases []*testcase.Case) []openai.ChatCompletionMessageParamUnion + Unmarshal(response string) []testcase.Case +} + +// generators is a map from generator name to generator. +var generators map[string]PromptGenerator + +// AllPromptGenerators returns all the registered generators. +func AllPromptGenerators() []PromptGenerator { + result := make([]PromptGenerator, 0, len(generators)) + for _, g := range generators { + result = append(result, g) + } + return result +} + +// GetPromptGenerator returns the generator by name. +func GetPromptGenerator(name string) PromptGenerator { + return generators[name] +} + +func registerPromptGenerator(g PromptGenerator) { + if generators == nil { + generators = make(map[string]PromptGenerator) + } + generators[g.Name()] = g +} diff --git a/tests/llmtest/logger/BUILD.bazel b/tests/llmtest/logger/BUILD.bazel new file mode 100644 index 0000000000000..96275a6d05a53 --- /dev/null +++ b/tests/llmtest/logger/BUILD.bazel @@ -0,0 +1,9 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "logger", + srcs = ["log.go"], + importpath = "github.com/pingcap/tidb/tests/llmtest/logger", + visibility = ["//visibility:public"], + deps = ["@org_uber_go_zap//:zap"], +) diff --git a/tests/llmtest/logger/log.go b/tests/llmtest/logger/log.go new file mode 100644 index 0000000000000..a5a2cd446670e --- /dev/null +++ b/tests/llmtest/logger/log.go @@ -0,0 +1,28 @@ +// Copyright 2025 PingCAP, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package logger + +import "go.uber.org/zap" + +// Global is the global logger. +var Global *zap.Logger + +func init() { + var err error + Global, err = zap.NewDevelopment() + if err != nil { + panic(err) + } +} diff --git a/tests/llmtest/main.go b/tests/llmtest/main.go new file mode 100644 index 0000000000000..768815a47bb7b --- /dev/null +++ b/tests/llmtest/main.go @@ -0,0 +1,150 @@ +// Copyright 2025 PingCAP, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package main + +import ( + "database/sql" + "fmt" + "os" + + "github.com/go-sql-driver/mysql" + "github.com/pingcap/tidb/tests/llmtest/generator" + "github.com/pingcap/tidb/tests/llmtest/logger" + "github.com/pingcap/tidb/tests/llmtest/testcase" + "github.com/spf13/cobra" + "go.uber.org/zap" +) + +func main() { + var rootCmd = &cobra.Command{Use: "llmtest"} + + generateCmd := createGenerateCmd() + verifyCmd := createVerifyCmd() + + rootCmd.AddCommand(generateCmd, verifyCmd) + if err := rootCmd.Execute(); err != nil { + fmt.Println(err) + os.Exit(1) + } +} + +func createGenerateCmd() *cobra.Command { + var ( + openaiToken string + openaiBaseURL string + openaiModel string + promptGeneratorName string + testCount int + generateParallism int + ) + + var generateCmd = &cobra.Command{ + Use: "generate", + Short: "Generate something using OpenAI", + Run: func(cmd *cobra.Command, args []string) { + promptGenerator := generator.GetPromptGenerator(promptGeneratorName) + if promptGenerator == nil { + logger.Global.Info("Unknown prompt generator", zap.String("name", promptGeneratorName)) + os.Exit(1) + } + + caseManager, err := testcase.Open("testdata/" + promptGeneratorName + ".json") + if err != nil { + logger.Global.Error("Failed to open test case", zap.Error(err)) + os.Exit(1) + } + + caseGenerator := generator.New( + caseManager, generateParallism, + openaiToken, openaiBaseURL, openaiModel, promptGenerator, testCount) + caseGenerator.Run() + caseGenerator.Wait() + + err = caseManager.Save() + if err != nil { + logger.Global.Error("Failed to save test case", zap.Error(err)) + os.Exit(1) + } + }, + } + + generateCmd.Flags().StringVar(&openaiToken, "openai_token", "", "OpenAI token") + generateCmd.Flags().StringVar(&openaiBaseURL, "openai_base_url", "", "OpenAI base URL") + generateCmd.Flags().StringVar(&openaiModel, "openai_model", "", "OpenAI model") + generateCmd.Flags().StringVar(&promptGeneratorName, "prompt_generator", "", "Prompt generator") + generateCmd.Flags().IntVar(&testCount, "test_count", 0, "Test count") + generateCmd.Flags().IntVar(&generateParallism, "parallel", 20, "Generate parallism") + return generateCmd +} + +func createVerifyCmd() *cobra.Command { + var ( + promptGeneratorName string + tidbDSN string + mysqlDSN string + recheckPassed bool + ) + + var verifyCmd = &cobra.Command{ + Use: "verify", + Short: "Verify something using TiDB and MySQL", + Run: func(cmd *cobra.Command, args []string) { + caseManager, err := testcase.Open("testdata/" + promptGeneratorName + ".json") + if err != nil { + logger.Global.Error("Failed to open test case", zap.Error(err)) + os.Exit(1) + } + + tidb, err := sql.Open("mysql", unifyDSN(tidbDSN)) + if err != nil { + logger.Global.Error("Failed to open TiDB", zap.Error(err)) + os.Exit(1) + } + defer tidb.Close() + + mysql, err := sql.Open("mysql", unifyDSN(mysqlDSN)) + if err != nil { + logger.Global.Error("Failed to open MySQL", zap.Error(err)) + os.Exit(1) + } + + caseManager.RunABTest(tidb, mysql, recheckPassed) + err = caseManager.Save() + if err != nil { + logger.Global.Error("Failed to save test case", zap.Error(err)) + os.Exit(1) + } + }, + } + verifyCmd.Flags().StringVar(&promptGeneratorName, "prompt_generator", "", "Prompt generator") + verifyCmd.Flags().StringVar(&tidbDSN, "tidb_dsn", "", "TiDB DSN") + verifyCmd.Flags().StringVar(&mysqlDSN, "mysql_dsn", "", "MySQL DSN") + verifyCmd.Flags().BoolVar(&recheckPassed, "recheck_passed", false, "Recheck passed cases") + + return verifyCmd +} + +func unifyDSN(dsn string) string { + cfg, err := mysql.ParseDSN(dsn) + if err != nil { + logger.Global.Error("Failed to parse DSN", zap.Error(err)) + os.Exit(1) + } + + // TODO: allow to configure different collation + cfg.Collation = "utf8mb4_bin" + + return cfg.FormatDSN() +} diff --git a/tests/llmtest/main_test.go b/tests/llmtest/main_test.go new file mode 100644 index 0000000000000..d208e49645cf4 --- /dev/null +++ b/tests/llmtest/main_test.go @@ -0,0 +1,62 @@ +// Copyright 2025 PingCAP, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package main_test + +import ( + "testing" + + "github.com/pingcap/tidb/tests/llmtest/generator" + "github.com/pingcap/tidb/tests/llmtest/testcase" + "github.com/stretchr/testify/require" +) + +// TestAllTestCaseInGroup ensures that all test cases recorded in the testdata directory belongs +// to a group of the corresponding generator. +func TestAllTestCaseInGroup(t *testing.T) { + promptGenerators := generator.AllPromptGenerators() + + for _, g := range promptGenerators { + name := g.Name() + caseManager, err := testcase.Open("testdata/" + name + ".json") + require.NoError(t, err) + + allGroups := make(map[string]struct{}) + for _, groupInGenerator := range g.Groups() { + allGroups[groupInGenerator] = struct{}{} + } + + for _, caseGroup := range caseManager.AllGroups() { + _, ok := allGroups[caseGroup] + require.True(t, ok, "group %s not found in generator %s", caseGroup, name) + } + } +} + +func TestAllTestCasePassOrKnown(t *testing.T) { + promptGenerators := generator.AllPromptGenerators() + + for _, g := range promptGenerators { + name := g.Name() + caseManager, err := testcase.Open("testdata/" + name + ".json") + require.NoError(t, err) + + for _, group := range caseManager.AllGroups() { + cases := caseManager.ExistCases(group) + for _, c := range cases { + require.True(t, c.Pass || c.Known, "case %s in group %s is not pass or known", c.SQL, group) + } + } + } +} diff --git a/tests/llmtest/testcase/BUILD.bazel b/tests/llmtest/testcase/BUILD.bazel new file mode 100644 index 0000000000000..889d25dc258f9 --- /dev/null +++ b/tests/llmtest/testcase/BUILD.bazel @@ -0,0 +1,15 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "testcase", + srcs = [ + "run.go", + "testcase.go", + ], + importpath = "github.com/pingcap/tidb/tests/llmtest/testcase", + visibility = ["//visibility:public"], + deps = [ + "//tests/llmtest/logger", + "@org_uber_go_zap//:zap", + ], +) diff --git a/tests/llmtest/testcase/run.go b/tests/llmtest/testcase/run.go new file mode 100644 index 0000000000000..06f28779530ed --- /dev/null +++ b/tests/llmtest/testcase/run.go @@ -0,0 +1,155 @@ +// Copyright 2025 PingCAP, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package testcase + +import ( + "database/sql" + "strings" + + "github.com/pingcap/tidb/tests/llmtest/logger" + "go.uber.org/zap" +) + +func executeSingleQueryInDB(db *sql.DB, query string, args ...any) ([][]string, error) { + dbRows, err := db.Query(query, args...) + if err != nil { + return nil, err + } + defer dbRows.Close() + + cols, err := dbRows.Columns() + if err != nil { + return nil, err + } + var queryResults [][]string + for dbRows.Next() { + data := make([]any, len(cols)) + for i := range data { + var s sql.NullString + data[i] = &s + } + err = dbRows.Scan(data...) + if err != nil { + return nil, err + } + + rowStrings := make([]string, len(cols)) + for i, val := range data { + strVal := val.(*sql.NullString) + if strVal.Valid { + rowStrings[i] = strVal.String + } else { + rowStrings[i] = "" + } + } + queryResults = append(queryResults, rowStrings) + } + + // In some cases (e.g. `SELECT COT(0)`), `dbRows.Next()` will always return false, and the error + // can be retrieved by calling `dbRows.Err()`. This behavior can be different with TiDB, because + // for TiDB the client may get error from `dbRows.Scan()`. + // Not sure whether it's expected, but it looks acceptable for now. + if dbRows.Err() != nil { + return nil, dbRows.Err() + } + + return queryResults, nil +} + +func executeSQLsInDB(db *sql.DB, c *Case) (ret [][][]string, retErr error) { + allQueries := strings.Split(c.SQL, ";") + allResults := make([][][]string, 0, len(allQueries)) + + for _, query := range allQueries { + if len(query) == 0 { + continue + } + + queryResults, err := executeSingleQueryInDB(db, query, c.Args...) + if err != nil { + return nil, err + } + allResults = append(allResults, queryResults) + } + + return allResults, nil +} + +// RunABTest runs the A/B test on two databases. +func (m *Manager) RunABTest(db1 *sql.DB, db2 *sql.DB, recheckPassed bool) { + m.mu.Lock() + defer m.mu.Unlock() + + // Run A/B test + for _, cases := range m.cases { + caseLoop: + for _, c := range cases { + if c.Known { + continue + } + if !recheckPassed && c.Pass { + continue + } + logger := logger.Global.With( + zap.String("sql", c.SQL), zap.Any("args", c.Args), + ) + result1, err1 := executeSQLsInDB(db1, c) + result2, err2 := executeSQLsInDB(db2, c) + + if err1 != nil || err2 != nil { + // all of them should fail + if !(err1 != nil && err2 != nil) { + logger.Info("One of the result is error", zap.Error(err1), zap.Error(err2)) + c.Pass = false + } else { + c.Pass = true + } + + continue + } + + if len(result1) != len(result2) { + logger.Info("Different result set count", zap.Any("result1", result1), zap.Any("result2", result2)) + c.Pass = false + continue + } + + for i := range result1 { + if len(result1[i]) != len(result2[i]) { + c.Pass = false + logger.Info("Different row count", zap.Any("result1", result1[i]), zap.Any("result2", result2[i])) + continue caseLoop + } + for j := range result1[i] { + if len(result1[i][j]) != len(result2[i][j]) { + c.Pass = false + logger.Info("Different column length", zap.Strings("result1", result1[i][j]), zap.Strings("result2", result2[i][j])) + continue caseLoop + } + + for k := range result1[i][j] { + if result1[i][j][k] != result2[i][j][k] { + c.Pass = false + logger.Info("Different result", zap.Strings("result1", result1[i][j]), zap.Strings("result2", result2[i][j])) + continue caseLoop + } + } + } + } + + c.Pass = true + } + } +} diff --git a/tests/llmtest/testcase/testcase.go b/tests/llmtest/testcase/testcase.go new file mode 100644 index 0000000000000..fee5424068085 --- /dev/null +++ b/tests/llmtest/testcase/testcase.go @@ -0,0 +1,130 @@ +// Copyright 2025 PingCAP, Inc. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package testcase + +import ( + "encoding/json" + "io" + "os" + "sync" +) + +// Case represents a test case. +type Case struct { + SQL string `json:"sql"` + Args []any `json:"args"` + + Pass bool `json:"pass"` + Known bool `json:"known"` + Comment string `json:"comment"` +} + +// Manager manages the test cases. +type Manager struct { + mu sync.Mutex + + path string + + cases map[string][]*Case +} + +// Open creates a new Manager on a given path. +func Open(path string) (*Manager, error) { + m := &Manager{ + path: path, + cases: make(map[string][]*Case), + } + + err := m.loadFromFile() + if err != nil { + return nil, err + } + return m, nil +} + +// loadFromFile loads the test cases from the file. +func (m *Manager) loadFromFile() error { + m.mu.Lock() + defer m.mu.Unlock() + + file, err := os.Open(m.path) + if err != nil { + return err + } + defer file.Close() + + bytes, err := io.ReadAll(file) + if err != nil { + return err + } + + err = json.Unmarshal(bytes, &m.cases) + if err != nil { + return err + } + + return nil +} + +// Save saves the test cases to the file. +func (m *Manager) Save() error { + m.mu.Lock() + defer m.mu.Unlock() + + // `MarshalIdent` to make it more readable + bytes, err := json.MarshalIndent(m.cases, "", " ") + if err != nil { + return err + } + + err = os.WriteFile(m.path, bytes, 0644) + if err != nil { + return err + } + + return nil +} + +// AppendCase appends a test case to the manager. +func (m *Manager) AppendCase(group string, c Case) { + m.mu.Lock() + defer m.mu.Unlock() + + if _, ok := m.cases[group]; !ok { + m.cases[group] = make([]*Case, 0) + } + + m.cases[group] = append(m.cases[group], &c) +} + +// ExistCases returns the test cases in a group. +func (m *Manager) ExistCases(group string) []*Case { + m.mu.Lock() + defer m.mu.Unlock() + + return m.cases[group] +} + +// AllGroups returns all the groups. +func (m *Manager) AllGroups() []string { + m.mu.Lock() + defer m.mu.Unlock() + + result := make([]string, 0, len(m.cases)) + for g := range m.cases { + result = append(result, g) + } + return result +} diff --git a/tests/llmtest/testdata/dml.json b/tests/llmtest/testdata/dml.json new file mode 100644 index 0000000000000..0d912f5789d48 --- /dev/null +++ b/tests/llmtest/testdata/dml.json @@ -0,0 +1,218 @@ +{ + "delete": [ + { + "sql": "CREATE TABLE t (id INT, data VARCHAR(10));INSERT INTO t VALUES (1, NULL), (2, 'abc');DELETE FROM t WHERE data IS NULL;SELECT * FROM t ORDER BY id;DROP TABLE t;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TABLE t (id VARCHAR(10));INSERT INTO t VALUES ('5'), ('10a');DELETE FROM t WHERE id = 5;SELECT * FROM t ORDER BY id;DROP TABLE t;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TABLE t (id INT, dt DATE);INSERT INTO t VALUES (1, '2023-01-01'), (2, '2023-02-01');DELETE FROM t WHERE dt BETWEEN '2023-01-15' AND '2023-02-15';SELECT * FROM t ORDER BY id;DROP TABLE t;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TABLE t (id INT);INSERT INTO t VALUES (1), (2), (3);DELETE FROM t ORDER BY id DESC LIMIT 1;SELECT * FROM t ORDER BY id;DROP TABLE t;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TABLE t (id INT, active TINYINT(1));INSERT INTO t VALUES (1, 1), (2, 0);DELETE FROM t WHERE active = TRUE;SELECT * FROM t ORDER BY id;DROP TABLE t;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TABLE t1 (id INT);CREATE TABLE t2 (id INT);INSERT INTO t1 VALUES (1), (2);INSERT INTO t2 VALUES (2);DELETE FROM t1 WHERE id IN (SELECT id FROM t2);SELECT * FROM t1 ORDER BY id;DROP TABLE t1, t2;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TABLE t (name VARCHAR(10) COLLATE utf8_bin);INSERT INTO t VALUES ('a'), ('A');DELETE FROM t WHERE name = 'A' COLLATE utf8_bin;SELECT * FROM t ORDER BY name;DROP TABLE t;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TABLE t (id INT);INSERT INTO t VALUES (5), (10);DELETE FROM t WHERE id + 5 = 10;SELECT * FROM t ORDER BY id;DROP TABLE t;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TABLE t (id VARCHAR(10));INSERT INTO t VALUES ('0'), ('1');DELETE FROM t WHERE id = 0;SELECT * FROM t ORDER BY id;DROP TABLE t;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TABLE t (name VARCHAR(10));INSERT INTO t VALUES ('a'), ('abcd');DELETE FROM t WHERE LENGTH(name) \u003e 3;SELECT * FROM t ORDER BY name;DROP TABLE t;", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "insert": [ + { + "sql": "CREATE TABLE t (id INT, name VARCHAR(25));INSERT INTO t VALUES (1, NULL);SELECT * FROM t ORDER BY id;DROP TABLE t;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TABLE t (id INT);INSERT INTO t VALUES ('2a');SELECT * FROM t ORDER BY id;DROP TABLE t;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TABLE t (id INT, name VARCHAR(25));INSERT INTO t VALUES (1, 'O''Connor');SELECT * FROM t ORDER BY id;DROP TABLE t;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TABLE t (id VARCHAR(25));INSERT INTO t VALUES (123);SELECT * FROM t ORDER BY id;DROP TABLE t;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TABLE t (d DATE);INSERT INTO t VALUES ('2023-10-05');SELECT * FROM t ORDER BY d;DROP TABLE t;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TABLE t (b BLOB);INSERT INTO t VALUES (X'0123');SELECT HEX(b) FROM t ORDER BY b;DROP TABLE t;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TABLE t (id INT, name VARCHAR(25) DEFAULT 'unknown');INSERT INTO t (id) VALUES (1);SELECT * FROM t ORDER BY id;DROP TABLE t;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TABLE t (id INT);INSERT INTO t VALUES (2147483647);SELECT * FROM t ORDER BY id;DROP TABLE t;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TABLE t (id INT UNSIGNED);INSERT INTO t VALUES (-1);SELECT * FROM t ORDER BY id;DROP TABLE t;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TABLE t (id INT, name VARCHAR(25));INSERT INTO t VALUES (3, 'a'), (4, 'b');SELECT * FROM t ORDER BY id;DROP TABLE t;", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "update": [ + { + "sql": "CREATE TABLE t (id INT, name VARCHAR(10));INSERT INTO t VALUES (1, 'a'), (2, NULL);UPDATE t SET name = 123 WHERE id = 2;SELECT * FROM t ORDER BY id;DROP TABLE t;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TABLE t (a INT, b INT);INSERT INTO t VALUES (1, 5), (NULL, NULL);UPDATE t SET a = 10 WHERE b IS NULL;SELECT * FROM t ORDER BY a;DROP TABLE t;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TABLE t (id VARCHAR(2), val INT);INSERT INTO t VALUES ('1', 10), ('2', 20);UPDATE t SET val = 30 WHERE id = 1;SELECT * FROM t ORDER BY id;DROP TABLE t;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TABLE t (a INT, b VARCHAR(5), c DATE);INSERT INTO t VALUES (5, 'test', '2024-01-01');UPDATE t SET a = '10', b = 15, c = '2024-02-02' WHERE a = 5;SELECT * FROM t ORDER BY a;DROP TABLE t;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TABLE t (id INT, s VARCHAR(20));INSERT INTO t VALUES (1, 'old');UPDATE t SET s = '\\\\n\\t' WHERE id = 1;SELECT * FROM t ORDER BY id;DROP TABLE t;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TABLE t (id INT, active TINYINT(1));INSERT INTO t VALUES (1, 0), (2, 1);UPDATE t SET active = TRUE WHERE id = 1;SELECT * FROM t ORDER BY id;DROP TABLE t;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TABLE t (d DATE);INSERT INTO t VALUES ('2024-01-01');UPDATE t SET d = '2024-02-30' WHERE d = '2024-01-01';SELECT * FROM t ORDER BY d;DROP TABLE t;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TABLE t (f FLOAT);INSERT INTO t VALUES (10.5);UPDATE t SET f = '20.5' WHERE f = 10.5;SELECT * FROM t ORDER BY f;DROP TABLE t;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TABLE t (d DECIMAL(5,2));INSERT INTO t VALUES (3.14);UPDATE t SET d = 5 WHERE d = 3.14;SELECT * FROM t ORDER BY d;DROP TABLE t;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TABLE t (id INT, hex_col VARCHAR(10));INSERT INTO t VALUES (1, 'a');UPDATE t SET hex_col = 0x6162 WHERE id = 1;SELECT * FROM t ORDER BY id;DROP TABLE t;", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ] +} \ No newline at end of file diff --git a/tests/llmtest/testdata/expression.json b/tests/llmtest/testdata/expression.json new file mode 100644 index 0000000000000..facc2e7811ac2 --- /dev/null +++ b/tests/llmtest/testdata/expression.json @@ -0,0 +1,53651 @@ +{ + "!=": [ + { + "sql": "SELECT 10 != '10'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 5.5 != 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BINARY 'Text' != 'text'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL != NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 != ''", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUE != 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '2023-01-01' != DATE('2023-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '2023-01-01' != '2023-01-01 00:00:00'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '123abc' != 123", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0x10 != 16", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT B'1010' != 10", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -5 != '-5'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1e2 != 100", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '12:34:56' != TIME('12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ' 5' != 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1000000 != '1e6'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT B'1' != 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '5a' != 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 3.14 != 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'abc' != 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "%": [ + { + "sql": "SELECT 10 % 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -10 % 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 10 % -3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -10 % -3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 5 % 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 % 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '123' % 50", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'abc' % 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUE % 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FALSE % 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 10.5 % 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL % 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 5 % NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0x0A % 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT b'1010' % 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '2023-01-01' % 7", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 999999999999999999 % 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (5 + 3) % 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1 % 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 7 % 10", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 15 % 4", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -7 % 4", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 12 % -5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -9 % -2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 8 % 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 % 99", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '45' % 6", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'xyz' % 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUE % 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FALSE % 9", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 7.8 % 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL % 100", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 22 % NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0xFF % 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT b'1111' % 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '2024-05-05' % 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1234567890123456789 % 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (9 + 3) % 4", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 100 % 100", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 3 % 8", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "\u0026": [ + { + "sql": "SELECT 5 \u0026 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0xFF \u0026 0x0F", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -1 \u0026 255", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 18446744073709551615 \u0026 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 \u0026 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '12' \u0026 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'abc' \u0026 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 3.9 \u0026 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 2.5 \u0026 3.7", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL \u0026 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 5 \u0026 NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL \u0026 NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT b'1010' \u0026 b'1100'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT b'1111' \u0026 15", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (1 + 2) \u0026 (4 * 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 \u0026 18446744073709551615", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -5 \u0026 -3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0' \u0026 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUE \u0026 TRUE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1.999 \u0026 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "*": [ + { + "sql": "SELECT 0 * '5'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 9223372036854775807 * 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -10 * -3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 3.5 * 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '10' * '5'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL * 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL * NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUE * 10", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'abc' * 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1e3 * 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '2023-01-01' * 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0.00001 * 0.00001", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST('2023-01-01' AS DATE) * 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -0 * 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT B'101' * 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1.7976931348623157E+308 * 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ' 123 ' * ' 456 '", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0xFF * 0x02", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '5e2' * 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 123456789.987654321 * 12345", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "+": [ + { + "sql": "SELECT 1 + '1'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '2.5' + 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL + 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL + NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'test' + '123'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST('2023-10-05' AS DATE) + 7", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUE + 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0xFF + '0x10'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '5e2' + '3e1'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '' + 10", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ' 15 ' + ' 25 '", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '12:30:45' + '3600'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '5a' + 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -10 + '20'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '20231005' + 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 9223372036854775807 + 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '13:45:00' + 900", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '9999-12-31' + 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0.1' + '0.2'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 3.14159 + '2'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '1' + 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '12:30:45' + 3600", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 100 + '50'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '25.5' + 4.5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL + 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'hello' + NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '7abc' + 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST('2024-12-31' AS DATE) + 365", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FALSE + 10.5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0xAA + '255'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '2e3' + '500'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '' + '100'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ' -5 ' + ' 10 '", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '23:59:59' + 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '123xyz' + 4", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -15 + '-5'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '20240101' + 365", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 18446744073709551615 + 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '00:00:00' + 86399", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '10000-01-01' + 30", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0.0001' + '0.9999'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 9.999999 + '0.000001'", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "-": [ + { + "sql": "SELECT 5 - NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL - 7", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL - NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 18446744073709551615 - 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -9223372036854775808 - 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '123' - 45", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '12.5' - 2.5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0xFF' - 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ' 456 ' - 56", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '12a3' - 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '2024-05-20' - '2024-05-19'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '2023-05-20' - '2023-01-01'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -5 - 10", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 100 - (-50)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(100 AS UNSIGNED) - -50", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 3.14159 - 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1e308 - 1e308", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '12:34:56' - '11:11:11'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUE - FALSE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '99999999999999999999999999999.9999999999' - '0.0000000001'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL - 3.14", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '7' - 0x04", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '12e2' - 80", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0.1 - 0.00000000001", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '987a' - 87", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST('5.5' AS DECIMAL) - 2.3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE '2024-01-01' - DATE '2023-01-01'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '-' - -5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BINARY '100' - 50", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0' - 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1.7976931348623157E+308 - 1E+308", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '2023-10-10' - '2023-10-05'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0b1101 - 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '\\t5' - 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -2147483648 - 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'true' - 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '1.2.3' - 0.4", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "/": [ + { + "sql": "SELECT 1/0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL/5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 10/NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '10'/2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'abc'/3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 5.5/2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 5/'2.5'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUE/FALSE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0x10/2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '2023-10-10'/2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -15/3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1/0.000000001", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1/3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (10 + 5)/(3 - 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '5a'/'2'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ' 5 '/2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1e30/1e20", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT b'11'/1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (NULL + 5)/2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0/0", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "\u003c": [ + { + "sql": "SELECT NULL \u003c 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '2024-02-30' \u003c '2024-03-01'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '10' \u003c 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 5.5 \u003c '6'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUE \u003c FALSE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -5 \u003c -3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 \u003c -0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1E300 \u003c 9E300", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BINARY '5' \u003c 6", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '002' \u003c '10'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '2024-01-01' \u003c 'January 2, 2024'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '23:59:59' \u003c '00:00:00'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FALSE \u003c -1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'a5' \u003c 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 10 \u003c 0xA", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 10 \u003c '0xA'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1.175494351E-38 \u003c 2E-38", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1.7976931348623157E+308 \u003c 1.7976931348623156E+308", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1e3 \u003c 999.999", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT _binary 'A' \u003c 'a'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL \u003c NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'Infinity' \u003c '1E400'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0' \u003c FALSE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '5e-324' \u003c 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0x10' \u003c 17", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '2024-02-29' \u003c '2024-03-01' + INTERVAL 1 DAY", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '12:34:56.789' \u003c '12:34:57'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT X'41' \u003c 'B'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '18446744073709551616' \u003c 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -32768 \u003c -32767", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0001-01-01' \u003c '9999-12-31'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT _utf8mb4 'ä' \u003c 'z' COLLATE utf8mb4_unicode_ci", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'NaN' \u003c 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1.7976931348623157E+308 \u003c 1.7976931348623157E+308", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '2024-01-01 23:59:59.999999' \u003c '2024-01-02'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'a' \u003c 97", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 \u003c 0.0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0.000000001' \u003c 1E-9", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'b' \u003c 'a' COLLATE utf8mb4_bin", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 2147483648 \u003c 2147483647", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "\u003c\u003c": [ + { + "sql": "SELECT 1 \u003c\u003c 65", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -3 \u003c\u003c 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 3.14 \u003c\u003c 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '7' \u003c\u003c NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0xFF \u003c\u003c 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL \u003c\u003c 4", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 5 \u003c\u003c -1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1 \u003c\u003c 'a'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 \u003c\u003c 999", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -1 \u003c\u003c 63", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0x10' \u003c\u003c 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUE \u003c\u003c 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1.9E2 \u003c\u003c 4", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '999999999999' \u003c\u003c 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1 \u003c\u003c 64", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT b'1010' \u003c\u003c 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0b1101 \u003c\u003c 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 18446744073709551615 \u003c\u003c 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE(JSON_ARRAY(4)) \u003c\u003c 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 4096 \u003c\u003c 8192", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "\u003c=": [ + { + "sql": "SELECT 0.1 + 0.2 \u003c= 0.3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '2024-02-29' \u003c= '2024-03-01'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'Z' \u003c= 'a' COLLATE utf8mb4_bin", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUE \u003c= FALSE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '5E2' \u003c= 499", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL \u003c= 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0x10' \u003c= 15", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ' 123 ' \u003c= 122", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '23:59:59' \u003c= '00:00:00'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -INF \u003c= 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '999999999999999999' \u003c= 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 \u003c= -0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '' \u003c= NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '12:34' \u003c= 1234", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0' \u003c= FALSE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '5a' \u003c= 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BINARY 'A' \u003c= 'a'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1.7976931348623157E+308 \u003c= 1.8E308", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT _binary 'A' \u003c= 'a'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL \u003c= NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '2023-02-29' \u003c= '2023-03-01'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ' 123 ' \u003c= 123", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '5a' \u003c=5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '999999999999999999' \u003c=1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '12:34:56' \u003c= '12:34:57'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'abc' \u003c= 123", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '-inf' \u003c= 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '5E2' \u003c=499", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "\u003c=\u003e": [ + { + "sql": "SELECT NULL \u003c=\u003e NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 5 \u003c=\u003e NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL \u003c=\u003e (SELECT NULL FROM DUAL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '5' \u003c=\u003e 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'abc' \u003c=\u003e 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUE \u003c=\u003e 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 5.0 \u003c=\u003e 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 2147483647 \u003c=\u003e 2147483647", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1e2 \u003c=\u003e 100", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '2023-10-10' \u003c=\u003e DATE('2023-10-10')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BINARY 'a' \u003c=\u003e 'A'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '' \u003c=\u003e 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '5a' \u003c=\u003e 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0.0 \u003c=\u003e -0.0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ' 5 ' \u003c=\u003e 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 18446744073709551615 \u003c=\u003e '18446744073709551615'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -5 \u003c=\u003e 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0x0A \u003c=\u003e 10", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'NULL' \u003c=\u003e NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (NULL + 1) \u003c=\u003e NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '5.5' \u003c=\u003e 5.5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0E0' \u003c=\u003e 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'infinity' \u003c=\u003e 'Infinity'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0x10 \u003c=\u003e 16", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL \u003c=\u003e (SELECT 1 WHERE 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '00005' \u003c=\u003e 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 123.456 \u003c=\u003e 123", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0x13' \u003c=\u003e 19", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST('5' AS UNSIGNED) \u003c=\u003e '5'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT _utf8mb4'A' \u003c=\u003e 'a' COLLATE utf8mb4_general_ci", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (1/0) \u003c=\u003e NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '5e2' \u003c=\u003e 500", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -0.0 \u003c=\u003e 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1.000 \u003c=\u003e TRUE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ' -5 ' \u003c=\u003e -5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME('12:34:56') \u003c=\u003e '12:34:56'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR(48) \u003c=\u003e '0'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (NULL * 5) \u003c=\u003e (5 * NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "=": [ + { + "sql": "SELECT 5 = ' 5'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 100 = 1e2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BINARY 'A' = 'a'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUE = 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'abc' = 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '' = 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL = NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE('2023-01-01') = '2023-01-01'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME('12:00:00') = '12:00:00'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '5xyz' = 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT X'41' = 'A'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUE = '1'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '007' = 7", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 5.0 = 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BINARY 'TEST' = 'test'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMP('2023-01-01 00:00:00') = '2023-01-01 00:00:00'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0.0 = '0.0'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0E0' = 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -5 = '-5'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1000000 = '1e6'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 = FALSE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '5.0' = 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0xFF' = 255", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '00001' = 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '1e3' = 1000", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0b101' = 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT _utf8mb4'TEST' = 'test' COLLATE utf8mb4_bin", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '2023-01-01' = DATE(20230101)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '12:00' = TIME('12:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 = NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '5a' = 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'INF' = 1e308", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'true' = TRUE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0x50 = 80", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ' 5 ' = 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1.00 = 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'NULL' = NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0x20' = 32", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '1.000' = 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ' -5 ' = -5", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "\u003e": [ + { + "sql": "SELECT NULL \u003e 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '2023-01-01' \u003e 20230101", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0.9999999999' \u003e 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BINARY 'A' \u003e 'a'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '12:34:56' \u003e 123456", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT _utf8mb4 'ä' \u003e 'a' COLLATE utf8mb4_unicode_ci", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT X'FF' \u003e 255", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -32768 \u003e 32767", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 255 \u003e -1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '5a' \u003e 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '9223372036854775807' \u003e 9223372036854775807", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1 \u003e ' TRUE'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 \u003e -0.0000001", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUE \u003e 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0' \u003e 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 2147483647 \u003e 2147483648", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 123.45 \u003e '123'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT _latin1 'ä' \u003e 'a' COLLATE latin1_general_ci", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'a' \u003e NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '12:34:56' \u003e '123455'", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "\u003e=": [ + { + "sql": "SELECT 1 \u003e= TRUE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '5a' \u003e= 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '2023-10-10' \u003e= CAST('2023-10-09' AS DATE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL \u003e= NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 18446744073709551615 \u003e= -1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT X'FF' \u003e= 200", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0001-01-01' \u003e= DATE(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 3.141592653589793 \u003e= 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT _utf8mb4'Z' \u003e= 'Y' COLLATE utf8mb4_0900_as_cs", + "args": null, + "pass": false, + "known": true, + "comment": "utf8mb4_0900_as_cs is not supported yet" + }, + { + "sql": "SELECT '0x20' \u003e= 32", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BINARY 'A' \u003e= 'a'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME('23:59:59') \u003e= '00:00:00'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -32768 \u003e= 32767", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'INF' \u003e= 1e308", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE(JSON_EXTRACT('{\"a\":5}', '$.a')) \u003e= '4'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '𐌀' \u003e= 'A'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 \u003e= NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 999999999999999999 \u003e= 1e18", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(' 5 ' AS UNSIGNED) \u003e= 4", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0b11111011 \u003e= 250", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "\u003e\u003e": [ + { + "sql": "SELECT 255 \u003e\u003e 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 18446744073709551615 \u003e\u003e 60", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '256' \u003e\u003e 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 123.45 \u003e\u003e 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 \u003e\u003e -5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL \u003e\u003e 8", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 4096 \u003e\u003e (5 + 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0xFFFF \u003e\u003e 4", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT b'1010' \u003e\u003e 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'abc' \u003e\u003e 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1 \u003e\u003e 64", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 4294967296 \u003e\u003e 32", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE('2023-10-10') \u003e\u003e 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 123456789 \u003e\u003e 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(2,50) \u003e\u003e 48", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1 \u003e\u003e NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '9999999999' \u003e\u003e 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 65535 \u003e\u003e 16", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 123 \u003e\u003e '2'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 3.141592653589793 \u003e\u003e 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1024 \u003e\u003e 10", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 9223372036854775807 \u003e\u003e 63", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '65535' \u003e\u003e 8", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 3.9 \u003e\u003e 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -1 \u003e\u003e 4", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL \u003e\u003e 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 32768 \u003e\u003e (16 - 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0xFF \u003e\u003e 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT b'11110000' \u003e\u003e 4", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '12a3' \u003e\u003e 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1 \u003e\u003e 65", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 2147483648 \u003e\u003e 31", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME('12:34:56') \u003e\u003e 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 \u003e\u003e 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(2,30) \u003e\u003e 28", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 42 \u003e\u003e NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '18446744073709551615' \u003e\u003e 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 255 \u003e\u003e 8", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 7.5 \u003e\u003e '1'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUE \u003e\u003e 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "^": [ + { + "sql": "SELECT 18446744073709551615 ^ 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 3.5 ^ 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '2a' ^ 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL ^ 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT x'F0' ^ 0x0F", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -1 ^ 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 ^ 18446744073709551615", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUE ^ FALSE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0.0 ^ 0.0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '2024-01-01' ^ 1234", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1e2 ^ 50", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT b'1010' ^ 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ' 123 ' ^ 456", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (1 + 2) ^ (3 * 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST('abc' AS UNSIGNED) ^ 15", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 5.67 ^ NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0x1A ^ 30", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0b1100 ^ x'0C'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0x10' ^ 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -5 ^ -3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '7.8x' ^ 100", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT x'FF' ^ x'0F'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0b1111 ^ 0b0011", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0xF' ^ 0xF", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL ^ NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 3.1415 ^ 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '-' ^ 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 255 ^ 0x00", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1 ^ 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '1e3abc' ^ 1000", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST('00' AS BINARY) ^ 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'NaN' ^ 8", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0b1001 ^ NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -32768 ^ 32767", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ' +123test' ^ 456", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0b101 ^ 0x05", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1.7976931348623157E+308 ^ 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE('2023-12-31') ^ 100", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0b1100' ^ 12", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "abs": [ + { + "sql": "SELECT ABS(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS('-123.45')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS('abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS(0x1A)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS(b'1111')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS('-1.5e3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS(' -42 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS(-9223372036854775808)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS('-000123.4500')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS('123abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS('2023-10-05')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS(-0.0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS(1 - 100)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS(2 * -3.5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS('123.45.67')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS('-000042')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS('123' + 456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS('18446744073709551615')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS('test123')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS(0b1010)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS(0xDeadBeef)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS(' +123.45 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS('123e-2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS('0xFF')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS('-0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS(1/0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS('123.456.789')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS('12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS('1970-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS(1.7976931348623157E+308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS(-1 * -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS('NaN')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS(123 DIV 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS('π')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ABS(X'4D7953514C')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "acos": [ + { + "sql": "SELECT ACOS(2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS(-1.0000000001)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS(0x00)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS('invalid')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS('1.0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS(PI())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS(1e300)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS(0.9999999999)", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE eps precision issue" + }, + { + "sql": "SELECT ACOS(-1.0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS('0.5')", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE eps precision issue" + }, + { + "sql": "SELECT ACOS(BINARY '1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS('2023-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS(1.0001)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS(COS(0))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS(TIMESTAMP('2023-01-01'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS(UNHEX('30'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS(1.000001)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS(-1.0e0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS('0.9999999999999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS(0x31)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS('1.0a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS(1e-400)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS(0b11111111)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS(ASCII('A'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS('TRUE')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS(-0.0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS('2023-01-01 12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS(TIME '12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS(IFNULL(NULL, -0.5))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS('1.0E0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS(EXP(0))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS(SIN(PI()/2))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS('NULL')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ACOS(_binary 'a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "adddate": [ + { + "sql": "SELECT ADDDATE('9999-12-31', INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('0000-01-01', INTERVAL -1 DAY)", + "args": null, + "pass": true, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59429" + }, + { + "sql": "SELECT ADDDATE(NULL, INTERVAL 5 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('2023-01-01', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('2023-02-30', INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('2020-02-29', INTERVAL 1 YEAR)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('2023-01-01', '1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE(20230101, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('12:30:45', INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE(1, INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('2023-01-01', INTERVAL '1 02:03:04' DAY_SECOND)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('2023/01/01', INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('2023-01-31', INTERVAL 1 MONTH)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('2023-01-01', INTERVAL -1.5 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('2023-01-01', INTERVAL '10-2' YEAR_MONTH)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('2023-01-01', INTERVAL '1.123456' SECOND_MICROSECOND)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('2023-01-01', 3.5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('2023-01-01', INTERVAL '1a' DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE(0, INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('2023-01-01', INTERVAL '2562047788015:6233596951:483647.999999' HOUR_MICROSECOND)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('9999-12-31 23:59:59.999999', INTERVAL 1 MICROSECOND)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('0000-00-00', INTERVAL 1 WEEK)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('2024-02-29', INTERVAL '2-3' YEAR_MONTH)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('2023-13-01', INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE(CURRENT_DATE(), INTERVAL 'X' DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('2023-01-01', INTERVAL 1 \u003c\u003c 60 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('1970-01-01', INTERVAL 2147483648 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE(TRUE, INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('2023-01-01', INTERVAL 1 DAY_HOUR)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('2023-01-01', INTERVAL 9999999999999999999 SECOND)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('2023-01-01', INTERVAL '1.9' DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('2023-01-01', INTERVAL '1-1' DAY_YEAR)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE(CAST('2023-01-01' AS BINARY), 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('2023-01-01', INTERVAL 1 + NULL DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('2023-01-01', INTERVAL '0000-00-00' DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('2023-01-01', INTERVAL 1 DIV 0 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('2023-01-01', INTERVAL 1e400 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('2023-01-01', INTERVAL '1-2-3' DAY_MONTH)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE('2023-01-01', INTERVAL '1' COLLATE utf8mb4_bin)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "addtime": [ + { + "sql": "SELECT ADDTIME('23:59:59.999999', '00:00:00.000001')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME('10:00:00', '-01:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME('2023-01-01 12:00:00', '25:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME(CAST('2023-01-01 00:00:00' AS DATETIME), '237:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME('2023-01-01', '12:34:56')", + "args": null, + "pass": true, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59435" + }, + { + "sql": "SELECT ADDTIME(123456, '00:07:90')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME(TRUE, FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME('12:34', '56:78:90')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME('2023-01-01 10:00:00.000001', '1:00:00.999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME('10:00', 3600)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME('12:00:00.123456', '00:00:00.987654')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME('invalid-time', '00:00:01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME(NULL, '00:00:01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME('12:00:00', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME('100:00:00', '50:00:00.999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME('2024-02-29 23:00:00', '1:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME(MAKETIME(23,59,59), '00:00:01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME('00:00:00', '-00:00:01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME('2023-01-01', '237:00:00')", + "args": null, + "pass": true, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59435" + }, + { + "sql": "SELECT ADDTIME('00:00:00.000000', '00:00:00.000001')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME('23:59:59.999999', '00:00:00.000002')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME('00:00:00', '24:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME('2024-02-28 23:59:59', '1 0:0:1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME('12:34:56.789', 987654)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME('13:45', '26:61:01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME('', '12:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME('00:00:00.000001', '999999.999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME(1234.56, '12:34')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME('23:59:59', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME('2023-01-01 00:00:00', '86399.999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME('2023-01-01 00:00:00.5', '0.5')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME(NULL, INTERVAL 1 HOUR)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "aes_decrypt": [ + { + "sql": "SELECT aes_decrypt(NULL, 'password123')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt('encrypted_data', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt(12345, 'key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt('encrypted', 12345)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt('', '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt(X'0012ABCD', 'secret')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt('data', 'key!@#$%^\u0026*()_+')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt('encrypted', CHAR(0))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt(UNHEX('D7C9C9B9C9B9C9B9'), 'key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt('invalid_ciphertext', 'key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt('encrypted', ' key ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt('encrypted', 12345678901234567890)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt('encrypted', CONCAT('key', '1'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt('encrypted', 'aes_key_with_very_long_length_beyond_typical_usage_abcdefghijklmnopqrstuvwxyz')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt('encrypted', DATE('2023-10-04'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt(NULL, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt(TRUE, 'key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt('encrypted', FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt('encrypted', 'key' COLLATE utf8_bin)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt(_binary'encrypted', 'key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt(NULL, 'key123')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt('encrypted', 123.45)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt(X'1A2B3C4D', 'secret')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt('data', 'key@!$%^\u0026*')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt(UNHEX('A1B2C3D4'), 'key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt('invalid', 'key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt('encrypted', 99999999999999999999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt('encrypted', CONCAT('pass', 'word'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt('encrypted', 'super_long_key_abcdefghijklmnopqrstuvwxyz1234567890')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt('encrypted', CURRENT_DATE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT aes_decrypt('encrypted', 'key' COLLATE latin1_bin)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "aes_encrypt": [ + { + "sql": "SELECT AES_ENCRYPT(NULL, 'key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT('data', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT('', 'key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT('data', '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT(1234, 5678)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT(b'01100001', 'key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT('data', 'key\\'with\"quotes')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT(DATE('2023-01-01'), 'key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT(`value`, `key`) FROM (SELECT 'data' AS `value`, 'k' AS `key`) AS t", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT('àçèñ', 'key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT('data', REPEAT('a', 1000))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT('data', SHA2('secret', 256))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT(X'01AF', 'key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT('data', ' key with spaces ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT('data', 007)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT(CONCAT('a', NULL), 'key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT('data', 'k')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT(123.45, 'key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT('data', 'key\\\\with\\\\backslashes')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT('data', 'key', 'ivparam')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT(NULL, CHAR(107))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT(TRUE, 'key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT('data', UNHEX('1A2B'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT(JSON_OBJECT('k','v'), 'key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT('data', CONVERT('key' USING utf8mb4))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT('data', 0x4B6579)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT('data', 'key', UNHEX('1f3b'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT(TIME('12:34:56'), 'key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT(ENCRYPT('data','salt'), 'key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT('data', CHAR(107,101,121))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT('data', 'key' COLLATE utf8_bin)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT(GEOMFROMTEXT('POINT(1 1)'), 'key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT('data', CONCAT('k', CHAR(0), 'ey'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT('data', _latin1'key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT('data', 'key' || 'extra')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT(0, 'key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT('data', BINARY 'KEY')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT(CAST(123 AS CHAR), 'key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT AES_ENCRYPT('data', SPACE(100))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "and": [ + { + "sql": "SELECT (1 AND NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (0 AND NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (NULL AND 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (NULL AND NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (1 AND '1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (1 AND '0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (0 AND '0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ('0' AND 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ('1' AND 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ('2023-01-01' AND 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ('0000-00-00' AND 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ('1abc' AND 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ('abc1' AND 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (1.5 AND 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (0.0 AND 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (-1 AND 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (TRUE AND 'true')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (FALSE AND 'false')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ( (SELECT 0) AND 1 )", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ('\\t' AND 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "ascii": [ + { + "sql": "SELECT ASCII('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASCII(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASCII(' ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASCII('\t')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASCII('", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASCII(UNHEX('C2A9'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASCII(123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASCII(45.67)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASCII(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASCII(DATE('2023-10-04'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASCII(TIME('12:34:56'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASCII('2023-10-04 12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASCII(X'00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASCII(0x41)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASCII(' test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASCII('0test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASCII(-123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASCII(1E3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASCII(CHAR(255))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASCII(BINARY 'A')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASCII('\n')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "asin": [ + { + "sql": "SELECT ASIN(1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN(-1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN('0.707')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN('invalid')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN(1.0000000000001)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN(-1.0000000000001)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN(0.9999999999999999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN(' 0.5 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN(0x1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN(0x7FFFFFFF)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN('1e0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN('1.1e0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN(SIN(1))", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT ASIN(PI()/2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN('2023-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN('0.5\\t')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN('1.0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN(' -0.707 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN(0x00)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN('0.8a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN(1.7976931348623157E+308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN(-2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN('NULL')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN('٠.٥')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN(0b1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN(1.000000001)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN(-0.0000001)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN('0.5\\x0D')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN(1-POW(2,-53))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN('0,5')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN('NaN')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASIN(1.7976931348623157E+309)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "atan": [ + { + "sql": "SELECT ATAN(1, -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN(0.0, 0.0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN('inf')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN('5a')", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT ATAN(0x1A, 10)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN(3.14159, '2.71828')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN(PI(), 1)", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT ATAN(1E30, -1E30)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN(TRUE, FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN('', '0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN('-123.45', 67.8)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN('2023-01-01', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN(NULL, 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN(1.7976931348623157E308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN(1, 0.0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN('ABC')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN(3 * 2, 1 + 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN(1/0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN('123.45.67')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN(-5, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN('NaN')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN(1, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN('3.14test', '5x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN(9999999999999999999999999.9999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN('', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN('18446744073709551615')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN(1, 1.0/0.0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN('0xFF', 255)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN(1.175494351E-38, 3.402823466E+38)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN(0, 0.000000001)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN('hello')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN('123e5', '45.67.89')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN(-1.7976931348623157E+308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN(CHAR(65), 66)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN(1.234F, 5.678D)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN(SYSDATE(), 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN(0, 1/0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN(X'7FFFFFFFFFFFFFFF')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "atan2": [ + { + "sql": "SELECT ATAN2(0, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2('1', '0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2(1E308, -1E308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2(NULL, 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2(TRUE, 0x1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2(0, -0.0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2('3.14', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2(-1, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2(1E-45, 1E45)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2(0x7FFFFFFF, 0x80000000)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2(1, -1e-307)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2('', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2(999999999999999999, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2(PI(), PI()/2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2('NaN', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2(1, 'Infinity')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2(0.0, -0.0001)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2(-9223372036854775808, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2(1.7976931348623157E308, 2.2250738585072014E-308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2(1, 0x0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2('1.5', '-3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2(1E308, 1E-308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2(3, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2(FALSE, 0x0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2(0.0, -0.0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2('5.6', '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2(-PI(), 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2(1E-324, -1E+308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2(-1.79E308, 2.22E-308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2('', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2(18446744073709551615, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2(SQRT(2), 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2('NaN', 'Inf')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2('inf', '-inf')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2(-0.000001, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2(9223372036854775808, -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ATAN2(3.141592653589793, 1.5707963267948966)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "bin": [ + { + "sql": "SELECT BIN(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIN(-1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIN(18446744073709551615)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIN(12.34)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIN('123')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIN(0x1A)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIN(b'1010')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIN(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIN(1e3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIN(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIN(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIN('000123')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIN(0123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIN('0x1F')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIN(18446744073709551616)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59442" + }, + { + "sql": "SELECT BIN(-12.3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIN('')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59441" + }, + { + "sql": "SELECT BIN('abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIN(IFNULL(NULL, 5))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIN(CHAR(65))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "bin_to_uuid": [ + { + "sql": "SELECT bin_to_uuid(UNHEX('00000000000000000000000000000000'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(UNHEX('FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(UNHEX('123'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(UNHEX('1234567890ABCDEF1234567890ABCDEF1234'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid('invalid_string')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(123456789)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(0x1234)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(UNHEX('6ccd780cbaba102695645b688cbaa7e4'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(UNHEX('6CCD780CBABA102695645B688CBAA7E4'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(UNHEX(''))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(UNHEX(CONCAT('a','b')))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(UNHEX(123))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(UNHEX('GHIJKL'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(UNHEX('000102030405060708090A0B0C0D0E0F'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(1+1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(DATE '2023-10-05')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(UNHEX(NULL))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(UNHEX('1234567890ABCDEF1234567890ABCDEF'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(UNHEX('FFFFFFFFFFFFFFFFFFFFFFFFFF0F1F2F'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(UNHEX('A1B2'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(UNHEX('DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEAD'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid('NOTHEX')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(3.14159)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(0xDEADBEEF)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(UNHEX('a0b1c2d3e4f5a6b7c8d9e0f1a2b3c4d5'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(UNHEX('A0B1C2D3E4F5A6B7C8D9E0F1A2B3C4D5'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(UNHEX('000000000000'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(UNHEX(REPEAT('AB',8)))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(UNHEX(456))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(UNHEX('XYZ123'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(UNHEX('00112233445566778899AABBCCDDEEFF'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(2*3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(TIMESTAMP '2023-10-05 12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(UNHEX(IFNULL(NULL,'00')))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT bin_to_uuid(UNHEX('ABCDEF1234567890ABCDEF1234567890'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "bit_count": [ + { + "sql": "SELECT BIT_COUNT(18446744073709551615)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(-1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT('123')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(0b1010)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(0xff)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(3.14)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT('18446744073709551616')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(-2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(234 \u003e\u003e 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(B'101')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(123.999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT('0xA')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(3 + 5 * 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT('0777')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(123456789012345678)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(0x0F0F)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(-9223372036854775808)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT('18446744073709551615')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(0xFFFFFFFFFFFFFFFF)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(0.9999999999999999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(B'10101010101')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(-0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(' ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT('ABC')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(1 \u003c\u003c 31)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(1.7976931348623157E+308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(X'FE')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(~0 \u003c\u003c 12)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(36028797018963968)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(123456789.123456789)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(CURRENT_DATE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(0b1111000011110000)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_COUNT(JSON_UNQUOTE('1234'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "bit_length": [ + { + "sql": "SELECT BIT_LENGTH('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH(123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH(-456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH(3.14)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH(b'1010')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH(0x12)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH(' ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH('\\t')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH(_utf8mb4 '😊')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH('test ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH(UNHEX('12'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH(CHAR(255))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH('a\\0b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH('日本語')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH(12345678901234567890)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH(CONCAT('a', NULL))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH(0x00)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH('\\'')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH(123.456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH(X'FF')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH(-0.0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH('∞')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH(00000)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH(BINARY 'abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH(REPEAT(0,5))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH(0b1111)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH(UNIX_TIMESTAMP())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH('â')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH(CAST(255 AS CHAR))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH('🇺🇳')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH('\\n\\r\\t')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH(_binary 'test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH(999999999999999999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH(IFNULL(NULL, ''))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "case": [ + { + "sql": "SELECT CASE NULL WHEN NULL THEN 'null' ELSE 'not null' END", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE WHEN 0 THEN 'true' ELSE 'false' END", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE 1 WHEN '1' THEN 'match' ELSE 'mismatch' END", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE BINARY 'A' WHEN 'a' THEN 'equal' ELSE 'unequal' END", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE '2023-01-01' WHEN CAST('2023-01-01' AS DATE) THEN 'date' ELSE 'str' END", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE 1.0 WHEN 1 THEN 'int' ELSE 'float' END", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE WHEN '' THEN 'empty' ELSE 'non-empty' END", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE 0x0A WHEN X'0A' THEN 'hex' ELSE 'not' END", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE WHEN NULLIF(1,1) IS NULL THEN 'null' ELSE 'val' END", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE WHEN CASE WHEN 0 THEN 1 END IS NULL THEN 'null' END", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE 9999999999 WHEN 9999999999 THEN 'equal' ELSE 'unequal' END", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE _utf8mb4'test' WHEN 'test' THEN 'match' END", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE 1/0 WHEN 0 THEN 'valid' ELSE 'error' END", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE WHEN UNHEX('7F') = 0x7F THEN 'hex' END", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE 0x4A WHEN CHAR(74) THEN 'J' END", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE '0.0' WHEN 0 THEN 'num' ELSE 'char' END", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE WHEN TRUE = 1 THEN 'match' END", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE WHEN 0.0 THEN 'zero' ELSE 'non-zero' END", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE 0b1010 WHEN 10 THEN 'binary' END", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE 1E0 WHEN 1 THEN 'float=1' END", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "cast": [ + { + "sql": "SELECT CAST('invalid' AS DATE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(CAST('0000-00-00' AS DATE) AS CHAR)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(123.456 AS BINARY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(_binary'\\x00\\x1a' AS CHAR)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST('12:34:56' AS TIME) + CAST('1:00:00' AS TIME)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(NULL AS DECIMAL(5,2)) + CAST('7.5' AS DECIMAL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(TRUE AS UNSIGNED) \u003c\u003c 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(CAST('2023-02-30' AS DATE) AS DATETIME)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(CAST(12345678901234567890 AS UNSIGNED) AS CHAR)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST('000987' AS SIGNED) / CAST('0' AS UNSIGNED)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(CAST('test' AS BINARY) AS CHAR CHARACTER SET utf8mb4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(JSON_ARRAY(1,'a') AS CHAR)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(CAST(123456.789 AS DECIMAL(5,2)) AS TIME)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(X'48656C6C6F' AS CHAR(5))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(CAST('9999-12-31 23:59:59' AS DATETIME) AS DATE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(CAST('32768' AS SIGNED) AS UNSIGNED)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(2147483648 AS SIGNED) * CAST(2 AS SIGNED)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(CAST('1.7976931348623157E+308' AS DOUBLE) AS DECIMAL(30,10))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST('中文' AS CHAR CHARACTER SET latin1)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59413" + }, + { + "sql": "SELECT CAST(UNHEX('616263') AS DATE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST('invalid_date' AS DATETIME)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST('9999-99-99' AS DATE) + INTERVAL 1 DAY", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(UNHEX('4B696C6C') AS CHAR(4))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(CAST(123456789.987654321 AS DECIMAL(10,3)) AS UNSIGNED)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST('true' AS BOOLEAN) XOR CAST(0 AS BOOL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(CAST('12.3e4' AS FLOAT) AS DECIMAL(10,0))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST('中文测试' AS BINARY) = CAST('中文测试' AS CHAR)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(NULL AS TIME) IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(2147483647 + 1 AS SIGNED)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST('32767' AS SIGNED) + CAST('32768' AS UNSIGNED)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(CAST('2025-13-32' AS DATE) AS YEAR)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(0xDEADBEEF AS CHAR(8))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(1.0e308 AS DECIMAL(65,30))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST('NaN' AS DECIMAL(10,2))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST('24:00:00' AS TIME)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(X'C3A9' AS CHAR CHARSET utf8mb4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(CAST('' AS BINARY) AS DATE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(JSON_OBJECT('key', 123) AS CHAR(100))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "ceil": [ + { + "sql": "SELECT CEIL(-5.2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL('123.45')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL(1.7976931348623157E+308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL(7.0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL(3.999999999999999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL(-0.0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL(' -4.7 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL(10/3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL(SQRT(2))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL(PI())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL(0.0000001)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL(1E30)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL(42)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL(-42)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL(5.000000000000001)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL('-3.7')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL(CEIL(4.3))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL(1.5 + 2.3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL(18446744073709551615.5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL('7eight')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL('99999999999999999999999999999999999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL(1.175494351E-38)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL('INF')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEUL('NaN')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL(0x1A)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL('+4.2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL(1/3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL(CEIL(CEIL(-2.718)))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL('123.45.67')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL(1.5E45)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL(-999999999999999999899999999999999.999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL(UNHEX('41'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL(CURDATE() - INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL('12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL(39.99999999999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEIL(1.000000000000001)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "ceiling": [ + { + "sql": "SELECT CEILING(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING(-123.456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING(9999999999999.99999999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING('12345.6789')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING(' -12.34')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING(0.0000000001)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING(-0.9999999999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING('123a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING(' - 123.45xyz ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING(100/3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING(5e-5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING('+999.999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING('2023-10-05')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING(0x1a)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING(1.0e-30)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING(1.7976931348623157E308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING(-1.7976931348623157E308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING('NaN')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING(INFINITY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING('12.34.56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING('- 3.14ABC')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING(18446744073709551615.5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING(0b101)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING('0x1F')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING('999999999999999999999999999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING(PI())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING(1 DIV 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING(B'101')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING('- ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING('123E2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING(1.175494351E-38)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING('¾')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING('123.56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING(UNHEX('4A'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING(2147483647.4999999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING(-4503599627370495.5E-15)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING(EXP(100))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "char_length": [ + { + "sql": "SELECT CHAR_LENGTH('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(123.456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(0x48656C6C6F)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH('\\n')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH('áéíóú')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(DATE '2023-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(TIME '12:34:56.789')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(UNHEX('FF'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(1E3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(REPEAT('X', 0))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(CHAR(128))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(CONVERT('abc' USING utf32))", + "args": null, + "pass": false, + "known": true, + "comment": "unknown character set utf32" + }, + { + "sql": "SELECT CHAR_LENGTH(IFNULL(NULL, 'fallback'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(BINARY 'test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(12345678901234567890)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(JSON_UNQUOTE('\"string\"'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(REPEAT('A', 65535))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(ENCODE('secret','key'))", + "args": null, + "pass": false, + "known": true, + "comment": "ENCODE function doesn't exist for MySQL" + }, + { + "sql": "SELECT CHAR_LENGTH('🔥')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(-123.45)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(UNHEX(''))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(DATETIME '2023-01-01 12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(_binary 'multi\\x00byte')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(CHAR(255 USING utf8))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(CONVERT('abc' USING latin1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(123E-5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(GET_LOCK('test',0))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(UUID())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(MAKE_SET(1,'a','b','c'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(SPACE(100))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(LOAD_FILE('/dev/null'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(CAST(4294967295 AS CHAR))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(WEIGHT_STRING('abc' LEVEL 1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(TIMESTAMP('2023-01-01'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(CHAR_LENGTH('test'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(SUBSTRING_INDEX('a,b,c',',',0))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(CONVERT('𝄞' USING utf8mb4))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "character_length": [ + { + "sql": "SELECT CHARACTER_LENGTH('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARACTER_LENGTH(' ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARACTER_LENGTH(12345)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARACTER_LENGTH(123.45)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARACTER_LENGTH(-123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARACTER_LENGTH(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARACTER_LENGTH(BINARY 'abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARACTER_LENGTH(DATE '2023-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARACTER_LENGTH(TIME '12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARACTER_LENGTH(CONCAT('a', NULL))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARACTER_LENGTH('ü')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARACTER_LENGTH(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARACTER_LENGTH('abc ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARACTER_LENGTH(REPEAT('a', 1000))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARACTER_LENGTH(X'4A4B')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARACTER_LENGTH('a\\\\b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARACTER_LENGTH(TRIM(' test '))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARACTER_LENGTH(123 + '45')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARACTER_LENGTH(CAST(PI() AS CHAR))", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT CHARACTER_LENGTH(CONCAT(NULL, 'abc'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "charset": [ + { + "sql": "SELECT CHARSET(CONVERT('test' USING latin1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(BINARY 'binary')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(CONCAT('a', BINARY 'b'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(VERSION())", + "args": null, + "pass": false, + "known": true, + "comment": "MySQL returns utf8mb3" + }, + { + "sql": "SELECT CHARSET(0x48656C6C6F)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(N'Unicode')", + "args": null, + "pass": false, + "known": true, + "comment": "MySQL gives utf8mb3" + }, + { + "sql": "SELECT CHARSET('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(CONCAT(CONVERT('a' USING latin1), CONVERT('b' USING utf8mb4)))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(LEFT('abc', 1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET('2023-10-10')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(123.45)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(_latin1 'test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(BINARY 'ábc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(NULLIF('a', 'a'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET((SELECT 'subquery'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(IFNULL(NULL, 'default'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET('line\\nbreak')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(1.23E+5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(BINARY 255)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(CHAR(77))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(CONCAT('β', BINARY 'θ'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(FORMAT(123456,2))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(GET_FORMAT(DATE,'EUR'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(UNHEX('42696E'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(REVERSE(0x80))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(WEIGHT_STRING('ć' LEVEL 1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(_utf8mb4 '⭐')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(DATE_FORMAT(NOW(),'%Y'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(CONVERT(UNHEX('41') USING utf8mb4))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(MAKE_SET(1,'a'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(IF(1=2,'yes','no'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(COALESCE(NULL, (SELECT 'a')))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHARSET(CHAR_LENGTH('test'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "coalesce": [ + { + "sql": "SELECT COALESCE(NULL, NULL, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COALESCE(1, 'text')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COALESCE('', 'default')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COALESCE(NULL, 0, 'zero')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COALESCE(BINARY 'binary', 'text')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COALESCE(12.5, 100)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COALESCE(NULL, TRUE, FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COALESCE(NULL, '2023-01-01', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COALESCE(CHAR(65), NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COALESCE(NULLIF(1,1), 'replacement')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COALESCE(-5, NULL, 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COALESCE(NULL, 0.0, '0.0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COALESCE(UNHEX('414243'), 'ABC')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COALESCE(NULL, _binary 'test', 'test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COALESCE(1/0, 'error')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COALESCE(NULL, NULL, '\t', 'text')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COALESCE('0', 0, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COALESCE(CAST('2023-01-01' AS DATE), 'date')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COALESCE(X'01', 'binary')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COALESCE(NULL, 0, '0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "coercibility": [ + { + "sql": "SELECT COERCIBILITY('test' COLLATE utf8mb4_bin)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(VERSION())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(@@character_set_server)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59618" + }, + { + "sql": "SELECT COERCIBILITY(CONCAT('a', 'b'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(USER())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(X'41')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(_utf8mb4 'test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(IFNULL(NULL, 'x'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(CHAR(65 USING utf8))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(BINARY 'abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(123.45)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY('a' COLLATE latin1_general_ci)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(COALESCE(NULL, 'x'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(UNHEX('41'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(CAST(123 AS CHAR))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY('abc' + 123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(CONVERT('abc' USING utf8mb4))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY('text' COLLATE utf8mb4_unicode_ci)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(NULL + 'abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(CURRENT_USER())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(TIMESTAMP '2023-10-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(0x41)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(_latin1 'data')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(JSON_UNQUOTE('\"value\"'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(ADDDATE('2023-10-01', INTERVAL 1 DAY))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(CHAR(66 USING utf8mb4))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(ENCRYPT('pass'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(123.456E2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(NOT TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY('value' COLLATE utf8mb4_0900_ai_ci)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(MAKE_SET(1, 'a'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(UNCOMPRESS(COMPRESS('x')))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(CAST(123.45 AS DECIMAL(5,2)))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY('123' | 456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COERCIBILITY(CONVERT('test' USING latin1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "collation": [ + { + "sql": "SELECT COLLATION(_utf8mb4 'test')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59411" + }, + { + "sql": "SELECT COLLATION(USER())", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59411" + }, + { + "sql": "SELECT COLLATION(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(CONCAT(1, 'a'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(BINARY 'text')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(@@character_set_server)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59411" + }, + { + "sql": "SELECT COLLATION('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(_latin1 'abc')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59411" + }, + { + "sql": "SELECT COLLATION('abc' COLLATE utf8mb4_general_ci)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(0x616263)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(CAST(123 AS CHAR))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(CONVERT('abc' USING utf8mb4))", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59411" + }, + { + "sql": "SELECT COLLATION(SUBSTRING('abc', 1, 2))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(NULLIF('a', 'a'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(12.34)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(CURDATE())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(IFNULL(NULL, 'text'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(CHAR(97 USING utf8mb4))", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59411" + }, + { + "sql": "SELECT COLLATION(JSON_UNQUOTE(JSON_EXTRACT('{\"a\":\"b\"}', '$.a')))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(0b1101)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(X'404142')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(TIME '12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(ENUM('a','b','c'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(ADDDATE('2023-01-01', INTERVAL 1 DAY))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(GEOMFROMTEXT('POINT(1 1)'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(REPEAT('x', 3))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(WEIGHT_STRING('a' LEVEL 1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(UNHEX('616263'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(VARBINARY 'test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(MAKE_SET(1, 'a'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(CHAR_LENGTH('abc'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(EXPORT_SET(1,'Y','N',',',4))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(INET6_ATON('::1'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(SPACE(3))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COLLATION(ISNULL('abc'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "concat": [ + { + "sql": "SELECT CONCAT(123, 456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(12.3, 'test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT('\\n', 'tab\\t')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(TRUE, FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT('a', NULL, 'b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(0x48656C6C6F, ' world')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT('', 'empty')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT('quote''', 'test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(1e3, 'e3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(BINARY 'binary', ' mix')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(CHAR(0), 'null-byte')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT('üñîcød€', 'unicode')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(CAST('2023-01-01' AS DATE), ' date')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(NULL, 5.67)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT('\\\\', 'backslash')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT('line1\\n', 'line2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(123, 'abc', 45.6)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT('', '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(NULL, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT('a', 'b', 'c', 'd')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(0, 'zero')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT('π', 3.14)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(X'41', 'hex')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT('\\r\\n', 'newline')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT('NULL', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(0b1010, 'bin')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT('emoji😀', 'test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(123.456, ' decimal')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT('\\'', 'quote')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(CAST('12:34:56' AS TIME), ' time')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT('\\t\\t', 'tabs')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT('0x', 0x41)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT('', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT('\\Z', 'escape')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(_utf8mb4'abc', ' collation')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(1/0, ' error')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT('\\0', 'zero-byte')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(123456789, ' bigint')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT('\\\\\\\\', 'slashes')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT('\\u2603', 'snowman')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "concat_ws": [ + { + "sql": "SELECT CONCAT_WS(NULL, 'a', 'b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS('', 'a', NULL, 'c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS(0, 1, 2, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS(':', '2023-01-01', 12, 30)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS('\\t', 'line1', 'line2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS(X'20', 'hello', 'world')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS(',', NULL, NULL, 'd')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS('\\\\', 'path', 'to', 'file')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS(CHAR(126), 'user', 'name')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS('-', 0x12, 0xAB)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS('', 'a', 'b', 'c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS(' ', 1.23, TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS('NULL', 'a', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS('', NULL, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS('ä', 'ça', 'va')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS(123, 'abc', 'def')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS('', CONCAT_WS('!', 'a', 'b'), 'c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS('', 'a', 3.14, 'b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS('', DATE '2023-01-01', TIME '12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS('', 'single''quote', 'another')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS(NULL, 'x', 'y')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS(CHAR(0), 'head', 'tail')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS('-', 3.14E0, 2.718)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS('×', '10', NULL, 'Ω')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS(BINARY '~', _utf8mb4'user', 'data')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS('', 0x48F3, 0x8981)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS('\\n\\t', 'first', NULL, 'last')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS(TRUE, FALSE, TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS('::', '[1,2]', CAST(3 AS JSON))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS('€', 'price:', FORMAT(99.99,2))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS(X'2C', X'41', X'42','')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS(JSON_UNQUOTE(JSON_EXTRACT('{\"s\":\"#\"}','$.s')), 'a','b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS('🌟',CONVERT('hello' USING utf8mb4), 'world')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS(SPACE(3), 'wide','gap')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS('', MAKETIME(12,34,56), ADDTIME('01:02:03','04:05:06'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS('٬', 'السلام','عليكم')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS('','BEGIN;', NULL, 'COMMIT;')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS(NULLIF('',''), 'valid','test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS(IFNULL(NULL,'|'), NULL, STRCMP('a','A'), 'end')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "conv": [ + { + "sql": "SELECT CONV('1Z', 36, 16)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONV('FF', 16, 10)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONV(255, 10, 16)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONV(NULL, 10, 8)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONV('1010', 2, 10.5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONV('', 3, 16)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59430" + }, + { + "sql": "SELECT CONV(-10, 10, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONV(12.9, 10, 8)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONV('1A', 15, 10)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONV('GH', 16, 10)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONV(0, 2, 10)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONV('F', '16', 10)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONV(TRUE, 10, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONV('NaN', 10, 16)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONV('-101', 2, 10)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONV('123', 1, 10)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONV('1', 37, 10)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONV('1\\t2', 10, 16)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONV('11', 0, 10)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONV(b'1111', 2, 10)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "convert": [ + { + "sql": "SELECT CONVERT('2024-02-30', DATE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT('123ABC', SIGNED)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT(NULL, BINARY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT(999999, DECIMAL(3,1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT('25:00:00', TIME)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT('{\"key\":}', JSON)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT(X'48656C6C6F', CHAR)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT(-450, UNSIGNED)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT('', DATETIME)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT('123.45.67', DECIMAL(5,2))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT(BINARY 'Test' USING utf8mb4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT(1/0, DECIMAL(10,5))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT('2025', YEAR)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT(_latin1'ä' USING sjis)", + "args": null, + "pass": false, + "known": true, + "comment": "sjis is not supported" + }, + { + "sql": "SELECT CONVERT('9999-12-31 23:59:59', DATETIME)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT('32768', SMALLINT)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT(123.456, CHAR(2))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT(TRUE, CHAR)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT('01/01/2024', DATE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT(18446744073709551616, UNSIGNED)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT('2023-13-01', DATE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT('12.3E4', UNSIGNED)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT('NULL', BINARY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT(123456789.98765, DECIMAL(5,2))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT('24:60:00', TIME)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT('[invalid]', JSON)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT(X'7E', CHAR(1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT(-32769, SIGNED INTEGER)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT('0000-00-00', DATETIME)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT('ABC123', DECIMAL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT(1/0, UNSIGNED)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT('9999-99-99', DATETIME)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT('2147483648', INT)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT(3.1415926535, CHAR(4))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT(FALSE, BINARY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT('31-Feb-2024', DATE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT(18446744073709551615, UNSIGNED)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "convert_tz": [ + { + "sql": "SELECT CONVERT_TZ('2023-10-10 12:34:56', 'UTC', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ(NULL, 'UTC', 'Europe/London')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('20231010 123412', '+00:00', '+03:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ(20231010123412, '+00:00', '+03:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-02-29 12:00:00', 'UTC', 'UTC')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-10-10 25:00:00', 'UTC', 'Asia/Tokyo')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-10-10 12:34:56.789', 'Europe/Paris', 'Australia/Sydney')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('0000-01-01 00:00:00', '+00:00', '+01:00')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59430" + }, + { + "sql": "SELECT CONVERT_TZ('9999-12-31 23:59:59', 'UTC', 'Asia/Kolkata')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59430" + }, + { + "sql": "SELECT CONVERT_TZ('1970-01-01 00:00:01', 'GMT', 'UTC')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-10-10 12:34:56', 'INVALID/TZ', 'UTC')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-11-05 01:30:00', 'America/New_York', 'UTC')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-10-10 12:00:00', '+14:00', '-12:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ(CONVERT('2023-10-10' USING utf8mb4), 'UTC', '+05:30')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-10-10 12:34:56', 'UTC', 3300)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-10-10 23:59:59', '+00:00', '+13:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2024-02-29 12:00:00', 'UTC', 'Europe/Moscow')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-10-10 12:00:00', '+0530', 'UTC')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-10-10 12:34:56', 0, 'UTC')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-06-30 23:59:59', 'Pacific/Apia', '+14:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('0000-00-00 00:00:00', 'UTC', 'GMT')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-04-31 12:34:56', 'Asia/Tokyo', 'UTC')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-10-10 12:34:56', 'UTC', 123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-10-10 12:34:56', 'CET', 'UTC')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-03-26 02:30:00', 'Europe/London', 'UTC')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-10-10 12:34:56', 'UTC', 'NonExistent/Zone')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-07-01 00:00:00', '-12:00', '+14:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-10-10 12:34:56', 'UTC', '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-10-10T12:34:56', 'UTC', 'Asia/Dubai')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-10-10 12:34:56', 'UTC', 'UTC+05:45')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-10-10 12:34:56', 'HST', 'MET')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-10-10 12:34:56', 3600, 'UTC')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-10-10 12:34:56', 'UTC', 'Australia/LHI')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-10-10 12:34:56', 'Etc/GMT-14', 'Etc/GMT+12')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-10-10 12:34:56', 'UTC', 'SystemV/EST5EDT')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-10-10 12:34:56', 'UTC', 'W-SU')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-10-10 12:34:56', 'UTC', 'US/Pacific-New')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-10-10 12:34:56', 'UTC', 'Cuba')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-10-10 12:34:56', 'UTC', 'NZ-CHAT')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ('2023-10-10 12:34:56', 'UTC', 'ROK')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "cos": [ + { + "sql": "SELECT COS('Invalid')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS(PI() / 2)", + "args": null, + "pass": true, + "known": true, + "comment": "DOUBLE eps precision issue" + }, + { + "sql": "SELECT COS('3.1415')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS(NULL + 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS('NaN')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS(-0.0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS(1 DIV 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS('123.45test')", + "args": null, + "pass": true, + "known": true, + "comment": "DOUBLE eps precision issue" + }, + { + "sql": "SELECT COS('test123')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS(0x1A)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS(RADIANS(180))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS(2 * PI())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS(1E300)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS('2023-10-05')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS('-3.1416')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS(' -12.34 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS(b'1111')", + "args": null, + "pass": true, + "known": true, + "comment": "DOUBLE eps precision issue" + }, + { + "sql": "SELECT COS('Infinity')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS(1/0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS('0xFF')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS('') || 'test'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS(DATE '2024-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS(BINARY '123')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS(0xdeadbeef)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS(REPEAT('A',1000))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS(1.7976931348623157E+308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS(ENUM('a','b'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS(CURDATE())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS('π')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS(B'1010')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS(JSON_OBJECT('val',1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS(GEOMETRYTYPE(POINT(1,1)))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS(TIME '12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COS(X'5050')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "cot": [ + { + "sql": "SELECT COT(0);", + "args": null, + "pass": true, + "known": true, + "comment": "" + }, + { + "sql": "SELECT COT('1');", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT COT(PI());", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT COT(PI()/2);", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT COT(NULL);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COT(0x31);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COT(b'11');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COT(1E-308);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COT(1E308);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COT(-1.5708);", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT COT('3.1415');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COT('1.5707963267948966');", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT COT('0');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COT(' 123 ');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COT('abc');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COT('');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COT(TRUE);", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT COT(FALSE);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COT('2023-01-01');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COT('1e-45');", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "crc32": [ + { + "sql": "SELECT CRC32('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32(12345)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32(123.45)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32('Hello\\nWorld')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32(CHAR(0))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32('\\t')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32(' ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32('üñîçøđ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32(BINARY 'test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32(DATE('2023-10-05'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32(REPEAT('A', 256))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32(CONCAT('ID=', 123))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32('000123')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32(' trimmed ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32(0x1234)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32(-1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32('1e3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32(9999999999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32(0.0001)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32('\\0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32('🔥')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32('123ABC')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32(0xDEADBEEF)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32('\\'escaped\\'')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32(32767)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32('ABCDEFGHIJKLMNOPQRSTUVWXYZ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32(TIMESTAMP('2023-10-05'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32(REPLACE('test','s','x'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32(IFNULL(NULL,'default'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32(UNHEX('1A3F'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32(CHAR(255))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CRC32('123\\t456')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "curdate": [ + { + "sql": "SELECT CURDATE() + INTERVAL 1 DAY - INTERVAL 1 MONTH", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CURDATE() + NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(CURDATE(), ' 00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF(CURDATE(), '0000-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CURDATE() + 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CURDATE() = NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT(CURDATE(), '%Y%m%d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CURDATE() - INTERVAL 1000 DAY", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(CURDATE() AS UNSIGNED)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CURDATE() BETWEEN '1900-01-01' AND '2100-01-01'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDTIME(CURDATE(), '12:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(CURDATE(), CURDATE())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CURDATE() IN (CURDATE(), CURDATE() - INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CURDATE() + INTERVAL 1 YEAR * 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LENGTH(CURDATE())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COALESCE(NULL, CURDATE(), '2020-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CURDATE() + INTERVAL 1 MICROSECOND", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CURDATE() AS date UNION SELECT CURDATE() + INTERVAL 1 DAY", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CURDATE() / 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(CURDATE() \u003e '2020-01-01', 'Yes', 'No')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CURDATE() + INTERVAL 1 SECOND", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CURDATE() - INTERVAL 1 WEEK", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CURDATE() + TRUE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(CURDATE())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CURDATE() | 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE WHEN CURDATE() THEN 1 ELSE 0 END", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(YEAR_MONTH FROM CURDATE())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CURDATE() = DATE_FORMAT(CURDATE(), '%Y-%m-%d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CURDATE() + 1.5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(YEAR(CURDATE()), DAYOFYEAR(CURDATE()))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPDIFF(SECOND, CURDATE(), '2038-01-19')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE(CURDATE(), '%Y-%m-%d') + 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASCII(SUBSTRING(CURDATE(), 6, 2))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CURDATE() REGEXP '^\\\\d{4}-\\\\d{2}-\\\\d{2}$'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ADDDATE(CURDATE(), INTERVAL 1 QUARTER)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK(CURDATE(), 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('date', CURDATE())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CURDATE() XOR 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMP(CURDATE(), '12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "current_date": [ + { + "sql": "SELECT current_date + INTERVAL 1 DAY - INTERVAL 1 SECOND", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_date + NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(current_date, 123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_date + 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_date + 'not_a_number'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_ADD(current_date, INTERVAL '1-2' YEAR_MONTH)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_date BINARY", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_date + INTERVAL '999999' HOUR", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(YEAR_MONTH FROM current_date)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_date / 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE WHEN current_date THEN 1 ELSE 0 END", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_date || 'text'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(current_date AS UNSIGNED)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(current_date)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_date BETWEEN '1900-01-01' AND '9999-12-31'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -current_date", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59418" + }, + { + "sql": "SELECT current_date \u003c\u003c 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_date + INTERVAL '1' MICROSECOND", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIN(current_date)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59418" + }, + { + "sql": "SELECT SOUNDEX(current_date)", + "args": null, + "pass": false, + "known": true, + "comment": "soundex doesn't exist in MySQL" + }, + { + "sql": "SELECT current_date - INTERVAL 999999 HOUR", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_date + INTERVAL -1 MONTH", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_date + 'invalid'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_date AND 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_date OR 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_date * NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_date IN ('2023-10-10', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(current_date)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_SUB(current_date, INTERVAL '1.5' DAY_SECOND)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT(current_date, 1234)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_date \u0026 0xFF", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_date LIKE '%2023%'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF(current_date, '0000-00-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(current_date, 'default')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_date REGEXP '^[0-9]'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ISNULL(current_date + NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COALESCE(current_date, 123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIGN(current_date - '2020-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_date DIV 1.0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASCII(current_date)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "current_user": [ + { + "sql": "SELECT current_user() + 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(current_user(), NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_user() WHERE current_user() LIKE '%@%'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LENGTH(current_user())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_user() COLLATE utf8mb4_unicode_ci", + "args": null, + "pass": false, + "known": true, + "comment": "MySQL returns utf8mb3" + }, + { + "sql": "SELECT IFNULL(current_user(), 'anonymous')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(current_user(), current_user())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(current_user())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_user() REGEXP '^[^@]+@[^@]+$'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX(current_user(), '@', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BINARY current_user()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_user() = USER()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_user() IN (USER(), 'root@localhost')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5(current_user())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE(current_user())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT(current_user() USING utf8mb4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASCII(SUBSTRING(current_user(), 1, 1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_user() DIV 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP(current_user(), USER())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_user() IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(current_user(), 'unknown')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(current_user(), USER())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_user() REGEXP '^[a-zA-Z0-9_]+@'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX(current_user(), '@', -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BINARY current_user() = current_user()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_user() = SESSION_USER()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_user() IN ('admin@%', USER())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1(current_user())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE(SUBSTRING_INDEX(current_user(), '@', 1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT(current_user() USING latin1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD(SUBSTRING(current_user(), 1, 1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_user() * 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP(current_user(), SYSTEM_USER())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT current_user() IS NOT NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "database": [ + { + "sql": "SELECT DATABASE() WHERE DATABASE() IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(DATABASE(), 123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATABASE() + 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LENGTH(DATABASE())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATABASE() COLLATE utf8mb4_general_ci", + "args": null, + "pass": false, + "known": true, + "comment": "default collation for MySQL is utf8mb3" + }, + { + "sql": "SELECT IF(DATABASE(), 1, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COALESCE(DATABASE(), 'unknown')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASCII(DATABASE())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BINARY DATABASE()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATABASE() REGEXP '^[a-z_]+$'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(DATABASE())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(DATABASE())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATABASE() LIKE '%\\_%' ESCAPE '\\'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(DATABASE(), USER())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT @@character_set_database WHERE DATABASE() IS NOT NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (DATABASE() BETWEEN 'a' AND 'z')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(DATABASE() AS UNSIGNED)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(DATABASE(), CURRENT_USER())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATABASE() IN (SCHEMA(), VERSION())", + "args": null, + "pass": true, + "known": true, + "comment": "MySQL returns utf8mb3" + }, + { + "sql": "SELECT MD5(DATABASE())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATABASE() WHERE DATABASE() LIKE '%\\_schema' ESCAPE '\\'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(DATABASE() AS TIME)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (DATABASE() + 1)/0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT(DATABASE(), -3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_EXTRACT(DATABASE(), '$')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BIT_LENGTH(DATABASE())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(1, DATABASE(), 'N')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATABASE() DIV 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT(DATABASE(), DECIMAL(5,2))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP(DATABASE(), VERSION())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATABASE() WHERE 1/CAST(DATABASE() AS SIGNED)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(COMPRESS(DATABASE()))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GET_FORMAT(DATABASE(), 'INTERVAL')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKETIME(DATABASE(), 0, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMP(DATABASE())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX(HEX(DATABASE()))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "date": [ + { + "sql": "SELECT DATE('2024-02-30')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE(20241030)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE('2024-13-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE('0000-00-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE('2024-05-15 12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE('20240101')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE(20240101)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE('24-02-29')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE('2024/03/04')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE('2024-07-20 12:34:56.789')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE('1000-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE('9999-12-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE('202402291130')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE('99-02-28')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE('2024-06-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE(20241225)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE('2024-00-15')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59417" + }, + { + "sql": "SELECT DATE('2023-02-29')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE(20240230)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE('InvalidDate')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE('0000-12-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE('2024-05-15T12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE(1700000000)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE('2024/02/28')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE('24-05-20')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE('2024-12-32')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE(NULL + INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE(' ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE('2024-02-29 23:59:59.999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE('999-12-03')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE('2024-04-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE(20241301)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE('2024-07-15 12:34')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE('10000-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "date_add": [ + { + "sql": "SELECT DATE_ADD('0000-00-00', INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_ADD('2024-02-29', INTERVAL 1461 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_ADD(NULL, INTERVAL '1-3' YEAR_MONTH)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_ADD('9999-12-31', INTERVAL 1 MICROSECOND)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_ADD('20240101', INTERVAL 'a' DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_ADD(CURDATE(), INTERVAL NULL SECOND)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_ADD('2023-02-28', INTERVAL '366' DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_ADD('2024-01-32', INTERVAL 1 MONTH)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_ADD('2024-06-30 23:59:59.999999', INTERVAL 1 MICROSECOND)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_ADD('2020-02-29', INTERVAL 4 YEAR)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_ADD(12345, INTERVAL '1.5' HOUR)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_ADD('2024-05-31', INTERVAL 1 MONTH)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_ADD('2024-12-31', INTERVAL '24:00' HOUR)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_ADD('0000-00-00 00:00:00', INTERVAL 1 WEEK)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_ADD('2024-02-30', INTERVAL 0 SECOND)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_ADD('1999-01-01', INTERVAL '1000-11' YEAR_MONTH)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_ADD('2024-01-01', INTERVAL TRUE MINUTE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_ADD('2024-12-31', INTERVAL '1.999999' SECOND)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_ADD('2024-04-31', INTERVAL -1 MONTH)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_ADD('2024-07-04', INTERVAL 2147483647 MICROSECOND)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "date_format": [ + { + "sql": "SELECT DATE_FORMAT('0000-00-00', '%Y-%m-%d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('2023-02-30', '%W %D')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT(NULL, '%%Y-%%m')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT(20240501, '%d/%m/%Y')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('2023-10-30 14:30:00', '%H:%i:%s')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('2023-13-01', '%Y-%m-%d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('23-10-30', '%Y-%m-%d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('2023/10/30', '%Y.%m.%d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('0999-12-31', '%Y')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('12:34:56', '%k:%i')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('2023-10-30', '%%%Y%%')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT(0, '%Y%m%d')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59423" + }, + { + "sql": "SELECT DATE_FORMAT('2023-10-30', '%Y\\\\%m')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('9999-12-31 23:59:59', '%s')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('', '%Y')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('2023-06-15T12:34:56', '%T')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('2023-05-01', '%a %b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('2020-02-29', '%x-%v')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('1999-12-31', '%y')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('2023-10-30', '')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59424" + }, + { + "sql": "SELECT DATE_FORMAT('1000-01-01', '%Y-%M')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('2024-02-29', '%j')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT(19990704, '%Y年%m月')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('2023-10-30', '%Y\\\\%m\\\\%d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('13:45:00', '%l %p')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('2023-04-31', '%U')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('2023/07/04', '%Y-%m-%d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('0001-01-01', '%X %V')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('NOTADATE', '%W')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('2023-10-30', 'Month: %M Year: %Y')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT(CAST('2023-05-01' AS DATE), '%y')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('2023-10-30', '%Y%m%d%H%i%s')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('10000-01-01', '%Y')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('2023-10-30', '%%%%')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('2023-06-01', '%d days of %M')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('2023-10-30 25:00:00', '%H')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('0000-01-01', '%Y-%m')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('2023-10-30', CHAR(37,89))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT('2023-10-30', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "date_sub": [ + { + "sql": "SELECT DATE_SUB('2024-02-29', INTERVAL 1 YEAR)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_SUB('2023-03-31', INTERVAL 1 MONTH)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_SUB('2024-01-01 12:34:56', INTERVAL 45 MINUTE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_SUB('2023-01-01', INTERVAL -1 MONTH)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_SUB('2023-12-31', INTERVAL 3 WEEK)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_SUB('2024-05-05 00:00:00.000001', INTERVAL 1 MICROSECOND)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_SUB(20240229, INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_SUB('2024-01-01', INTERVAL '2' DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_SUB('2024-01-01 12:00:00', INTERVAL '1:30' HOUR_MINUTE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_SUB('2024-01-01', INTERVAL 2.5 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_SUB(NULL, INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_SUB('2023-01-01', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_SUB('2023-01-01', INTERVAL TRUE DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_SUB('1000-01-01', INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_SUB('2024-05-05 12:34:56.789', INTERVAL 500 MICROSECOND)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_SUB('2024-01-01', INTERVAL '1 12:30:00' DAY_SECOND)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_SUB('2023-13-01', INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_SUB(CAST('2024-01-01' AS DATE), INTERVAL 1 QUARTER)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_SUB('2024-01-01', INTERVAL 0 SECOND)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_SUB('0000-00-00', INTERVAL 1 HOUR)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "datediff": [ + { + "sql": "SELECT DATEDIFF(NULL, '2023-10-05')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('2023-10-05', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF(20231005, '2023-10-06')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('0000-00-00', '2023-10-05')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('2023-10-05 23:59:59', '2023-10-05')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('2020-02-29', '2021-02-28')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('invalid', '2023-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF(12345678, 20231005)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('2023-13-01', '2023-12-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('2023-06-31', '2023-06-30')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF(0, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF(2023.1005, '2023-10-05')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('', '2023-10-05')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('2023-10-05', '2023/10/04')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('2023-10', '2023-10-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('20230101', '2023-01-02')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('12:34:56', '2023-10-05')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF(230101, '2023-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('2023-10-05T12:00:00', '2023-10-04')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('0000-00-00', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('9999-12-31', '0001-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('2024-02-29', '2024-03-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('2023-10-05', 20231005.999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('2023-10-05', TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('2023-10-05', '0000-00-00 00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('2023-10-05', '2023-10-05')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('2023-10-32', '2023-11-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('2023-10-05', '2023-10-05 12:34:56.789')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('2023-10-05', '2023/10\\05')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('2023-10-05', '2023-10-5')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('2023-10-05', '2023-1-05')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF(CAST('2023-10-05' AS DATE), 20231006)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('2023-10-05', '2023-10-04 23:59:59.999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('2023-10-05', '2023-W40-5')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('2023-10-05', '20231004')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('2023-10-05', '2023-10-05 00:00:00.000001')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('2023-10-05', '2023_10_04')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('2023-10-05', '2023%10%04')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('2023-10-05', '2023+10+04')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF('2023-10-05', '2023:10:04')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "dateliteral": [ + { + "sql": "SELECT DATELITERAL('2020-02-29')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL('2023-02-30')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL('0000-00-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL(20231231)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL('2020/12/31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL('2020-13-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL(123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL('31-Dec-2024')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL(CONCAT('2023','-','02','-','29'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL('9999-12-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL('10000-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL('2023-06-15 12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL('2023-05-5')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL('0000-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL('2023-02-28')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL('30-FEB-2020')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL('20231005')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL(20231005)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL('23-10-05')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL('2023/10/05')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL(' 2023-10-05 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL('2024-02-29')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL('12-31-2023')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL('2023-13-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL('2023-10-05 12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL(12345)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL('January 1, 2023')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL('2023-00-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL('2023-10-32')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATELITERAL('2023-06-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "day": [ + { + "sql": "SELECT DAY('2024-02-29')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('2024-04-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY(20240520)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('2024-05-20 12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('0000-00-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('2024-05-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('2024/05/20')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('20-May-2024')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY(CAST('2024-05-20' AS DATE))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('20240520')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('9999-12-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('1000-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('2024-13-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('abcd')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('2024-05-20' + INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('24-05-20')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY(TIMESTAMP('2024-05-20'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('2024.05.20')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('2024-02-30')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('2025-00-15')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('2024-06-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('2024-05-20T12:34:56Z')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('2024-05')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('2024-02-29 23:59:59.999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('2024-05-32')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('2024-05-20 00:00:00.000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('1700-02-29')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('2024-05-20 24:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('2024/5/20')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('May 20, 2024')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY(UNIX_TIMESTAMP('2024-05-20'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('2024-05-20' COLLATE utf8mb4_bin)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('2024-05-20' || '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY('2024-05-20' + INTERVAL 0 SECOND)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAY(X'414243')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "dayname": [ + { + "sql": "SELECT DAYNAME('2023-02-30')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME(20231225)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME('0000-00-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME('12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME('2023/01/01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME('002023-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME('hello')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME('2023-13-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME('01-12-2023')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME(TIMESTAMP('2023-01-01'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME(NULL + INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME('23-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME(2023)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME('2023-12-25 12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME(DATE('2023-05-15'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME('2023-01-01 00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME(1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME('2024-02-29')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME('1999-11-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME(19990101)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME('2023-00-15')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME('2023-06-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME(CAST('2023-07-04' AS DATE))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME('2023-02-28 24:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME('2023-W50-2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME(32767)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME('2023-1-1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME('January 1, 2023')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME('2023-06-18T12:34:56Z')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME(2147483647)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME('2023-05-32')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME('2023/12/25')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME('2023-02-29')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYNAME('2023-04-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "dayofmonth": [ + { + "sql": "SELECT DAYOFMONTH('2023-02-30')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('0000-00-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('2024-02-29 23:59:59.999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH(CAST('2023-13-32' AS DATE))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH(123456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('2023/06/31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('31-Feb-2023')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('0000-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('1970-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('9999-12-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('2023-06-15T12:34:56Z')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('2023-02-28 24:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('2023-04-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH(_binary '2023-05-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('2023-07-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('0001-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('2023-06-01 00:00:00.000001')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('2023-11-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('2025-04-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('1999-00-15')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('2038-01-19 03:14:07')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('2020-02-30')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('2023-06-31 12:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('0000-00-00 00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH(CAST('2024-02-30' AS DATETIME))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('2023-12-32')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('2023-05-01 24:00:01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('2023-09-31T00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH(32767)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('2023-10-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('2023-03-32 12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('2023-01-01 12:34:56.789')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('2023-08-35')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH(_utf8mb4'2023-07-32')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('10000-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('2023-06-18 23:59:59.999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFMONTH('2023-02-29')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "dayofweek": [ + { + "sql": "SELECT DAYOFWEEK(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFWEEK('0000-00-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFWEEK(20240527)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFWEEK('2024/05/27')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFWEEK('24-05-27')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFWEEK(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFWEEK(20241332)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFWEEK('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFWEEK('2024-05-27 23:59:59.999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFWEEK('1000-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFWEEK(20240527.9)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFWEEK('2024.05.27')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFWEEK('2024-02-29')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFWEEK('2023-02-29')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFWEEK('not-a-date')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFWEEK(123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFWEEK(' 2024-05-27 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFWEEK(BINARY '2024-05-27')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFWEEK('9999-12-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DAYOFWEEK((SELECT '2024-05-27'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "dayofyear": [ + { + "sql": "SELECT dayofyear('2020-02-29')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear('2023-02-30')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear(20231231)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear('2023/12/31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear('0000-00-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear('23-12-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear('2023-12-31 23:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear('not-a-date')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear(20230228)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear('2024-03-15 12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear(IFNULL('invalid', NULL))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear('2023-01-01' + INTERVAL 59 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear('2023-12-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear('2020-12-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear(123.45)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear('2023-06-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear('2024-02-29')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear('1999-13-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear('2023-00-15')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear(19990101)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear('2025-07-04 00:00:00.000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear('2023-W52-7')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear('2023-12-32')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear('2023-02-28')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear(32767)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear('2023-05-01T12:00:00Z')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear('2023-12-31') + dayofyear('2024-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear('0000-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear('2023-04-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear(CONCAT('202','3-05-05'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear(2147483647)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear('2023-01-01' - INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear('9999-12-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT dayofyear('2023-07-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "degrees": [ + { + "sql": "SELECT DEGREES(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES('ABC')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES(0x1F)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES(b'1001')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES(-PI())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES(1.7976931348623157E308)", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE range issue." + }, + { + "sql": "SELECT DEGREES(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES(CONCAT('3','.1415'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES(' 2.71828 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES('3,14')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES('2023-10-10')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES(1E-30)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES(0.0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES(ACOS(0.5))", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT DEGREES(RADIANS(45))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES('\t1.5708')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES('3.14159')", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT DEGREES(PI())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES('invalid')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES(0b1010)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES(0xDEADBEEF)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES(1/0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES(1.175494351E-38)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES(JSON_EXTRACT('{\"val\":2}','$.val'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES('INF')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES('NaN')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES(TIME '12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES(1E308 * 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES(UNHEX('414243'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES(EXP(1000))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES('0x1A3F')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES(MAKETIME(12,0,0))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES('3.14e-45')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DEGREES(X'7FFFFFFFFFFFFFFF')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "div": [ + { + "sql": "SELECT 5 DIV 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL DIV 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 10 DIV '3'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '10' DIV 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 15.9 DIV 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -10 DIV 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 10 DIV -3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0x0A DIV 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 18446744073709551615 DIV 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1 DIV 0.5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'abc' DIV 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 5.5 DIV 2.5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUE DIV 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 DIV 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1e18 DIV 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ' 12 ' DIV 3", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT b'1010' DIV 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 7.5 DIV 2.5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '' DIV 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -10 DIV -3", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "elt": [ + { + "sql": "SELECT ELT(5, 'a', 'b', 'c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(0, 'x', 'y')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(-1, 'x', 'y')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT('2', 'a', 'b', 'c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT('two', 'apple', 'banana')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(2.9, 'one', 'two', 'three')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(TRUE, 'first', 'second')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(FALSE, 'first', 'second')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(1, NULL, 'b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(2, 123, 456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(1, 0x41, 0x42)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(1, '', 'not empty')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(2, 123, 'abc', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(1+1, 'a', 'b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(LENGTH('abc'), 'a', 'b', 'c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(999, 'test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(0x31, 'a', 'b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT('2023-10-01', 'a', 'b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT('002', 'a', 'b', 'c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(3, 'a', NULL, 'c', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(4, 'w', 'x', 'y', 'z')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(1.5, 'alpha', 'beta')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(NULL, 'valid', 'values')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(3, 'a', 'b', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT('3', 1, 2, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(1, 0, FALSE, TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(2, '\\t', '\\n', '\\r')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(1, CHAR(65), CHAR(66))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(5, 'short', 'list')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT('0x0A', 'hex', 'index')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(2, 3.14, -15, 'text')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT('', 'empty', 'index')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(1, B'1', B'0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(2, _utf8mb4'test', 'data')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(1, JSON_ARRAY(1,2), JSON_OBJECT())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(2, DATE('2023-01-01'), TIME('12:34'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(1, X'404142', X'434445')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(3, 'a', 'b', 'c', 'd', 'e')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(PI(), 'pi', 'approximation')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ELT(2, NULL, NULL, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "exp": [ + { + "sql": "SELECT EXP(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP(709)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP(710)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP(-745.133)", + "args": null, + "pass": true, + "known": true, + "comment": "DOUBLE eps precision issue" + }, + { + "sql": "SELECT EXP(1e308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP('3.14')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP(' -5.5')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP('2a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP('1e-3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP(0x0A)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP(b'1010')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP(true)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP(false)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP('2024-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP('12.3.4')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP('\\n2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP('3.7e2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP(-1 * PI())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP(1 + 0.0000001)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP(1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP(-708.3964185322641)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP(1.7976931348623157e+308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP('0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP('invalid')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP('3,14')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP(0b11111010)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP(TRUE + 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP('0xFF')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP('3e-5')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP('2024-05-23 12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP(1/0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP(1e-309)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP(UNHEX('41'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP(CHAR(50))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP(EXP(1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP(SQRT(-1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP(1.000000000000001)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP(N'7')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "export_set": [ + { + "sql": "SELECT EXPORT_SET(NULL, 'Y', 'N', ',', 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(5, NULL, 'N', ':', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(10, 1, 0, '\\t', 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(0x0A, 'Yes', 'No', '\\n', 8)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(7, 'A', 'B', '', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(255, 'On', 'Off', ', ', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(3, 'X', 'Y', '\\\\', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(15, 'True', NULL, ';', 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(1, '1', '0', CHAR(10), 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(8, 'High', 'Low', '...', -2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(16, 'A', 'B', CONCAT('a','b'), 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(0, 'Yes', 'No', ',', 64)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(2, 123, 456, 'x', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(NULL, NULL, NULL, NULL, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(1+2, 'a', 'b', 'c', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(4, 'ON', 'OFF', ' ', 8)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(0b1010, 'T', 'F', '|', 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(127, 'LongString', '', '...', 7)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(6, 'X', 'Y', 'sep', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(9, 'Y', 'N', '\\n', 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(0, 'Yes', 'No', '', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(0b1111, 1, 0, '|', 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(255, 'A', 'B', NULL, 8)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(16+1, 'On', 'Off', ':', 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(3, NULL, 'Missing', '-', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(0x1F, 'True', 'False', '\\t', 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(7, 'X', NULL, ';', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(64, 'Active', 'Inactive', CONCAT('a','b'), 6)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(1, 123, 456, 'x', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(8, 'LongString', '', '...', 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(0, NULL, NULL, NULL, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(127, '1', '0', CHAR(9), 7)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(4, 'T', 'F', '\\n', 8)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(15, 'Yes', 'No', '\\\\', -2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(2, 'A', 'B', ' ', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(0b101, 'Up', 'Down', '|', 3+2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(31, '', '', ',', 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(63, 'Enabled', 'Disabled', ';', 64)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXPORT_SET(9, 'On', 'Off', '\\t\\n', 6)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "extract": [ + { + "sql": "SELECT EXTRACT(MICROSECOND FROM '2038-01-09 03:14:07.999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(HOUR FROM 20240521185634)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(YEAR_MONTH FROM '0000-00-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(DAY FROM '2024-02-29 23:59:59.999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(SECOND FROM 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(QUARTER FROM '2023-13-32')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(WEEK FROM 2024.0500)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(MINUTE FROM NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(TIMEZONE_HOUR FROM '2024-05-21+07:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(DAY_HOUR FROM 0x0D0E0A)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59421" + }, + { + "sql": "SELECT EXTRACT(YEAR FROM '9999-12-31 23:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(MONTH FROM '2024-00-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(HOUR_MINUTE FROM 123.456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(SECOND_MICROSECOND FROM 'NOTADATE')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(DAY_OF_YEAR FROM '2024-12-31 23:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(DECIMAL FROM 20240521)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(DOUBLE FROM NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(MONTH FROM '01:02:03')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(YEAR FROM 1/0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(FRAC_SECOND FROM '2024-05-21 12:34:56.789')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(FRAC_SECOND FROM '1970-01-01 00:00:00.000001')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(TIMEZONE_MINUTE FROM '2024-05-21-12:30')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(YEAR FROM 0x0F1A0B)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(SQL_TSI_WEEK FROM 202405.2100)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(MONTH FROM 00000000)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(MICROSECOND FROM 'NOTATIME' DIV 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(SECOND FROM TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(MINUTE_SECOND FROM 123456789012345678)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(QUARTER FROM _binary'2024-05-21')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(HOUR FROM DATE'2024-05-21')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(WEEK FROM '9999-99-99')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(DAY_OF_MONTH FROM NULLIF(1,1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(YEAR_MONTH FROM 2024B07521)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(EPOCH FROM CAST('2024-05-21' AS JSON))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(DECIMAL FROM INTERVAL 5 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(MONTH FROM '12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(TIME FROM 0b1101011101)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXTRACT(MICROSECOND FROM '2024-05-21 23:59:59.ABCDEF')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "field": [ + { + "sql": "SELECT FIELD(NULL, NULL, 'a', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD(123, '123', 123, 'abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD('', ' ', NULL, '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD(BINARY 'A', 'a', 'A')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD('a\\nb', 'a', 'a\\nb', 'ab')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD('0x1', 0x1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD(1, TRUE, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD(1.0, 1, 2.0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD('2023-10-01', DATE '2023-10-01')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59448" + }, + { + "sql": "SELECT FIELD(TRUE, 'TRUE', '1', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD(9999999999, 1, 9999999999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD('a', 'A' COLLATE utf8mb4_bin)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD(123, '123a', 123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD('x', NULL, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD('a', 'a ', 'a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD(0x41, 65)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD(1, -1, +1, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD('\\\\', '\\', '\\\\')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD(1.5, '1.50', 1.500)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD('b', 'a', 'b', 'c', 'd', 'e', 'b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD(NULL, 'a', NULL, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD('123', 123, '123')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD('', NULL, '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD(BINARY 'a', 'A', 'a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD('a\\t', 'a', 'a\\t')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD(0x2A, 42)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD(FALSE, 0, 'false')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD(2.0, 2, '2.0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD(TIMESTAMP '2023-10-01', '2023-10-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD(1, 'TRUE', TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD(12345678901, 12345678901)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD('123', '123xyz')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD('x', NULL, 'x', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD('a ', 'a', 'a ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD(0b1010, 10)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD(-5, 5, -5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD('\"', '\"', '\\\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD(3.14, '3.140')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIELD('z', 'a', 'b', 'c', 'z', 'z')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "find_in_set": [ + { + "sql": "SELECT FIND_IN_SET(NULL, 'a,b,c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET('a', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET('a,b', 'a,b,c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET(2, '1,2,3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET('', 'a,,b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET(' a ', 'a, a , a ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET(TRUE, '1,true')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET('\t', '\t,", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET('a\\,b', 'a\\,b,c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET(1234567890, '1234567890,999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET(0, '0,false,NULL')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET('NULL', 'NULL,0,1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET(BINARY 'A', 'a,A,b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET(' ', ' , , ,')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59453" + }, + { + "sql": "SELECT FIND_IN_SET('5', CONCAT(5, ',six'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET(',', '\\,,a,b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET('x', '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET('a', '\\\\a,\\\\b,\\\\c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET('1', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET('2.0', '2,2.0,3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET('NULL', 'NULL,null')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET(TRUE, 'TRUE,1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET(0x61, 'a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET(CHAR(97), 'a,CHAR(97)')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET('2e3', '2000,2e3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET('', ',, ,a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET(REPEAT('a',3), 'aaa,aa')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET('a\\', 'a,b,a\\\\')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET(_utf8mb4'A', 'A,a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET('2', '2.0,2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET(0, '0, ,NULL')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET('X', '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET('abc', 'ABC,abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET('a', ' a ,a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET('2a', '2,2a,3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET('\r', '\n,\r,\t')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET(0b11, '3,11')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET('5', 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "floor": [ + { + "sql": "SELECT FLOOR(-12.34567);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR('123.999');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR(' -123.456 ');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR('5e-1');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR(NULL);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR(0x1A);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR(TRUE);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR(FALSE);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR('2023-01-01');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR('12:34:56');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR(PI());", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR(0.000000000000001);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR(1.000000000000001);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR(1/3);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR(SQRT(4));", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR(B'1010');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR('+987654.999');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR('123.0');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR('000456.999');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR(-0.0);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR(-999.99999);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR(' +123.999 ');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR('1.7976931348623157E+308');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR(0.0000000000000001);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR('18446744073709551615');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR('0xFF');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR('');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR('NaN');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR('Infinity');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR('12.3E4');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR(1.7976931348623157E+308);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR(1/0);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR('123abc');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR(' ');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR(CAST('2023-01-01' AS DATE));", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR(TIME '12:34:56');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR(UNHEX('1A'));", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR(_binary '123.45');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR(JSON_EXTRACT('{\"val\":4.9}','$.val'));", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR(1.0000000000000001);", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "format": [ + { + "sql": "SELECT FORMAT(1234567890123456.789, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(-9876543.210, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(123456.789, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(1234.56, -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT('1234567.8912', 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(TRUE, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(DATE('2023-10-10'), 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(NULL, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(1234.56, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(1234.56, 2, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(NULL, NULL, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(1234.56, 2, 'de_DE')", + "args": null, + "pass": false, + "known": true, + "comment": "not supported locale" + }, + { + "sql": "SELECT FORMAT(1.23456789, 10)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT('0001234.56', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(1000/3, 5)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59443" + }, + { + "sql": "SELECT FORMAT(1234.56, '3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(1234.56, 2.9)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(1.23e5, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(999.9999, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(0.0000001, 7)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(18446744073709551615, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(0.0000000000000001, 16)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT('18446744073709551616', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(POW(2,64), 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT('123.45.67', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT('invalid', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(123456789, CHAR(50))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(1234.56, 2147483647)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(1234.56, 3, 'invalid_locale')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(0, 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(0.0, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(99999999999999999999999999999999999999, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(1.7976931348623157E+308, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(2.2250738585072014E-308, 308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(1/0, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(-0.0, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(X'31', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(B'1010', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT(JSON_UNQUOTE(JSON_EXTRACT('{\"val\":123.456}','$.val')), 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "format_bytes": [ + { + "sql": "SELECT FORMAT_BYTES(0)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59455" + }, + { + "sql": "SELECT FORMAT_BYTES(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT_BYTES(18446744073709551615)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT_BYTES('1.5e3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT_BYTES(0x3FF)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT_BYTES(1023.999999999)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59455" + }, + { + "sql": "SELECT FORMAT_BYTES(-1024)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT_BYTES(POW(1024, 5))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT_BYTES(b'11111111')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59455" + }, + { + "sql": "SELECT FORMAT_BYTES('4096A')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT_BYTES(IFNULL(NULL, 4096))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT_BYTES(1 / 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT_BYTES(1.7976931348623157e+308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT_BYTES('')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59455" + }, + { + "sql": "SELECT FORMAT_BYTES(CHAR(52))", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59455" + }, + { + "sql": "SELECT FORMAT_BYTES(NULL + 1024)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT_BYTES(BINARY '2048')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT_BYTES(1E18)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT_BYTES(CONCAT('1','024'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT_BYTES(JSON_EXTRACT('{\"x\": 512}','$.x'))", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59455" + }, + { + "sql": "SELECT FORMAT_BYTES(0xFABE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT_BYTES(1.8446744e+19)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT_BYTES(1024.0000000001)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT_BYTES('7.3e+100')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT_BYTES(CAST('8589934592' AS DECIMAL(30)))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT_BYTES(NULLIF(1,1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT_BYTES(0b1111101000)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT_BYTES(1 \u003c\u003c 40)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT_BYTES(COALESCE(NULL,'1073741824'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT_BYTES('18446744073709551616')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT_BYTES(X'7FFFFFFFFFFFFFFF')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT_BYTES(EXP(30))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT_BYTES(TIME_TO_SEC('00:00:1024'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FORMAT_BYTES(ATAN(1)*4096)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "found_rows": [ + { + "sql": "SELECT FOUND_ROWS()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() + 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() FROM (SELECT SQL_CALC_FOUND_ROWS 1) AS t", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() FROM (SELECT SQL_CALC_FOUND_ROWS NULL) AS t", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() FROM (SELECT SQL_CALC_FOUND_ROWS 1 UNION SELECT 2) AS t", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() FROM (SELECT SQL_CALC_FOUND_ROWS 1 FROM DUAL LIMIT 0) AS t", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() AS total FROM (SELECT SQL_CALC_FOUND_ROWS 'a' FROM DUAL) AS t", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() / 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() FROM (SELECT SQL_CALC_FOUND_ROWS 1 WHERE 0) AS t", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() FROM (SELECT SQL_CALC_FOUND_ROWS 1 FROM DUAL GROUP BY 1) AS t", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() FROM (SELECT SQL_CALC_FOUND_ROWS 1 HAVING 1=1) AS t", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (SELECT FOUND_ROWS()) FROM (SELECT SQL_CALC_FOUND_ROWS 1) AS t", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() FROM (SELECT SQL_CALC_FOUND_ROWS 1 UNION ALL SELECT 1) AS t", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() IN (0,1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(FOUND_ROWS() \u003e 0, 'Yes', 'No')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT('Total: ', FOUND_ROWS())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() FROM (SELECT SQL_CALC_FOUND_ROWS 1 FROM DUAL WHERE 1=0) AS t", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() FROM (SELECT SQL_CALC_FOUND_ROWS 1, 2 FROM DUAL) AS t", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() FROM (SELECT SQL_CALC_FOUND_ROWS * FROM (SELECT 1) AS s) AS t", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() FROM (SELECT SQL_CALC_FOUND_ROWS 1 FROM DUAL ORDER BY 1) AS t", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() - 3", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59620" + }, + { + "sql": "SELECT FOUND_ROWS() FROM (SELECT SQL_CALC_FOUND_ROWS 1 WHERE FALSE) AS t", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() FROM (SELECT SQL_CALC_FOUND_ROWS 1 UNION SELECT NULL) AS t", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() FROM (SELECT SQL_CALC_FOUND_ROWS * FROM (SELECT 1, 'a') AS s) AS t", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() BETWEEN 5 AND 10", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE FOUND_ROWS() WHEN 0 THEN 'Empty' ELSE 'Exists' END", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() FROM (SELECT SQL_CALC_FOUND_ROWS 1 WHERE NULL) AS t", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() FROM (SELECT SQL_CALC_FOUND_ROWS 1 FROM DUAL WHERE 'a' = 'b') AS t", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() * NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() FROM (SELECT SQL_CALC_FOUND_ROWS 1 FROM DUAL JOIN (SELECT 1) AS s) AS t", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1 WHERE FOUND_ROWS() = 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() FROM (SELECT SQL_CALC_FOUND_ROWS NULL FROM DUAL GROUP BY ()) AS t", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() \u003c\u003c 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIN(FOUND_ROWS())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() FROM (SELECT SQL_CALC_FOUND_ROWS 1/0) AS t", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() FROM (SELECT SQL_CALC_FOUND_ROWS 1 FROM DUAL LIMIT 5 OFFSET 3) AS t", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASCII(SUBSTRING('test', FOUND_ROWS(), 1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() FROM (SELECT SQL_CALC_FOUND_ROWS 1 AS a, 2 AS b) AS t", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FOUND_ROWS() FROM (SELECT SQL_CALC_FOUND_ROWS 1 FROM DUAL HAVING COUNT(*)=1) AS t", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "from_base64": [ + { + "sql": "SELECT from_base64(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64('invalid!@#$')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64(12345)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64('SGVsbG8=')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64('dGVzdA')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64('4pyT')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64(BINARY 'SGVsbG8=')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64(CONCAT('S','G','VsbG8='))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64('MTIzNA==')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64(' SGVsbG8=')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64((SELECT 'SGVsbG8='))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64('AAAA')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64('dGVzdA--')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64('SGVsbG8=\\n')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64('aGVsbG8=')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64('MTIz')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64('QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLw==')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64('////')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64('SGVsb=G8=')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64('INVALID~')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64(99999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64(' ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64('U3BhY2U=')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64('QmFk=Wg==')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64(0x53414D50)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64(REPEAT('A',1000))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64('Zm9v\r')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64('YmFy\tr')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64('\\u0020')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64('//////')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64('*\u0026^%')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64('YW55IGNhcm5hbCBwbGVhc3U=')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64('U3VwZXJNYXJpbw==')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64('PHNjcmlwdD4=')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64('RGF0YQ==')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64('MHg1QTVC')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT from_base64('ZmFsc2U=')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "from_days": [ + { + "sql": "SELECT FROM_DAYS(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(-365)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(999999999999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(730.5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS('366')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(577740)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS('0001-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(0x1A3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(1e3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(' 123 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS('123ABC')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(IFNULL(NULL, 365))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS('2023-10-10')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(123.999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(LENGTH('test'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(365)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(00001)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS('invalid')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS('366xyz')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(2147483648)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(9999999999999999999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(-2147483649)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(123.45678912345)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(0xFF)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(TRUE + FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(BINARY '100')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(IF(1=1, 737700, NULL))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(UNSIGNED(365.9))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(CAST('0001-02-28' AS UNSIGNED))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(EXP(6))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(NULL + 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(REVERSE('654321'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_DAYS(CHAR(51,54,57))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "from_unixtime": [ + { + "sql": "SELECT FROM_UNIXTIME(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME(2147483647)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME('1609459200')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME(-1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME(1609459200.5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME('1609459200.5')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME('invalid')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME(1609459200, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME(1609459200, '%%%%')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME(1609459200, 'invalid_format')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME(4294967296)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME(9999999999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME(60 * 60 * 24)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME(1234567890.123456, '%Y-%m-%d %H:%i:%s.%f')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME(1.5e3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME(' 1234567890 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME(1609459200, 'YYYY-MM-DD')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME(-100000)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME(123456789.987654)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME('1609459200.999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME(NULL, '%Y-%m-%d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME('invalid_string')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME(1=1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME(1609459200, 12345)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME(253402300799)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME(-62167219200)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME(1609459200 + 86400)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME(1609459200, '%Y-%m-%d\\t%H:%i')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME(1609459200, CONCAT('%','Y','-%m-%d'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME(1609459200.999999, '%Y-%m-%d %H:%i:%s.%f')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FROM_UNIXTIME('1609459200', 'UNKNOWN_FORMAT')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "get_format": [ + { + "sql": "SELECT GET_FORMAT(1, 'USA')", + "args": null, + "pass": true, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59419" + }, + { + "sql": "SELECT GET_FORMAT('DATE', 'USA')", + "args": null, + "pass": true, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59420" + }, + { + "sql": "SELECT GET_FORMAT(DATE, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GET_FORMAT(NULL, 'ISO')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GET_FORMAT(DATETIME, 123)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59419" + }, + { + "sql": "SELECT GET_FORMAT(TIME, 'usa')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59420" + }, + { + "sql": "SELECT GET_FORMAT('', 'EUR')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GET_FORMAT(DATE, 0)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59419" + }, + { + "sql": "SELECT GET_FORMAT(123.45, 'USA')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GET_FORMAT(DATE, 'FOO')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59410" + }, + { + "sql": "SELECT GET_FORMAT(NULL, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GET_FORMAT(TRUE, 'USA')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GET_FORMAT(DATE, 'JIS')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GET_FORMAT(TIME, 'INTERNAL')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GET_FORMAT(DATETIME, 'EUR')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GET_FORMAT(DATETIME, CONCAT('IN','TERNAL'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GET_FORMAT(TIME, 'EUR')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GET_FORMAT(DATETIME, 'INTERNAL')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GET_FORMAT(DATETIME, 'ISO')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GET_FORMAT(DATE, 'ISO') || ' test'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GET_FORMAT(DATE, 'USA')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GET_FORMAT(1, 'ISO')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GET_FORMAT(NULL, 'JIS')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GET_FORMAT(TRUE, 'INTERNAL')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GET_FORMAT('', 'ISO')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GET_FORMAT('DATE', 'EUR')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "greatest": [ + { + "sql": "SELECT GREATEST('0000-00-00', '2023-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(-32768, 32767, 65535)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(3.141592653589793, 22/7, 3.142)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(0x0A, '10', 0b1010)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(-INFINITY, -1.7976931348623157E+308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST('a', BINARY 'A', 'B')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(NULL, 1, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(TRUE, FALSE, 0.9)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(12345678901234567890, 1.234567890123456789e19)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(STR_TO_DATE('February,2023', '%M,%Y'), '2023-02-28')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST('9999-12-31 23:59:59', '10000-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(0, -0.0, 0.0E0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST('12:34:56.789999', '12:34:56.790000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST('abc', 0x616263, 97, 98, 99)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(MAKE_SET(1,'a'), MAKE_SET(1,'b'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(PI()*2, 6.2831853071795864769)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(CHAR(255 USING utf8mb4), CHAR(255 USING latin1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(_, _latin1'ÿ', _utf8mb4'ÿ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(INTERVAL '1-2' YEAR_MONTH, INTERVAL 14 MONTH)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(X'7FFFFFFFFFFF', 36028797018963967)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST('2024-02-30', '2024-03-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(-2147483648, 4294967295)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(2.718281828459045, '3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(B'1111101000', X'3E8', 1000)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(CAST('inf' AS DECIMAL), 1.0e308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(_utf8mb4 'ß', _latin1 'SS')", + "args": null, + "pass": false, + "known": true, + "comment": "known issue of TiDB" + }, + { + "sql": "SELECT GREATEST(0, NULL, -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(FALSE, 0.0001, 1E-4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(18446744073709551615, 1.844674407370955e19)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(TIME('23:59:59.999999'), '838:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(UNHEX('FF'), 255, '255', 0b11111111)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST('0001-01-01', DATE('0000-00-00'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST('9999999999999999999999999999999', 1e32)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(_binary 'Z', 'z', CHAR(90 USING utf8mb4))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(MAKETIME(23,59,59), '23:59:59.999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(-1.7976931348623157E+308, -POW(2,1023))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(TIMESTAMP('2038-01-19 03:14:07'), '2038-01-19')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(INTERVAL '1' SECOND, '00:00:01.000001')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(EXP(1), 2.718281828459045235360287471352662)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GREATEST(CAST('12.3 apples' AS DECIMAL), 12.3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "grouping": [ + { + "sql": "SELECT GROUPING(a) FROM (SELECT 1 AS a, NULL AS b UNION ALL SELECT 2, 5) t GROUP BY a, b WITH ROLLUP", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GROUPING(str) FROM (SELECT 'a' str UNION ALL SELECT NULL UNION ALL SELECT 'b') t GROUP BY str WITH ROLLUP", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GROUPING(d) FROM (SELECT DATE('2023-01-01') d UNION ALL SELECT NULL) t GROUP BY d WITH ROLLUP", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GROUPING(num + 0) FROM (SELECT '1' num UNION ALL SELECT 'abc') t GROUP BY num + 0 WITH ROLLUP", + "args": null, + "pass": false, + "known": true, + "comment": "order difference" + }, + { + "sql": "SELECT GROUPING(b) FROM (SELECT 1 a, 2 b UNION ALL SELECT 1, NULL) t GROUP BY a, b WITH ROLLUP", + "args": null, + "pass": false, + "known": true, + "comment": "order difference" + }, + { + "sql": "SELECT GROUPING(COALESCE(col, 0)) FROM (SELECT NULL col UNION ALL SELECT 5) t GROUP BY COALESCE(col, 0) WITH ROLLUP", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GROUPING(UPPER(str)) FROM (SELECT 'a' str UNION ALL SELECT 'A') t GROUP BY UPPER(str) WITH ROLLUP", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GROUPING(a) AS grp FROM (SELECT 1 a UNION ALL SELECT 2) t GROUP BY a WITH ROLLUP HAVING grp = 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GROUPING(CONCAT(a, b)) FROM (SELECT 'x' a, 'y' b UNION ALL SELECT NULL, 'z') t GROUP BY a, b WITH ROLLUP", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GROUPING(IFNULL(a, -1)) FROM (SELECT NULL a UNION ALL SELECT 1) t GROUP BY IFNULL(a, -1) WITH ROLLUP", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GROUPING(SUBSTR(s, 1, 1)) FROM (SELECT 'test' s UNION ALL SELECT NULL) t GROUP BY SUBSTR(s, 1, 1) WITH ROLLUP", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GROUPING(CAST(v AS DECIMAL)) FROM (SELECT '5.5' v UNION ALL SELECT 'X') t GROUP BY CAST(v AS DECIMAL) WITH ROLLUP", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GROUPING(a + NULL) FROM (SELECT 1 a UNION ALL SELECT 2) t GROUP BY a + NULL WITH ROLLUP", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GROUPING(JSON_EXTRACT('{}', '$')) FROM (SELECT 1) t GROUP BY JSON_EXTRACT('{}', '$') WITH ROLLUP", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GROUPING(CHAR(97)) FROM (SELECT CHAR(97) c UNION ALL SELECT CHAR(98)) t GROUP BY CHAR(97) WITH ROLLUP", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GROUPING(BINARY 'a') FROM (SELECT 'a' UNION ALL SELECT 'A') t GROUP BY BINARY 'a' WITH ROLLUP", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GROUPING(1/0) FROM (SELECT 1) t GROUP BY 1/0 WITH ROLLUP", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GROUPING(UNIX_TIMESTAMP()) FROM (SELECT 1) t GROUP BY UNIX_TIMESTAMP() WITH ROLLUP", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GROUPING(GEOMFROMTEXT('POINT(1 1)')) FROM (SELECT 1) t GROUP BY GEOMFROMTEXT('POINT(1 1)') WITH ROLLUP", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GROUPING(x + y) FROM (SELECT 1 x, 2 y UNION ALL SELECT 3, 4) t GROUP BY x + y WITH ROLLUP", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GROUPING(CAST(val AS UNSIGNED)) FROM (SELECT '123' val UNION ALL SELECT 'abc') t GROUP BY CAST(val AS UNSIGNED) WITH ROLLUP", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GROUPING(REVERSE(s)) FROM (SELECT 'xyz' s UNION ALL SELECT NULL) t GROUP BY REVERSE(s) WITH ROLLUP", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GROUPING(ABS(x)) FROM (SELECT -5 x UNION ALL SELECT NULL) t GROUP BY ABS(x) WITH ROLLUP", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GROUPING(BIN(n)) FROM (SELECT 10 n UNION ALL SELECT NULL) t GROUP BY BIN(n) WITH ROLLUP", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GROUPING(ASCII(c)) FROM (SELECT 'A' c UNION ALL SELECT NULL) t GROUP BY ASCII(c) WITH ROLLUP", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GROUPING(LENGTH(s)) FROM (SELECT 'hello' s UNION ALL SELECT NULL) t GROUP BY LENGTH(s) WITH ROLLUP", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GROUPING(MOD(a, b)) FROM (SELECT 7 a, 3 b UNION ALL SELECT 5, 0) t GROUP BY MOD(a, b) WITH ROLLUP", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GROUPING(RADIANS(deg)) FROM (SELECT 180 deg UNION ALL SELECT NULL) t GROUP BY RADIANS(deg) WITH ROLLUP", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "hex": [ + { + "sql": "SELECT HEX(18446744073709551615)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(-123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(123.456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX('abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX('\\n')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(b'01100001')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(DATE('2024-05-01'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(TIME('12:34:56'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(123456789.987654321)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX('©')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(UNHEX('00'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(1e5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(0x616263)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX('abcdefghijklmnopqrstuvwxyz')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX('a®')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(TIMESTAMP('2024-05-01 12:34:56'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX('9999999999999999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(18446744073709551614)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(-9223372036854775808)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(0.000000001)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX('0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(' ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX('\t')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(X'7F')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(CHAR(65))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(CAST('2024-05-01' AS DATETIME))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(JSON_UNQUOTE('\"abc\"'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(_utf8mb4'🤖')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX('123abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(UNIX_TIMESTAMP())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(GEOMFROMTEXT('POINT(1 1)'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX('0x123')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX('18446744073709551616')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(NULL AND TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "hour": [ + { + "sql": "SELECT HOUR('838:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR('-12:30:15')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR(123456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR('2023-10-05')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR('25:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR('abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR('1230')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR('0000-00-00 00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR(240000)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR('-30:15:45')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR(CAST('12:45:30' AS CHAR))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR(BINARY '12:30:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR('12:34:56.789')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR('23:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR(1234)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR('2023-10-05 15:30:45')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR(CAST('2023-10-05 12:34:56' AS DATETIME))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR('9999-12-31 23:59:59.999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR(INTERVAL 45 HOUR)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR(-125900)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR('12')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR(CAST('invalid' AS DATE))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR('0:0:0.000001')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR(TIMESTAMP '2023-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR(ENUM('12:30:00','18:45:00'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR('24:00:00.000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR(0x1234)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR(JSON_UNQUOTE(JSON_EXTRACT('{\"time\":\"12:30\"}','$.time')))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR('2023-05-17') + HOUR('12:34')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR(FROM_UNIXTIME(1695481200))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR(X'123456')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR(MAKETIME(24,00,00))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR(GET_FORMAT(DATETIME,'ISO'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR(UNIX_TIMESTAMP())%48", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HOUR(TIME_FORMAT('193000', '%H%i%s'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "if": [ + { + "sql": "SELECT IF(NULL, 'true', 'false')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(5.6, 1, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF('nonempty', 'yes', 'no')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF('', 'yes', 'no')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(0, 't', 'f')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(1, 123, 'abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(1, NULL, 'def')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(0, 'abc', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF('0' = 0, 'same', 'diff')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF('2023-01-01', 'date', 'nodate')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(BINARY 'a' = 'A', 'eq', 'neq')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(IF(0, 1, 0), 'a', 'b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(9999999999999999999, 'big', 'small')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(-5, 'neg', 'pos')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(0, 'true', 456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(0x1, 'hex', 'nohex')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(b'1', 'bin', 'nobin')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(1/0, 'error', 'ok')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(1, IF(0, 'a', 'b'), 'c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF('5 apples', 5, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(NULL, 'valid', 'invalid')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(0.0, 'non-zero', 'zero')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF('false', 1, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(1.7976931348623157E+308, 'max', 'min')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(' ', 'space', 'empty')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(TRUE, 'bool', 'notbool')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF('00', 'zero-str', 'non-zero-str')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(1E-45, 'tiny', 'none')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(CHAR(0), 'null-char', 'visible')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF('a' COLLATE utf8_bin = 'A', 'match', 'mismatch')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(1/0, 'inf', 'finite')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(CAST('2023' AS UNSIGNED), 'year', 'string')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(X'01', 'hex-true', 'hex-false')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(_utf8mb4'test', 'unicode', 'plain')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(JSON_ARRAY(), 'json', 'non-json')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(TIME('12:00:00'), 'time', 'notime')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(1 = '1', 'coerce', 'strict')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(1, (SELECT 1), (SELECT 0))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(0x0, 'zero-hex', 'non-zero-hex')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(IFNULL(NULL, 0), 'null-handled', 'unhandled')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "ifnull": [ + { + "sql": "SELECT IFNULL(NULL, X'2A')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL('', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(TRUE, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL('2023-10-10', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(0x0A, '10')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(-32768, 'min')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL('\\t\\n', 'escape')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(3.14, X'01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL('123', 456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(NULL, '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(' ', 'space')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(1e100, 'large')", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE representation issue" + }, + { + "sql": "SELECT IFNULL(0, 'zero')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL('true', FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(X'', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL('0', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL('', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(123.45, 'decimal')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL('text', X'FF')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(5, 'five')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(NULL, X'00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(FALSE, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL('1970-01-01', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(0xDEADBEEF, 'hex')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(2147483647, 'max')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL('\\r\\\\', 'control')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(2.71828, X'00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL('456', 789)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(NULL, X'')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL('\t', 'tab')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(9.999e999, 'overflow')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(-0, 'negative_zero')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL('false', TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(X'NULL', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL('1', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL('NaN', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(987.654, 'float')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL('binary', X'00FF')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(-5, 'minus_five')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "in": [ + { + "sql": "SELECT NULL IN (1, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1 IN (SELECT NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '5' IN (5, 'x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'a' IN (X'61', B'01100001')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUE IN (0, NULL, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 IN (SELECT 1 WHERE FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1 IN (UNHEX('31'), B'00110001')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '1\\n2' IN ('1\\\\n2', '1\\n2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '' IN (0, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 3.14 IN (3, '3.14')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '2023-01-01' IN (CURDATE(), NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL IN (NULL, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'NULL' IN (NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0x4A IN (74, 'J')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1 IN (2, '1test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 IN (FALSE, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'a' IN (SELECT 'a' UNION SELECT NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'b' IN (SELECT NULL WHERE 1=0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 100 IN (0100, '100')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1 IN (SELECT 2) WHERE 1 IN (0, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1 IN (NULL) WHERE FALSE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 IN (0x00, B'0','')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT X'41' IN ('A',65,NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUE IN (1,-1,NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'NULL' IN (0,NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 3.0 IN (3,'3.000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0b1010 IN (10,'A')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT _utf8mb4'test' IN (0x74657374,NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 2.718 IN (2,2.718,2.71828)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '' IN (B'0',0x30,0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '07' IN (7,007)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CURRENT_DATE() IN ('invalid_date',NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT B'1' IN (1,TRUE,'1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0e0 IN (FALSE,'0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '1e2' IN (100,'1e2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT _latin1'ABC' IN (0x414243,B'01000001')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0x123 IN (291,0x123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0100 IN (64,100)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '2023-01-32' IN (NULL,'2023-02-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1 IN (SELECT NULL UNION SELECT 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "inet6_aton": [ + { + "sql": "SELECT INET6_ATON('::ffff:192.168.1.1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('2001:0db8:0000:0000:0000:ff00:0042:8329')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('2001:db8::1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('192.168.0.256')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('::256.0.0.0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON(12345)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON(b'2001')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON(CURRENT_DATE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON(CONCAT('2001:', 'db8::', '1'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('0:0::0:0:0:0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('2001::db8::1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('2001:g::1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('2001:DB8:0:0:0:FF00:42:8329')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON(' 2001:db8::1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('2001:db8::1 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON(0x323030313A646238)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('[2001:db8::1]:8080')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('::')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('fe80::1%eth0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('127.0.0.1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('255.255.255.255')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('2001:0db8:85a3:0000:0000:8a2e:0370:7334')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('::192.168.0.1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('2001:db8:3:4::192.0.2.33')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('2001:0:4137:9e76:3c2b:1c2d:3f57:fe93')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('123.45.67.89')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('999.999.999.999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('2001:db8:::1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('2001:0db8:1234:5678:90ab:cdef:fedc:ba09')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('2001:db8:a0b:12f0::1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('2001:db8:0:0:0:0:0:1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('2001:db8:0:0:0:0:1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('2001:db8:0:0:0:1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('2001:db8:0:0:1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('2001:db8:0:1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('2001:db8:1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_ATON('2001:db8:1:2:3:4:5:6:7')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "inet6_ntoa": [ + { + "sql": "SELECT INET6_NTOA(UNHEX('00000000000000000000000000000001'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_NTOA(UNHEX('7F000001'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_NTOA(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_NTOA('abcdef')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_NTOA(0x00000000000000000000000000000001)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_NTOA(1234)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59461" + }, + { + "sql": "SELECT INET6_NTOA(UNHEX(''))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_NTOA(UNHEX('00000000000000000000FFFF7F000001'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_NTOA(UNHEX('FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_NTOA(UNHEX('7F!!00^\u00260001'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_NTOA(UNHEX('0000000000000000'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_NTOA(UNHEX('AABBCC'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_NTOA(UNHEX('00000000000000000000FFFFC0000280'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_NTOA('abcdefghijklmnop')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59461" + }, + { + "sql": "SELECT INET6_NTOA(UNHEX('0000000000000000000000000000000000'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_NTOA(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_NTOA(UNHEX('FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_NTOA(UNHEX('AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_NTOA(CAST(UNHEX('7F000001') AS BLOB))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET6_NTOA(UNHEX('0100007F'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "inet_aton": [ + { + "sql": "SELECT INET_ATON('192.168.001.010')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON('256.255.255.255')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON('2001:0db8::1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON(3232235521)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON('0177.0.0.1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON('invalid.ip')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON(123.45)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON('0.0.0.0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON('255.255.255.255')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON(' 127.0.0.1 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON(CONCAT('127', '.0.0.1'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON(CONCAT(192, '.168.1.1'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON('2023-10-10')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON('192.168.1.0/24')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON('192..168.1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON('0x7f.0.0.1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON(CAST('127.0.0.1' AS BINARY))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON('192.000.000.001')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON('1234.5.6.7')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON('127.0.0.1.5')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON('192.168.1.256')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON('999.999.999.999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON('0123.0xAB.0.1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON('192.168.0.1a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON('127.0.0.1:3306')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON('localhost')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON('192.168.1.1.1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON('0.0.0.256')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON('1.2.3.04')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON(' 192 . 168 . 1 . 1 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON(CONCAT('192','.',168,'.1.1'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON(CHAR(49,57,50,46,49,54,56,46,49,46,49))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON('192.168.1.1%')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON('192.168.1.测试')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON('127.0.0.1\\t')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON('127.0.0.1\\n')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON(IFNULL(NULL, '127.0.0.1'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "inet_ntoa": [ + { + "sql": "SELECT INET_NTOA(4294967295)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA(BINARY 3232235777)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA('3254774000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA(0xC0A80101)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA('192.168.1.1' + 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA(-1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA(1.234e3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA(16909060)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA(0x7FFFFFFF)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA('123.45' * 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA('0xDEADBEEF')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA('1234test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA(2147483648)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA(256*256*256*128)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA(COALESCE(NULL, 2130706433))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA(UNHEX('C0A80101'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA(CONV('C0A80101',16,10))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA(0xFFFFFFFF)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA('4294967295')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA(16777215)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA('0x1000000' - 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA('invalid')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA(CHAR(255))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA(0b11111111111111111111111111111111)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA('192.168.1.1' | 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA(IFNULL(NULL, 2886732393))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA(0x7F000001)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA(2147483647 * 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA('123.456' + 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA(0xDEADBEEF \u0026 0xFFFFFFFF)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA('00000000000000000000000000000000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA(0x01020304)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA('12345678901234567890')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA(HEX('C0A80101'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_NTOA(CAST('3232235777' AS UNSIGNED))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "instr": [ + { + "sql": "SELECT INSTR(NULL, 'a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR('abc', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR(NULL, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR('abc', '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR('', 'a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR('', '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR(12345, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR('123', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR('Apple', 'p')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR('Apple', 'P')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR('café', 'é')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR(BINARY 'Hello', 'h')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR(123.45, '.')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR(-123, '-')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR(0, '0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR('a\\tb', '\\t')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR('a\\nb', '\\n')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR('ababab', 'ab')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR(REPEAT('x', 5), 'x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR('abc', 'abcd')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR(NULL, 'test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR('database', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR(123, '2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR('Hello', 'L')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR('', 'xyz')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR(' ', ' ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR('π', 'π')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR(CONCAT('a','b'), 'ab')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR(TRUE, '1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR('a\bc', '\b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR('a\\\\b', '\\\\')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR('äöü', 'ö')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR(9999999999, '9')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR('1E3', 'E')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR('👋🌍', '🌍')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR('abc\\0def', '\\0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR('1.618', '.6')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR('0x1F', 'x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR('1/2', '/')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INSTR('2023-10-10', '-')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "interval": [ + { + "sql": "SELECT INTERVAL(NULL, 1, 3, 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL('5', 3, '7', 9)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(3, 1, 3, 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL('test', 0, 1, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(0, -5, 0, 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(999999999999, 1, 100, 1000000000000)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(5, 4, NULL, 6)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(b'11', 2, 3, 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(7, 2, 5.5, 6.0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(5, '', 'abc', '5.5')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL('10', '9', 10, '11')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL('5.5', 5, 6, 7)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(1.25E+2, 100, 200)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(20, 5, 10, 15, 20)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(0x0A, 9, 11)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(-3, -5, -2, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(NULL, NULL, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(3.14159, 3, '3.14', 3.1416)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(' 12 ', 10, 15)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(5.0, 1, 4, 5, 6)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(NULL, -1, 2, 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL('text', '1a', 2.5, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(0x0F, 15, 15.0, '15')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(TRUE, 0, 1, 2, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL('', 0.0, NULL, -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(999999.999, 1e5, 1e6, 2e6)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(3.14E-10, 0.0, 1e-9)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL('2023-10-01', 20230101, 20230601, 20240101)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(CURDATE(), DATE('2020-01-01'), DATE(NOW()))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(JSON_EXTRACT('{\"x\":5}','$.x'), 4,5,6)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(UNHEX('FF'), 254, 255, 256)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(CHAR(50), 49, 50, 51)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL([1,2,3], 1, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(CAST('5a' AS UNSIGNED), 4,5,6)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(CONCAT('1','2'), 11,12,13)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(_binary '100', 3,4,5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(5/0, 0,1,2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(-32768, -32768, 0, 32767)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(1.7976931348623157E+308, 0,1e100)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL(GEOMFROMTEXT('POINT(1 1)'), 0,1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "is": [ + { + "sql": "SELECT (1/0) IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'NULL' IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 IS FALSE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT('a', NULL) IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE('2023-02-30') IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (1 + NULL) IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (NULL = 5) IS UNKNOWN", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -1 IS TRUE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(NULL, NULL) IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT(-1) IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '1' IS TRUE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'TRUE' IS TRUE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (SELECT NULL) IS NOT NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '' IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BINARY 'a' IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST('2023-01-01' AS DATE) IS NOT NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (1=1) IS TRUE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (CASE WHEN 0 THEN 1 ELSE NULL END) IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXISTS(SELECT 1) IS TRUE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (1 IS NOT UNKNOWN) IS TRUE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'NULL' IS NOT NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1.5 IS TRUE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CURRENT_DATE() IS NOT NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST('invalid' AS UNSIGNED) IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(NULL, NULL) IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0' IS FALSE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1 DIV 0 IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT('a', BINARY) IS NOT NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (1/0.0) IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INTERVAL 1 DAY IS NOT NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (FALSE IS FALSE) IS TRUE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT INET_ATON('invalid') IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (BINARY '') IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(1,1) IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(2, 1000000) IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (NULL IS NOT TRUE) IS TRUE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_EXTRACT('{}', '$.key') IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY('0000-00-00') IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME('25:00:00') IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "is_ipv4": [ + { + "sql": "SELECT IS_IPV4(2130706433)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4('192.168.0.1.5')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4('300.100.50.0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4(-1.2.3.4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4(NULL)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59456" + }, + { + "sql": "SELECT IS_IPV4(CONCAT(127, '.0.0.1'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4('192.168.001.010')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4(BINARY '127.0.0.1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4(0x7F000001)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4('::ffff:127.0.0.1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4(INET_ATON('192.168.1.1'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4('127.0.0.1:8080')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4(' 192.168.0.1 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4('abc.def.ghi.jkl')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4(IF(1, NULL, '127.0.0.1'))", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59456" + }, + { + "sql": "SELECT IS_IPV4('192,168,0,1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4('192.168.0.1.255')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4('192.168.0.0/24')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4('256.256.256.256')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4('0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4('192.168.0.0.1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4(CHAR(0x7F000001))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4('192.0.one.2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4('0.0.0.256')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4('127 .0. 0.1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4(INET_NTOA(2130706433))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4('00000000000000000000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4('255.255.255.255/32')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4('123.456.78.90')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4('0x7F.0x00.0x00.0x01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4('127.0.0.1:80')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4(IFNULL(NULL, '192.168.1.1'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4('192.168.1.256')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4('1.2.3.4.5')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4(' 127.0.0.1 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4('192,168,1,1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4('0x7F000001')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "is_ipv4_compat": [ + { + "sql": "SELECT IS_IPV4_COMPAT('::192.168.0.1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT(INET6_ATON('::10.0.0.1'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT('127.0.0.1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT('2001:0db8:85a3:0000:0000:8a2e:0370:7334')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT(NULL)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59458" + }, + { + "sql": "SELECT IS_IPV4_COMPAT('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT('invalid')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT(123456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT(0xC0A80001)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT('::ffff:192.168.0.1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT('::C0A8:0001')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT(UNHEX('C0A80001'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT(UNHEX('00000000000000000000FFFFC0A80001'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT(CONVERT(12345 USING utf8mb4))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT(' ::192.168.0.1 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT('::1.2.3.4')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT(SUBSTRING(INET6_ATON('::1'), 1, 8))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT('::192.168.0.1:8080')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT(UNHEX('000000000000000000000000C0A80001'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT(X'00000000000000000000000000000000')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59458" + }, + { + "sql": "SELECT IS_IPV4_COMPAT('::127.0.0.1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT(CAST('::172.16.254.1' AS BINARY))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT(X'0000000000000000000001C0A80001')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT('::0000:192.168.0.1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT(CHAR(8200))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT('::255.255.255.255')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT('::1.2.3.256')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT(UNHEX('DEADBEEF'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT('::/96')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT(0x00000000000000000000FFFFFFFF)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT('0000:0000:0000:0000:0000:0000:7f00:0001')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT('::192.168.0.0001')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT('::010.010.010.010')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT(REVERSE(INET6_ATON('::192.168.0.1')))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT('192.168.1.1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT(X'0000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT('0000::0000::0000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT('::192.168.0.1/pfx32')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT(BINARY '::10.10.10.10')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV4_COMPAT(FROM_BASE64('AP///////////wA='))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "is_ipv4_mapped": [ + { + "sql": "SELECT is_ipv4_mapped('::ffff:0:0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT is_ipv4_mapped(X'00000000000000000000FFFFC0A80001')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT is_ipv4_mapped(CONCAT('::', 'ffff:257.0.0.1'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT is_ipv4_mapped('::ffff:127.0.0.01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT is_ipv4_mapped(INET6_ATON('::ffff:192.168.1.1'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT is_ipv4_mapped('::FFFF:192.168.0.1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT is_ipv4_mapped('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT is_ipv4_mapped(':::ffff:192.168.0.1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT is_ipv4_mapped('::ffff:1.2.3.4.5')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT is_ipv4_mapped(123456789)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT is_ipv4_mapped('::ffff:0000:0000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT is_ipv4_mapped(NULL)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59456" + }, + { + "sql": "SELECT is_ipv4_mapped('::ffff:0.0.0.256')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT is_ipv4_mapped('2001:db8::ffff:1.2.3.4')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT is_ipv4_mapped('::ffff:192.168.0.0x1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT is_ipv4_mapped(TIMESTAMP '2023-10-10 00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT is_ipv4_mapped('::ffff:127.0.0.1/24')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT is_ipv4_mapped('::ffff:')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT is_ipv4_mapped(0x3A3A666666663A3139322E3136382E302E31)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT is_ipv4_mapped('::ffff:0000:192.168.0.1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "is_ipv6": [ + { + "sql": "SELECT IS_IPV6(0x3A3A31)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV6(CONCAT('::ff', X'FF'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV6(CHAR(58,58,49))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV6('2001:db8::1%eth0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV6(':::')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV6(SUBSTRING('2001:0db8:85a3::8a2e:0370:7334', 1, 20))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV6(1234567890)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV6('0000:0000:0000:0000:0000:0000:0000:0000/128')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV6('::192.168.0.1.')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV6('2001::g5:3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV6(REVERSE('2001:db8::1'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV6(CASE WHEN NULL THEN '::1' ELSE ':::2' END)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV6(' 2001:db8::1 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV6('FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV6('0:0:0:0:0:0:0:0:0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV6(X'20010DB885A3000000008A2E03707334')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV6('::ffff:255.255.255.255')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV6('2001:db8::')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV6(NULL + INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59456" + }, + { + "sql": "SELECT IS_IPV6(UPPER('2001:db8::1'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV6(0x3A3A3A)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV6(CONCAT('::',X'FF'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV6('fe80::1%eth0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV6(SUBSTRING('2001:db8::1',1,5))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV6(12345)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV6('::1/128')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV6(' 2001:db8::1 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV6(X'20010DB8')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV6(NULL + 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_IPV6(LOWER('2001:DB8::1'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "is_uuid": [ + { + "sql": "SELECT IS_UUID('6ccd780cbaba102685674cc3505b2a62')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID('6ccd780c-baba-1026-8567-4cc3505b2a62')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID('6ccd780c-bab-1026-8567-4cc3505b2a62')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID('gccd780c-baba-1026-8567-4cc3505b2a62')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID('6ccd780cbaba102685674cc3505b2a6')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID('6ccd780cbaba102685674cc3505b2a623')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID(12345)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID(BINARY '6ccd780cbaba102685674cc3505b2a62')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID('------------------------------------')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID('6CCD780C-BABA-1026-8567-4CC3505B2A62')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID(CONVERT(12345, CHAR))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID('2024-05-21')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID(0x6ccd780cbaba102685674cc3505b2a62)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID(' 6ccd780c-baba-1026-8567-4cc3505b2a62 ')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59457" + }, + { + "sql": "SELECT IS_UUID(123.45)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID(' 6ccd780c-baba-1026-8567-4cc3505b2a62 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID(CONCAT('6ccd78', '0c-baba-1026-8567-4cc3505b2a62'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID('123e4567e89b12d3a456426614174000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID('123e4567-e89b-12d3-a456-426614174000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID('123e456-e89b-12d3-a456-426614174000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID('zzze4567-e89b-12d3-a456-426614174000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID('123e4567e89b12d3a4564266141740')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID('123e4567e89b12d3a45642661417400000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID(98765)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID(UNHEX('123e4567e89b12d3a456426614174000'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID(NULLIF('a','a'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID(' ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID('xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID('123E4567-E89B-12D3-A456-426614174000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID(CAST(12345 AS CHAR))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID('2000-01-01 12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID(0x123e4567e89b12d3a456426614174000)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID(3.14159)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IS_UUID(CONCAT('123e4567','e89b12d3a456426614174000'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "json_array": [ + { + "sql": "SELECT json_array()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_array(1, '2', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_array(TRUE, FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_array(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_array(json_array('a', 'b'), 'c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_array('a\\nb', 'c\\\"d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_array(-5, 3.14)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_array(1, 'test', NULL, TRUE, 4.5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_array(1+2, CONCAT('a','b'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_array('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_array('üñîçø∂é')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_array(DATE '2023-01-01', TIME '12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_array(X'4D7953514C')", + "args": null, + "pass": false, + "known": true, + "comment": "type code difference" + }, + { + "sql": "SELECT json_array(JSON_UNQUOTE('null'), NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_array(json_object('key', 'value'), json_array(1,2))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_array(999999999999999999, 1e30)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/58894" + }, + { + "sql": "SELECT json_array(0, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_array('0123', 123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_array('a\\tb', 'c\\\\d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_array(123, 45.67, 8e3)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/58894" + }, + { + "sql": "SELECT json_array(1, 'a', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_array('\\u00E4\\u00F6\\u00FC')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_array(TIMESTAMP '2024-01-01 23:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_array(CAST('2024' AS YEAR))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_array(1/0, 0/0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_array(1, '1', TRUE, 'TRUE')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_array(JSON_EXTRACT('{}','$'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_array(1, (SELECT 2 FROM DUAL))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_array(INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_array(GEOMFROMTEXT('POINT(1 1)'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_array(1, (CASE WHEN 1=2 THEN 3 END))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_array(1, (1 IN (1,2,3)))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_array(1, @var:=2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "json_array_append": [ + { + "sql": "SELECT JSON_ARRAY_APPEND('{\"a\": 5}', '$.a', 6)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('[1, [2, 3]]', '$[1]', 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('[true]', '$', FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('null', '$', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('{\"x\": {\"y\": 5}}', '$.x.y', 6)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND(JSON_ARRAY_APPEND('[1]', '$', 2), '$', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('[\"test\"]', '$', 'new\\\\nline')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('[]', '$', DATE '2023-10-04')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('[1]', '$', JSON_ARRAY(2, 3))", + "args": null, + "pass": true, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59465" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('{\"key with space\": [1]}', '$.\"key with space\"', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('{}', '$.newKey', 'newValue')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('1.5', '$', 2.5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('{\"a\":1}', '$.b', 10)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('\"string\"', '$', 42)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('[{\"k\": \"v\"}]', '$[0].k', 'new')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('[1, \"a\", true]', '$', FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('{}', '$.a', JSON_ARRAY(1, 2))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('[\"a\", null]', '$', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('{\"arr\":[]}', '$.arr', 'element')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('true', '$', FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('{\"a\":5}', '$.b', 10)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('[1, [2, [3]]]', '$[1][1]', 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('[1, \"text\"]', '$', TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('[1]', '$', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('invalid', '$', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('5', '$', 6)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND(JSON_ARRAY_APPEND('[]', '$', 1), '$', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('{\"key.with.dots\": [1]}', '$.\"key.with.dots\"', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('false', '$', TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('[]', '$', DATE '2023-10-05')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('[1, 2]', '$', '3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('null', '$', 'value')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('{\"a\": {}}', '$.a', 'b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('{\"a\": {\"b\": {\"c\": []}}}', '$.a.b.c', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('[1, 2, 3]', '1', 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND(JSON_EXTRACT('{\"x\": [1]}', '$.x'), '$', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('[{\"a\":1}]', '$[0].a', 'text')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_APPEND('[\"a\\\\\"b\"]', '$', 'c\"d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "json_array_insert": [ + { + "sql": "SELECT JSON_ARRAY_INSERT('[]', '$[0]', 'value')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_INSERT('[\"a\"]', '$[1]', 10)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_INSERT('[1, [2, 3], 4]', '$[1][2]', 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_INSERT('[\"a\",\"b\"]', '$[1]', 'x', '$[3]', 'y')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_INSERT('[\"test\"]', '$[0]', TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_INSERT('[1]', '$[1]', '2023-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_INSERT(NULL, '$[0]', 'a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_INSERT('[]', NULL, 123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_INSERT('[\"x\"]', '$[1]', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_INSERT('[1, 2, 3]', '$[5]', 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_INSERT('[1, 2, 3]', '$[-1]', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_INSERT('[1, 2, 3]', '$[1.5]', 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_INSERT('[]', '$[0]', 'Line\\\\nBreak')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_INSERT('[]', '$[0]', 'café')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_INSERT('[]', '$[0]', JSON_OBJECT('key', 'value'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_INSERT('[\"a\"]', '$[0]', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_INSERT('[1, \"b\", true]', '$[3]', NULL, '$[0]', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_INSERT('[1, {\"a\": [5, 6]}, 3]', '$[1].a[1]', 7)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_INSERT('[]', '$[0]', 42, '$[1]', 'text', '$[2]', TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY_INSERT(NULL, NULL, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "json_contains": [ + { + "sql": "SELECT JSON_CONTAINS('{\"a\": [1, 2.5, true]}', '2.5', '$.a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('null', 'null')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('{\"b\": {\"c\": [\"x\"]}}', '\"x\"', '$.b.c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('[1, [2, 3]]', '3', '$[1]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('5', '5')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('{}', '0', '$.non_existent')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('{\"k\": [\"\\u0000\"]}', '\"\\u0000\"', '$.k')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('{\"d\": [1, \"1\"]}', '1', '$.d[1]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('[]', CAST(NULL AS JSON))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('[true, false]', 'false')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('[[\"a\"], {\"b\": 7}]', '\"a\"', '$[0][0]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('{\"n\": [{\"x\": 8}, {\"x\": 9}]}', '8', '$.n[*].x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('\"text\"', '\"text\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('{\"e\": [1E3]}', '1000', '$.e')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('{\"f\": [{\"g\": [10]}]}', '10', '$.f[0].g')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS(CAST(NULL AS JSON), '[1]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('{\"h\": \"2023-01-01\"}', '\"2023-01-01\"', '$.h')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('[-0.0, 0.0]', '0.0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('{\"i\": [{\"j\": [{}]}]}', '{}', '$.i[0].j[0]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('{\"esc\": \"\\\\\"}','\"\\\\\"','$.esc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('[{\"a\":true}, null]', 'null', '$[1]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('{\"d\":[1,\"1\"]}', '1', '$.d[1]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS(CAST('[1,2]' AS JSON), CAST('3' AS JSON))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('{\"g\":{\"h\":[[[]]]}}', '[]', '$.g.h[0][0]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('[-0,0.0]', '0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('{\"esc\":\"\\\\\"}','\"\\\\\"','$.esc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('\"INF\"', 'Infinity')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('{\"b\":[{\"c\":\"á\"}]}', '\"\\u00e1\"', '$.b[0].c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('{\"emoji\":\"😀\"}','\"\\uD83D\\uDE00\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS(CONCAT('{\"x\":',FLOOR(1),'}'), '1', '$.x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('[\"\\n\\t\\r\"]', '\"\\n\\t\\r\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('\"9223372036854775807\"', CAST(9223372036854775807 AS JSON))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('{\"\\u0000\":0}', '0', '$.\"\\u0000\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('[\"1.00\"]', CAST(1.0 AS CHAR))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('{\"hex\":255}', '0xff', '$.hex')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('[TIME \"12:34:56\"]', '\"12:34:56\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS(JSON_ARRAY(1,2), JSON_EXTRACT('{\"a\":3}', '$.a'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('{\"d\":[1E2]}', '100', '$.d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS(JSON_OBJECT('k', CAST('null' AS JSON)), 'null')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS('{\"m\":[+0.0]}', '-0.0', '$.m')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "json_contains_path": [ + { + "sql": "SELECT JSON_CONTAINS_PATH('{\"a\": 1}', 'one', '$.a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS_PATH('{\"a\": 1, \"b\": 2}', 'all', '$.a', '$.b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS_PATH('[1, 2, 3]', 'one', '$[0]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS_PATH('invalid_json', 'one', '$.a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS_PATH(123, 'one', '$')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS_PATH(NULL, 'one', '$.a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS_PATH('{\"a\": null}', 'one', '$.a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS_PATH('{\"a\": {\"b\": 2}}', 'all', '$.a.b', '$.a.c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS_PATH('{}', 'one', '$.a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS_PATH('{\"a\": 1}', 'all', '$.a', '$.b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS_PATH('{\"a\": 1}', NULL, '$.a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS_PATH('{\"a\": 1}', 'one', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS_PATH('{\"0\": 1}', 'one', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS_PATH('{\"a\": 1}', 'one', '$.a', '$.b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS_PATH('\"string\"', 'one', '$')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS_PATH('true', 'one', '$')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS_PATH('{\"a\\\"b\": 1}', 'one', '$.\"a\\\\\"b\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS_PATH('{\"a\": [1, 2]}', 'one', '$.a[1]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS_PATH('{\"a\": 1}', 'one', '$.a', '$.a.b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_CONTAINS_PATH('{\"x\": {\"y\": {\"z\": 3}}}', 'all', '$.x.y.z', '$.x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "json_depth": [ + { + "sql": "SELECT JSON_DEPTH(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH('{}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH('[]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH('{\"a\": {\"b\": {}}}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH('[1, [2, [3]]]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH(10)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59462" + }, + { + "sql": "SELECT JSON_DEPTH('true')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH('null')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH('[[[[[]]]]]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH('{\"a\": [{\"b\": []}]}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH(CAST('{\"x\": 5}' AS JSON))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH('5')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH('\"string\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH(JSON_OBJECT('key', JSON_ARRAY()))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH(JSON_ARRAY(1, JSON_OBJECT('a', JSON_ARRAY(2))))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH('[1, {\"a\": [2, {\"b\": 3}]}]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH('{\"a\": 1, \"b\": {\"c\": {\"d\": {\"e\": 2}}}}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH(TRUE)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59462" + }, + { + "sql": "SELECT JSON_DEPTH('{\"key\": \"value\\\"with\\\"escapes\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH('{\"a\": [1, [2, [3, [4]]]]}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH('{\"a\": {\"b\": {\"c\": {}}}}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH('[1, [[2], [3]]]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH('\"escaped\\\"quote\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH(JSON_ARRAY(JSON_OBJECT('x', JSON_ARRAY())))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH('{\"a\": [1, {\"b\": {\"c\": [2]}}]}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH('false')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH(JSON_QUOTE('text'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH('[[[{\"k\": {}}]]]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH('{\"x\": {\"y\": []}}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH(CAST('[]' AS JSON))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH(JSON_EXTRACT('{\"a\":[{\"b\":1}]}', '$.a'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH('{\"\": {\"\": {\"\": {}}}}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH(CONCAT('{\"v\":', '42}'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH('\"\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_DEPTH(JSON_MERGE_PRESERVE('[]', '{}'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "json_extract": [ + { + "sql": "SELECT JSON_EXTRACT(NULL, '$.a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_EXTRACT('{\"\\\"key\" : 1}', '$.\"\\\"key\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_EXTRACT(12345, '$')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_EXTRACT('{\"a\": [null]}', '$.a[0]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_EXTRACT('{}', '$.nonexistent[*]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_EXTRACT('2023-01-01', '$.date')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_EXTRACT('[1,', '$[0]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_EXTRACT('true', '$')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_EXTRACT('{\"a\": {\"b\": {\"c\": []}}}', '$.a.b.c[3]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_EXTRACT('\"escaped\\\"quote\"', '$')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_EXTRACT(CAST('{\"num\": 3.14}' AS BINARY), '$.num')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_EXTRACT('{\"key\": \"☃\"}', '$.key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_EXTRACT('{\"1\": true}', '$.\"1\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_EXTRACT('[[[[[[[]]]]]]]', '$[0][0][0][0][0][0]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_EXTRACT('{\"a\":12}', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_EXTRACT('\"INFINITY\"', '$')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_EXTRACT('{\"k1\": 1, \"k2\": [2, {\"k3\": 3}]}', '$.*')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_EXTRACT('\"\\\\u0000\"', '$')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_EXTRACT(0x7B22686578223A3078307D, '$.hex')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_EXTRACT('{\"\": \"empty\"}', '$.\"\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "json_insert": [ + { + "sql": "SELECT JSON_INSERT(NULL, '$.a', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{}', NULL, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{}', '$.key', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT(123, '$.a', 'test')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59462" + }, + { + "sql": "SELECT JSON_INSERT('invalid_json', '$.key', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{}', '$.a', 1, '$.b', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{}', '$.a.b.c', 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{\"arr\": [1, 2]}', '$.arr[2]', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{}', '$.a', TRUE, '$.b', 'text')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{}', '$.arr', JSON_ARRAY(1, 2))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{}', '$.\"key.with.dots\"', 'value')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{}', '$.date', DATE('2023-10-04'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{}', '$.bin', X'1234')", + "args": null, + "pass": false, + "known": true, + "comment": "json binary type issue" + }, + { + "sql": "SELECT JSON_INSERT('{}', '$.\"key with space\"', 42)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('42', '$.a', 10)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{\"a\": [{}]}', '$.a[*].b', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{}', '', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{}', '$', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{}', '$.num', 1.7976931348623157E+308)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/58894" + }, + { + "sql": "SELECT JSON_INSERT('{}', '$.num', '123.45')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT(NULL, '$.x', 'val')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('[]', '$.invalid_path', 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{\"a\":1}', '$.a', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT(CAST(42 AS JSON), '$.meta', 'data')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{}', '$.utf8', '✓')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{}', '$.escape', '\\\"quoted\\\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{}', '$.nested', JSON_OBJECT('k', 1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{}', '$.time', TIME('12:34:56'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{}', '$.unicode', '😀')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{}', '$.zero', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{}', '$.negative', -1.5e-3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{}', '$.bool', FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{}', '$.overlap', '$.path')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{}', '$.backslash', '\\\\')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{}', '$[0]', 'array_insert')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{}', '$.dot.key', JSON_EXTRACT('{}', '$'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{}', '$.empty_str', '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{}', '$.nan', 0/0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_INSERT('{}', '$.inf', 1/0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "json_keys": [ + { + "sql": "SELECT JSON_KEYS('{\"a\": 1, \"b\": {\"c\": 2}}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS('[1, 2, 3]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS('123')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS('\"string\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS(123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS('{}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS(JSON_OBJECT('key1', 1, 'key2', 2))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS('{\"\": \"empty key\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS('{\"key-with-dash\": 5}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS('{\"1\": \"numeric key\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS('\"2024-05-21\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS(CONCAT('{\"', 'a', '\": 1}'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS(BINARY '{\"a\": 1}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS('{\"a\": 1, \"a\": 2}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS('null')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS('{\"\\\\\"key\\\\\"\": \"value\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS(123.45)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS('true')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS('{\"x\": {\"y\": [1,2]}, \"z\": true}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS('{\"特殊\": \"keys\", \"☯\": 3}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS(CAST('{\"a\":5}' AS BLOB))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS('{\"k1\": 1, \"k2\": {\"k3\": 2}}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS('invalid_json')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS(0x7B226B223A317D)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS('{\"key\": \"val\", \"key\": 5}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS('{\"\\u2603\": \"unicode\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS(JSON_EXTRACT('{\"a\":1}', '$.a'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS('{\"a\":1, \"b\":2}') COLLATE utf8mb4_bin", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS('{\"a,b\": 3}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS(UNHEX('7B226B6579223A317D'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS('{\"k.ey\": 4}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS(CHAR(123,34,97,34,58,49,125))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS('{\"line\\nbreak\": 6}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS('{\"tab\\tchar\": 7}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS('{\"backslash\\\\key\": 8}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS('{\"emoji🔑\": 9}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS('{\"sp ace\": 10}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_KEYS('{\"\\\"quote\\\"\": 11}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "json_length": [ + { + "sql": "SELECT JSON_LENGTH(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH('null')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH(123)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59462" + }, + { + "sql": "SELECT JSON_LENGTH('{\"a\": [1, 2, 3]}', '$.a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH('5')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH('[]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH('{}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH('true')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH('\"hello\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH('{\"b\": null}', '$.b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH('{\"c\": {\"d\": [7]}}', '$.c.d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH('[1, \"two\", {\"three\": 3}]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH('{\"k\": [4, 5, 6]}', '$.k[2]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH('{\"x\": 1, \"y\": 2}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH(123.45)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59462" + }, + { + "sql": "SELECT JSON_LENGTH('{\"m\": []}', '$.m')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH('{\"f\": [1,2,3,4]}', '$.f')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH('{\"g\": \"value\"}', '$.nonexistent')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH('{\"h\": true}', 123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH(CAST('{\"i\": 0}' AS BINARY))", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59462" + }, + { + "sql": "SELECT JSON_LENGTH('{\"k\": false}','$.k')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH('\"escaped\\\"quote\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH('[,,]',1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH('{\"a\":{\"b\":{}}}','$.a.b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH('{\"a\":[0,{},[]]}','$.a[1]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH(CONVERT('{}' USING utf8mb4))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH('{\"\\u0000\":1}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH(JSON_ARRAY(JSON_OBJECT()))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH('[1,2,3]','$[2147483647]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH(CAST('[{\"z\":[]}]' AS CHAR))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH('{\"\":\"\"}','$.\"\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH('{\"a\":1}','')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH('[\"\\uD83D\\uDE00\"]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH('{}')+NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH('[[[[[]]]]]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_LENGTH('{\"\\t\":\"\\r\"}','$.\\t')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "json_merge": [ + { + "sql": "SELECT JSON_MERGE(NULL, '{\"a\": 1}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE('{\"b\": 2}', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE(123, '45')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE('\"text\"', '{\"c\": true}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE('[1, 2]', '3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE('[]', '[]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE('null', 'null')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE('true', 'false')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE('1e3', '3.14')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/58894" + }, + { + "sql": "SELECT JSON_MERGE('{\"a\": 1}', '{\"a\": 2}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE('{}', '{\"b\": [4,5]}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE('{\"x\": null}', '{\"x\": \"value\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE(CAST(456 AS JSON), '{\"d\": \"test\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE('[\"a\", \"b\"]', '{\"key\": \"val\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE('{}', '[]', '3', 'false', 'null')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE(0, '0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE('{\"escaped\": \"quote\\\"here\"}', '{\"escaped\": \"slash\\\\\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE(JSON_ARRAY(1,2), JSON_OBJECT('key', 'value'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE('{\"nested\": {\"a\": 1}}', '{\"nested\": {\"b\": 2}}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE('\"\"', '{\"empty\": \"\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE('{\"a\":[1]}', '{\"a\":2}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE(TRUE, '{\"flag\":FALSE}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE('\"2023-01-01\"', '{\"date\":\"2024-01-01\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE(JSON_EXTRACT('{\"x\":8}', '$.x'), '5')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE('{\"k\":\"v\"}', '{\"k\":[null]}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE(0x7B22686578223A3132337D, '123')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE('{\"a\":{\"b\":{}}}', '{\"a\":{\"b\":[]}}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE(UNHEX('7B226B223A317D'), '{\"k\":2}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE('\"\\\\u2603\"', '{\"snowman\":\"☃\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE(JSON_ARRAY(JSON_OBJECT()), '{}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE('{\"@\":\"#\"}', '{\"$\":\"%\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE('{\"\\u0000\":1}', '{\"\\u0000\":2}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE(1.7976931348623157E308, '1e309')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE('18446744073709551615', '-1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE('{\"\":\"empty\"}', '{\" \":\"space\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE('[\"\\uDFFF\"]', '[\"\\uD800\"]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE(JSON_QUOTE('plain'), '\"json\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE('[\"\\n\\r\\t\\b\\f\"]', '{\"esc\":\"\\\"\\\\\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE('9223372036854775807', '9223372036854775808')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "json_merge_patch": [ + { + "sql": "SELECT JSON_MERGE_PATCH('{\"a\": 1}', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PATCH('{\"a\": {\"b\": [1,2]}}', '{\"a\": {\"b\": null}}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PATCH('{\"x\": \"\\\\\"\"}', '{\"x\": \"text\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PATCH(123, '{\"num\": 456}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PATCH('{\"k1\": true}', '{\"k1\": \"false\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PATCH('[]', '{\"a\": 1}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PATCH('{\"d\": 3.14}', '{\"d\": -5}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PATCH('{\"esc\": \"\\\\n\\\\t\"}', '{\"esc\": \"\\\"\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PATCH('{\"a\": 1}', '{\"a\": [{\"b\": 2}]}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PATCH('{\"a\": 1}', '{\"b\": NULL}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PATCH('{\"x\": \"2000-01-01\"}', '{\"x\": 0}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PATCH(CAST('null' AS JSON), '{\"k\": 1}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PATCH('{\"a\": 1}', '{\"a\": {\"$invalid\": true}}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PATCH('{\"\\u0000\": 1}', '{\"\\u0000\": 2}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PATCH('{\"a\": 1}', '{}', '{\"a\": 2}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PATCH('{\"a\": 1e400}', '{\"a\": 0}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PATCH('{\"a\": \"ÿ\"}', '{\"a\": 1}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PATCH('{\"a\": {\"$date\": 1}}', '{\"a\": {\"$numberLong\": 2}}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PATCH('{\"a\": 1}', '{\"a\": 1.7976931348623157E+308}')", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT JSON_MERGE_PATCH('{\"a\": 1}', '{\"a\": 18446744073709551615}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "json_merge_preserve": [ + { + "sql": "SELECT JSON_MERGE_PRESERVE(NULL, '{\"a\": 1}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('{}', '[]', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('{\"a\": 1}', 123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('\"scalar\"', '{\"key\": true}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('[1,2]', '[3,4,2]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('{\"a\": null}', '{\"a\": [1]}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('\"\"', '{}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('12.34', 'true')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('{\"k\": \"v\\\"\"}', '{\"k\": 5}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE(CAST('[]' AS JSON), CAST('{}' AS JSON))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('[]', '{\"\": \"\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('InvalidJSON', '{\"x\": 7}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('{\"\\\\u0000\": 0}', '{\"\\\\uFFFF\": 1}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('{\"a\": {\"b\": {\"c\": []}}}', '{\"a\": [5]}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('1e500', '{\"num\": -0}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('{\"date\": \"2020-01-01\"}', '{\"time\": \"12:00:00\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('{\"x\": \"\t\"}', '{\"y\": \"\\\\n\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('{}', '{}', '{}', '{}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('{\"dupe\": 1}', '{\"dupe\": 1}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('{\"@\": \"#$\"}', '{\"\u0026\": \"!\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('{}', NULL, '[true]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('\"\\u0007\"', '{\"bell\": 1}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE(3.1415, '{\"pi\": false}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('{\"a\":[NULL]}', '{\"a\":{\"b\":\"\"}}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('[1,1,1]', '{\"arr\":[2]}', '[]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('{\\\"\\\":0}', '{\"\\\\\"\":\"quote\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('{\"\":{\"\":{\"\":\"test\"}}}', '{\"\":7}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('2023-01-01', '\"date\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('{\"esc\\\"\\/\":\"val\"}', '{\"slash\\\\\":1}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE(CAST('false' AS JSON), CAST('{\"bool\":1}' AS JSON))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('{\\n\"tab\":\"\\t\"}', '{\"newline\":\"\\n\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('{\"重复\":\"键\"}', '{\"重复\":\"值\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('[]','[]','[]','[]','[]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('\"±!@#$%^\u0026*()\"', '{\"symbols\":\"{}[]\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('{\"a\":[{\"b\":[]}]}', '{\"a\":\"override\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('\"INF\"', '{\"num\":\"NaN\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_MERGE_PRESERVE('{\"\":{\"\":{}}}', '{\"\":{\"\":{\"\":null}}}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "json_object": [ + { + "sql": "SELECT JSON_OBJECT(123, 'value')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('escaped', 'quote\\\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('newline', 'line\\nbreak')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('boolean', TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('null_val', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT(NULL, 'invalid_key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('', 'empty_key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('key', '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('nested', JSON_OBJECT('inner', 42))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('float', 3.14)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('special', '\\\\/\\b\\f\\r\\t')", + "args": null, + "pass": true, + "known": true, + "comment": "One returns \\b, another return \\u0008. It's actually the same." + }, + { + "sql": "SELECT JSON_OBJECT('unicode', 'üñîçøðé')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('zero', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('negative', -5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('true_key', 'true')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('quote', 'single\\'quote')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('array', JSON_ARRAY(1, 'a', NULL))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT(456.78, 'float_key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('date', CAST('2023-01-01' AS DATE))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('mixed', CONCAT(1, 'text'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT(TRUE, 'boolean_key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('backslash', '\\\\\\'escaped')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('tab', '\tseparated')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('date', DATE('2023-01-01'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('time', TIME('12:34:56'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('explicit_null', CAST(NULL AS JSON))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('space', ' ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('overlap', JSON_OBJECT('self', JSON_OBJECT()))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('infinity', 1/0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('NaN', 0/0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('repeat', REPEAT('a',1000))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('pi', PI())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('exp', EXP(1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OBJECT('utf8mb4', _utf8mb4'😀')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "json_overlaps": [ + { + "sql": "SELECT JSON_OVERLAPS(NULL, JSON_OBJECT('key', 'value'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OVERLAPS(JSON_ARRAY(1, 2, 3), JSON_ARRAY(3, 4, 5))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OVERLAPS(JSON_OBJECT('a', 1), JSON_OBJECT('a', 1, 'b', 2))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OVERLAPS('5', 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OVERLAPS('true', true)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OVERLAPS('[1, \"1\"]', '[1]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OVERLAPS(JSON_EXTRACT('{\"a\": [1,2]}', '$.a'), JSON_ARRAY(2))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OVERLAPS('{\"a\": 1}', '{\"a\": 2}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OVERLAPS(JSON_ARRAY(), JSON_ARRAY())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OVERLAPS(JSON_OBJECT(), JSON_OBJECT())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OVERLAPS(JSON_ARRAY(1, 1), JSON_ARRAY(1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OVERLAPS(JSON_ARRAY(1), 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OVERLAPS('\"\\\\u0031\"', '1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OVERLAPS(JSON_ARRAY(true), JSON_ARRAY(1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OVERLAPS(JSON_ARRAY(NULL), JSON_ARRAY(NULL))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OVERLAPS('[{\"x\": \"y\"}]', '[{\"x\":\"y\"}]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OVERLAPS(JSON_ARRAY(1, 2), CAST('[1,2]' AS JSON))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OVERLAPS('{\"key\": \"value\"}', '{\"KEY\": \"VALUE\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OVERLAPS(JSON_ARRAY(1, JSON_ARRAY(2, 3)), JSON_ARRAY(JSON_ARRAY(2, 3), 4))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_OVERLAPS('\"string\"', '\"string\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "json_quote": [ + { + "sql": "SELECT JSON_QUOTE(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_QUOTE(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_QUOTE(X'7B')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59462" + }, + { + "sql": "SELECT JSON_QUOTE(DATE '2023-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_QUOTE('\"\\')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_QUOTE(1.23e+5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_QUOTE('日本語')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_QUOTE(BINARY '\\0\\x1F')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59462" + }, + { + "sql": "SELECT JSON_QUOTE(TIME '12:34:56.789')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_QUOTE(CHAR(128 USING utf8mb4))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_QUOTE('Line\\nBreak')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_QUOTE('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_QUOTE(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_QUOTE(-18446744073709551615)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_QUOTE('{\"key\":null}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_QUOTE('\\\\\\\\')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_QUOTE(0xDEADBEEF)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59462" + }, + { + "sql": "SELECT JSON_QUOTE('🤖📀')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_QUOTE(1/0)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59464" + }, + { + "sql": "SELECT JSON_QUOTE(CAST('2001:db8::1' AS CHAR))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_QUOTE(1E+30)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_QUOTE(TIMESTAMP '2023-01-01 12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_QUOTE('\\'\\\\')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_QUOTE(_utf8mb4'𐍈')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_QUOTE(JSON_QUOTE('nested'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_QUOTE(ENUM('a','b'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_QUOTE('Multi\\tLine')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_QUOTE('😈')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_QUOTE(CAST(9223372036854775807 AS UNSIGNED))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_QUOTE('line\\r\\nend')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_QUOTE(10 DIV 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_QUOTE(GEOMFROMTEXT('POINT(1 1)'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_QUOTE('undefined')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_QUOTE('\\\\\"\\b\\f')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "json_remove": [ + { + "sql": "SELECT JSON_REMOVE('{\"a\": 1, \"b\": 2}', '$.a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('[1, 2, 3]', '$[1]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('{\"a\": {\"b\": 3}}', '$.a.b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('{\"a\":1, \"b\":2, \"c\":3}', '$.a', '$.c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE(NULL, '$.key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('{\"a\":1}', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('{\"a\":1}', '$.b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('[0, 1, 2]', '$[3]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('{\"1\": \"value\"}', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('{\"a\": true, \"b\": null}', '$.a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('[1, 2, 3, 4]', '$[0]', '$[2]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('{\"a\": [{\"b\": 5}, {\"c\": 6}]}', '$.a[0].b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('{\"key\": \"value\\\"with\\\"quotes\"}', '$.key')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('{\"a\":1, \"b\":2}', '$.a', '$.c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('[1, 2, 3]', '$[2]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('{\"a\":1}', '$')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('{\"flag\": true}', '$.flag')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('{\"0\": \"zero\", \"1\": \"one\"}', '$.\"0\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('{\"x\": {\"y\": {\"z\": [10, 20, 30]}}}', '$.x.y.z[1]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('{\"arr\": [1, [2, 3], 4]}', '$.arr[1][0]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('{\"nested\":{\"a\":[{\"b\":true},5]}}', '$.nested.a[0].b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('123', '$[0]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('\"text\"', '$')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('{\"escape\":\"line\\nbreak\"}', '$.escape')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('{\"mixed\":{\"1\":\"num\",\"a\":\"alpha\"}}', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('[null,false,true]', '$[0]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('{\"sp€cial\":\"char\"}', '$.sp€cial')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('{}', '$.non')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('{\"a\":{\"\":\"empty\"}}', '$.a.')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('{\"a.b\":3}', '$.\"a.b\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('{\"dupe\":1, \"dupe\":2}', '$.dupe')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('{\"deep\":[[[[[9]]]]]}', '$.deep[0][0][0][0][0]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('[\"unclosed, \"string]', '$[0]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE(CONCAT('[',REPEAT('1,',1000),'2]'), '$[500]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('{\"金额\":100}', '$.金额')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('{\"1.5\":\"decimal\"}', '$.1.5')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('{\"back\\\\slash\":\"value\"}', '$.back\\\\slash')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('{\"emoji\":\"😊\"}', '$.emoji')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_REMOVE('[\"\"]', '$[0]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "json_replace": [ + { + "sql": "SELECT json_replace(NULL, '$.key', 'value')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('{\"a\":1}', NULL, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('{\"5\":\"five\"}', '$.5', 10)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('{}', '$.a', 'b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('[1,2,3]', '$[1]', 'two')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('{\"x\":\"y\"}', '$.x', 'a\\\"b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('{\"flag\":true}', '$.flag', false)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace(123, '$', 456)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59462" + }, + { + "sql": "SELECT json_replace('{\"a\":1}', '$', '{\"b\":2}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('{\"arr\":[1,{\"k\":\"v\"}]}', '$.arr[1].k', 'new')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('{\"a\":1, \"b\":2}', '$.a', 10, '$.b', 20)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('{\"x\":5}', '$.x', null)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('{\"a\":{\"b\":{\"c\":1}}}', '$.a.b.c', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('{\"a.b\":1}', '$.\"a.b\"', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('[1, \"two\", 3]', '$[1]', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('{\"a\":\"\"}', '$.a', 'empty')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('{\"k\":[0,1]}', '$.k[0]', 9)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('{\"num\":\"123\"}', '$.num', 456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('{\"d\":\"2024-01-01\"}', '$.d', '2025-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('{\"esc\\\\aped\":\"value\"}', '$.esc\\\\aped', 'new')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace(NULL, '$.a', 10)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('[true, false]', '$[0]', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('{\"k\":{\"\":\"empty\"}}', '$.k.\"\"', 'full')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('\"hello\"', '$', '{\"msg\":\"world\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('{', '$.broken', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('{\"1e3\":\"sci\"}', '$.\"1e3\"', 1000)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('{\"a\":{\"b\":[]}}', '$.a.b[0]', 99)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace(CAST('[{\"x\":0}]' AS JSON), '$[0].x', -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('{\"special\":\"\\u0026\"}', '$.special', '\u0026')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('{\"esc\\\"quote\":\"val\"}', '$.esc\"quote', 'new')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('{\"inf\":1e999}', '$.inf', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('{\"num\":5.8}', '$.num', 'five')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('{\"hex\":0x1a}', '$.hex', 26)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('{\"date\":\"2024-02-29\"}', '$.date', '2025-03-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('[\"\\t\\n\"]', '$[0]', 'tab')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('{\"π\":3.14}', '$.\"π\"', 3.14159)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace(FORMAT('{}'), '$.', 'invalid')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('{\"overlap\":1}', '$.overlap', '\"OVERLAP\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT json_replace('{\"\\U+1F600\":\"joy\"}', '$.\\\"\\U+1F600\\\"', '😂')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "json_schema_valid": [ + { + "sql": "SELECT JSON_SCHEMA_VALID('{\"type\": \"object\"}', '{\"a\": 1}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('{\"type\": \"array\"}', '{\"key\": \"value\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID(NULL, '{}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('{\"type\": \"null\"}', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID(123, 456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('invalid', '{}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('', '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('{\"type\": \"string\"}', '42')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('{\"required\": [\"name\"]}', '{\"name\": true}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('{\"type\": \"number\", \"minimum\": 10}', '5')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('{\"type\": \"string\", \"format\": \"date\"}', '\"2023-10-05\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('{\"type\": [\"number\", \"string\"]}', '123')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('{\"type\": \"object\", \"properties\": {\"a\": {\"type\": \"object\", \"properties\": {\"b\": {\"type\": \"string\"}}}}}', '{\"a\": {\"b\": 5}}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('{\"type\": \"array\", \"items\": {\"type\": \"integer\"}}', '[1, \"two\"]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('{\"$schema\": \"http://json-schema.org/draft-07/schema#\", \"type\": \"boolean\"}', 'true')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('{\"enum\": [1, 2, 3]}', '4')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('{\"type\": \"string\", \"pattern\": \"^a\"}', '\"banana\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('{\"type\": \"object\", \"required\": [\"id\"], \"properties\": {\"id\": {\"type\": \"number\", \"minimum\": 1}}}', '{\"id\": 0}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('{\"oneOf\": [{\"type\": \"string\"}, {\"type\": \"number\"}]}', 'true')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('{\"type\": \"number\"}', '1e500')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('{\"not\": {\"type\": \"string\"}}', '123')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('{}', CAST(42 AS JSON))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('{\"const\": false}', '{\"key\": null}')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59623" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('\"schema\"', '\"document\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('{\"multipleOf\": 0.5}', '5')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('{\"allOf\": [{\"type\": \"number\"}, {\"minimum\": 5}]}', '3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('{\"maxProperties\": 2}', '{\"a\":1, \"b\":2, \"c\":3}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('{\"type\": \"integer\"}', '3.14')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('{\"uniqueItems\": true}', '[1, \"1\"]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('{\"anyOf\": [{\"type\": \"boolean\"}, {\"maxLength\": 3}]}', '\"test\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('{\"additionalProperties\": false}', '{\"extra\": true}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('{\"contentEncoding\": \"base64\"}', '\"dGVzdA==\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('{\"patternProperties\": {\"^a\": {\"type\": \"number\"}}}', '{\"a1\": \"text\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('{\"if\": {\"required\": [\"x\"]}, \"then\": {\"minimum\": 10}}', '{\"x\": 5}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SCHEMA_VALID('{\"dependencies\": {\"a\": \"b\"}}', '{\"a\": 1}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "json_search": [ + { + "sql": "SELECT JSON_SEARCH('{\"a\": 1}', 'all', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SEARCH(12345, 'one', '12345')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SEARCH('{\"b\": [\"x\", \"y\"]}', 'all', 'x', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SEARCH(NULL, 'one', 'test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SEARCH('{\"c\": {\"d\": \"e\"}}', 'all', 'e', '\\\\', '$.c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SEARCH('{\"f\": \"g\\\\\"h\"}', 'one', 'g\"h')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SEARCH('{\"arr\": [1, \"2\", true]}', 'all', 'true')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SEARCH('{\"k\": null}', 'one', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SEARCH('{\"m\": \"n\"}', 'all', 'n', '', '$.m')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SEARCH('{\"o\": \"p%q\"}', 'one', 'p%q', '^')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SEARCH(JSON_ARRAY('a', 'b'), 'all', 'a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SEARCH('{\"s\": \"t\\\\nu\"}', 'one', 't", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "u')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SEARCH('{\"u\": \"v\"}', 'all', 'v', '\\\\', '$.*')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SEARCH('{\"w\": [\"x\", {\"y\": \"z\"}]}', 'all', 'z', '\\\\', '$**.y')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SEARCH('{\"a\": {\"b\": {\"c\": \"d\"}}}', 'one', 'd', '\\\\', '$.a', '$.a.b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SEARCH('{\"g\": 123}', 'all', 123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SEARCH('{\"h\": \"i\"}', 'all', 'i', '\\\\', NULL)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59463" + }, + { + "sql": "SELECT JSON_SEARCH('', 'one', '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SEARCH('{\"j\": [1, 2, 3]}', 'all', '3', '\\\\', '$.j[*]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SEARCH('{\"e\": \"f\"}', 'all', 'f', DEFAULT)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "json_set": [ + { + "sql": "SELECT JSON_SET(NULL, '$.key', 'value')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SET('{}', '$.a', TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SET('{\"a\": 1}', '$.a', 'text')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SET('{}', '$.\"key.with.dots\"', 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SET('[1, 2]', '$[2]', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SET('{}', '$.x', 12.3, '$.y', -45)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SET('{}', '$.arr', JSON_ARRAY(1, 2))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SET('{\"obj\": {}}', '$.obj.prop', 99)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SET('5', '$', 6)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SET('[]', '$[0]', 'element')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SET('{}', '$.escaped', 'quote\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SET('{}', '$.unicode', 'åß∂')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SET('{}', '$[1]', 'test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SET('{\"a\": 1}', '$.b', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SET('{}', '$.multi.path', 123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SET('[\"a\", \"b\"]', '$[1]', JSON_OBJECT('c', 'd'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SET('{}', '$.flag1', TRUE, '$.flag2', FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SET('{}', '$.sum', 3 + 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SET('{\"num\": \"text\"}', '$.num', 456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SET('', '$.key', 'value')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SET('{\"a\": 1}', '$.a', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SET('{}', '$[last]', 'end')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59619" + }, + { + "sql": "SELECT JSON_SET('{\"b\": false}', '$.b', TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SET('[]', '$[2147483647]', 'max_int')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_SET('{}', '$.special\"chars', '\\'\\", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "json_type": [ + { + "sql": "SELECT JSON_TYPE('{\"key\": [1, {\"sub\": null}]}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_TYPE(CAST(12345 AS JSON))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_TYPE('\"\\\\u2022\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_TYPE('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_TYPE(0x7B7D)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_TYPE('{\"a\": 1.0e-5}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_TYPE('\"1970-01-01 00:00:00\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_TYPE(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_TYPE(JSON_QUOTE(''))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_TYPE(JSON_ARRAY(JSON_OBJECT(), JSON_ARRAY()))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_TYPE('{\"\\\\\"\": \"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_TYPE(X'7B226B6579223A2276616C7565227D')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_TYPE('123.')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_TYPE('\"\\n\\t\\f\\b\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_TYPE(JSON_MERGE_PATCH('[]', '{}'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_TYPE('18446744073709551615')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_TYPE('\"\\uD83D\\uDE00\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_TYPE(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_TYPE('\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_TYPE(JSON_TYPE('{}'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "json_unquote": [ + { + "sql": "SELECT JSON_UNQUOTE('\"Hello\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE(123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE('\"\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE('test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE('\"\\\"quote\\\"\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE('\"\\\\n\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE('\"\\\\u0031\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE('\"a\\\\\"b\\\\\\\\c\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE('\"123\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE(45.67)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE(BINARY '\"test\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE(CONCAT('\"', 'test', '\"'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE('\"\\\\\\\\\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE('\"test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE(DATE('2023-10-10'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE(CONCAT('\"', 123, '\"'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE('\"\\\"\\\"\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE('\"\\\\t\\\\r\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE('\"test\\\\\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE('\"123.45\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE(X'7B226B6579223A2276616C7565227D')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE(TIME('12:34:56'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE('\"\\uD83D\\uDE00\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE(CAST('\"text\"' AS CHAR))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE('\"{\"key\": \"val\\\\\"ue\"}\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE('\"\\\\u0000\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE(-456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE(JSON_EXTRACT('{\"a\":\"b\"}','$.a'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE('\"\\b\\f\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE(IFNULL(NULL,'\"fallback\"'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE('\"👨‍💻\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE('\"\\\\\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE(0x7B226B6579223A2276616C227D)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE('\"\\0\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE(CAST(123 AS CHAR))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_UNQUOTE('\"\\\\u00FF\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "json_valid": [ + { + "sql": "SELECT JSON_VALID('{\"key\": \"value\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID('invalid')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID(123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID('123')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID('true')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID('null')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID('[1, 2, 3]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID('{\"a\": 1, \"b\": [2, 3]}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID('{\"a\": \"b\",}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID('{\"a\": \"\\n\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID(CURDATE())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID('\"quoted\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID('12.34e5')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID('{\"key\": null}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID('{\"a\": 1, \"b\": 2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID('{\"\\\\u00E9\": \"é\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID(0x7B7D)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59462" + }, + { + "sql": "SELECT JSON_VALID('0123')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID('{\"a\": 1}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID('{\"b\":}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID(12345)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID('\"Hello, World!\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID('{\"x\": \"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID('[1,2,]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID('{\"escaped\": \"\\\\\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID('1.2e3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID('{\"\\u2603\": \"snowman\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID('{\"nested\": {\"a\": [\"b\"]}}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID('2023-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID('{\"trailing\": \"comma\",}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID('{\"mixed\": [1, \"2\"]}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID('{\"unicode\": \"\\u00ff\"}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_VALID('{\"numbers\": [0, -1, 0.5]}')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "last_day": [ + { + "sql": "SELECT LAST_DAY('2020-02-15')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('2024-05-20 23:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY(20240215)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('2024-02-30')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('2024/12/25')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('0000-00-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('2024-13-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY(CAST('2024-07-15' AS DATE))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('24-02-15')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('20240101')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY(DATE_ADD('2024-01-01', INTERVAL 1 MONTH))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('2024-12-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('2023-02-15')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('2024-04-01' + INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('2024-06-15T12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('9999-12-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('1000-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('2024-05-01' + INTERVAL 0 MONTH)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('2025-11-07 12:34:56.789')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY(19970101)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('2024-06-15') + INTERVAL 1 DAY", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('2038-01-19 03:14:07')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('2024-00-15')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('2024-02-29')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('202401')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('2024-05-32')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('2024-12-01' - INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY(CAST('2024-09-01' AS DATETIME))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('2024-11-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('2024-Feb-28')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('2024-04-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('2024-07-04 00:00:00.000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('2024-08-01' - INTERVAL 1 MONTH)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('2024-10-01' COLLATE utf8mb4_bin)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('2024-03-15' || ' extra text')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY(UNIX_TIMESTAMP('2024-12-25'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('2024-06-01' BETWEEN '2024-01-01' AND '2024-12-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_DAY('2024-07-15' + INTERVAL 1 WEEK)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "last_insert_id": [ + { + "sql": "SELECT LAST_INSERT_ID()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID('18446744073709551615')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID(0xFFFFFFFF)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID(1.9999999999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID(-42)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID(1/0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID('123ABC')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID(BINARY '456')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID(NULL + 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID(CHAR(51))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID(CAST('789' AS DECIMAL))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID(IFNULL(NULL, 2))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID(SYSDATE())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID(1 \u003c\u003c 60)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID(JSON_EXTRACT('{\"id\":7}', '$.id'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID(PI())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID(UNHEX('01'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID(0x1FFFFFFFFFFFFFFF)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID(3.141592653589793)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID(-32768)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID('0xABCD')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID(1e+30)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID('999999999999999999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID(X'01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID(0b1101)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID('12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID(CAST('123.45' AS FLOAT))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID(COALESCE(NULL,NULL))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID('1e3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID(POW(2,60))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID(JSON_UNQUOTE(JSON_OBJECT('id',5)))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID(CURDATE()+0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LAST_INSERT_ID(_utf8mb4'777')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "lcase": [ + { + "sql": "SELECT LCASE(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE(123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE(DATE '2024-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE(BINARY 'TEST')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE(CONCAT('A', NULL, 'B'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE('ÄÖÜ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE(0x41)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE(123.45E-3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE(CONCAT(12, 'AB'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE('ABC123')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE('HEL\\nLO')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE(' HELLO ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE(TIMESTAMP '2024-01-01 12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE(_latin1 'TEST' COLLATE latin1_bin)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE('A VERY LONG STRING WITH UPPERCASE LETTERS')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE(REVERSE('Hello'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE(IFNULL(NULL, 'DEFAULT'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE(DATE '2023-05-15')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE(BINARY 'MySQL')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE(CONCAT('SQL', NULL, 'DB'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE('ÇÉÀ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE(0x48)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE(987.65E+2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE(CONCAT(0x41, '1B'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE('XYZ789')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE('WOR\\tLD')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE(' SPACE ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE(1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE(TIMESTAMP '2023-12-31 23:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE(_utf8mb4 'COLLATION' COLLATE utf8mb4_0900_ai_ci)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE('MIXEDcase123!@#')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE(REPLACE('HeLLo','L','l'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LCASE(COALESCE(NULL, 'FALLBACK'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "least": [ + { + "sql": "SELECT LEAST(NULL, NULL, NULL);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEAST(5, '10');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEAST('2023-01-01', '2023-01-02');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEAST(NULL, 10);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEAST(-1, 0);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEAST(TRUE, FALSE);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEAST('apple', 'Banana');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEAST(5.5, '6');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEAST('1e3', 100);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEAST('010', 10);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEAST(0x10, 16);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEAST('12:34:56', '23:45:12');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEAST(2147483647, 9223372036854775807);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEAST(CHAR(255 USING utf8), 255);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEAST('0', -1);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEAST(0, '0');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEAST('5a', 10);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEAST(BINARY '5', '15');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEAST('', 0);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEAST('5', 0);", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "left": [ + { + "sql": "SELECT LEFT(12345, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEFT(12.345, 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEFT(NULL, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEFT('abcde', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEFT('abc', -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEFT('test', 100)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEFT('a\\nb\\tc', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEFT('àèìòù', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEFT(CURDATE(), 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEFT('abc', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEFT('xyz', '2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEFT(TRUE, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEFT(FALSE, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEFT('', 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEFT('🍕🍔', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEFT('abc', 2.9)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEFT('abcdef', CHAR_LENGTH('abc'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEFT('abcd', '3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEFT('abc', 0x32)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEFT('123.45', 2.5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "length": [ + { + "sql": "SELECT LENGTH('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LENGTH(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LENGTH(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LENGTH(123.45)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LENGTH(BINARY '\\0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LENGTH('\\t')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LENGTH(' ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LENGTH(CONCAT(123, 'abc'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LENGTH(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LENGTH(DATE '2023-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LENGTH(TIME '12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LENGTH(0x1234)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LENGTH(b'1010')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LENGTH(REPEAT('a', 255))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LENGTH('abc ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LENGTH(CONCAT('a', NULL))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LENGTH(CAST('text' AS BLOB))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LENGTH('ü')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LENGTH(1e3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LENGTH('\\\\')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "like": [ + { + "sql": "SELECT NULL LIKE 'abc%'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '100%' LIKE '100\\%' ESCAPE '\\'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 12345 LIKE '123%'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'a", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "b' LIKE 'a_b'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '' LIKE '%'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'AbC' LIKE 'a%c'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'a_b' LIKE 'a\\_b' ESCAPE '\\'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE '2023-10-05' LIKE '2023%'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'test123' LIKE 'te%t1_3'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BINARY 'AbC' LIKE 'a%c'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'a' LIKE 'abc%'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '100%' LIKE '100^%' ESCAPE '^'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'abcd' LIKE '__cd'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'a\\b' LIKE 'a%b'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '123' LIKE 12", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'abc' NOT LIKE 'xyz%'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'a\tb' LIKE 'a_b'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '' LIKE ''", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'abcdef' LIKE 'a%f'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT('abc' USING utf8mb4) LIKE 'A%'", + "args": null, + "pass": false, + "known": true, + "comment": "the default collation is different" + }, + { + "sql": "SELECT TRUE LIKE '%rue'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1023 LIKE '10%3'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'a\\nb' LIKE 'a_b'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL LIKE '%%'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 LIKE 'true'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'a\\\\b' LIKE 'a\\\\b' ESCAPE '\\'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE '2024-01-01' LIKE '2024%'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '12.34' LIKE '12%.3_4'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'a±' LIKE 'a_'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 12.34 LIKE '12.3%'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '日本語' LIKE '日%語'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'xyz' NOT LIKE 'x%'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(123 AS CHAR) LIKE '12%5'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'abcd' LIKE 'abcde%'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'a[]b' LIKE 'a\\[\\]b' ESCAPE '\\'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ' ' LIKE '_'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR(0) LIKE '\\x00'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT('123' USING utf8mb4) LIKE '12%'", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "ln": [ + { + "sql": "SELECT LN(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN(-1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN('abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN('2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN(1e0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN(1.7976931348623157E+308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN(1E-308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN(0x1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN(b'1111')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN(PI())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN('2023-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN(1/0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN(2,3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN(CHAR(49))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN('1E-500')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN(-5.5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN(' -3 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN(-0.1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN('invalid')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN(b'1010')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN(0x1A)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN('3.14')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN('2024-05-20')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN(JSON_EXTRACT('{}','$.d'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN(1,2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN(CHAR(50))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN(' -7.5 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN('INF')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LN(NOW()-NOW())", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "localtime": [ + { + "sql": "SELECT LOCALTIME()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME(6)", + "args": null, + "pass": false, + "known": true, + "comment": "related to millisec" + }, + { + "sql": "SELECT LOCALTIME('3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME('0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME(6.9)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME(-1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME(' 4 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME(3.1415)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME(0b110)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME('7')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME(0x1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME('5.5')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME('invalid')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME('6.0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME(1.9999999999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME(-5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME(2.71828)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME(0x0A)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME(999999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME('0x2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME(0b111)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME(POW(2,3))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME('3.1415')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME(6.0000)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME(' 6 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME('five')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME(1+TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME(CHAR(54))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME(0.999999999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME(2147483647)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME(NULL+5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME('7a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIME(SIGN(-100))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "localtimestamp": [ + { + "sql": "SELECT LOCALTIMESTAMP", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIMESTAMP()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIMESTAMP(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIMESTAMP(6)", + "args": null, + "pass": false, + "known": true, + "comment": "related to millisec" + }, + { + "sql": "SELECT LOCALTIMESTAMP(3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIMESTAMP(2 + 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIMESTAMP(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIMESTAMP('3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIMESTAMP(6.9)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIMESTAMP(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIMESTAMP(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIMESTAMP + 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIMESTAMP - INTERVAL 1 HOUR", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIMESTAMP(3) + INTERVAL 1 DAY", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(LOCALTIMESTAMP, 'Z')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_ADD(LOCALTIMESTAMP, INTERVAL 1 MONTH)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE WHEN LOCALTIMESTAMP IS NOT NULL THEN 1 ELSE 0 END", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIMESTAMP(CAST(3 AS UNSIGNED))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIMESTAMP(IFNULL(NULL, 4))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIMESTAMP(CHAR(54))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(LOCALTIMESTAMP, '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE WHEN LOCALTIMESTAMP IS NULL THEN 1 ELSE 0 END", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIMESTAMP(CAST(5 AS UNSIGNED))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIMESTAMP(IFNULL(NULL, 3))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCALTIMESTAMP(CHAR(53,54))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "locate": [ + { + "sql": "SELECT LOCATE(123, 'xyz456123789')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE('12', 123456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE(TRUE, 'true')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE('1', TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE(NULL, 'abcdef')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE('a', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE('a', 'abcdef', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE('a', 'abcdef', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE('a', 'abcdef', -3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE('a', 'abcdef', 10)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE('', 'test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE('test', '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE('', '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE('A', 'abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE('", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "', 'line1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "line2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE('b', 'abba', 1.9)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE('abcd', 'abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE('abc', 'abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE(' ', 'a b c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE('\\\\', 'path\\\\to\\\\file')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE(123, 'xyz456abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE('1a', 12345)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE(FALSE, '0false')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE('true', TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE('a', NULL, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE('a', 'abc', '2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE('\\\\', 'path\\\\file')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE('ab', 'abcd', -5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE('cd', 'abcdef', 3.2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE(' ', 'a b c d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE('12', 'abcd12ef', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE('xyz', 'XYZ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE(';', 'name;age;city')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE(0, 'zero0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOCATE('🤔', 'test🤔')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "log": [ + { + "sql": "SELECT LOG(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG(-5.5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG(NULL, 100)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG(1, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG('2', '8')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG(10, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG('invalid', 10)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG(0x0A, 1000)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG(3.14, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG(TRUE, FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG(1e-308, 1e308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG('2.718', '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG(16, 65536)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG(2, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG(-1, -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG(BINARY '10', '100')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG(0.0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG('\\t12', '12\\n')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG(1/0, 10)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG(EXP(1), EXP(1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG(0, 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG(-3, 25)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG(1, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG('e', 100)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG(0B1010, 0x1A)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG('abc', 50)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG(10, -1000)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG(2.71828, 7.389056)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG(0.000001, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG(FLOOR(2.9), POW(3,5))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG(1.0E-323, 1.0E308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG('0x0F', 15)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG('', 42)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG(UNHEX('31'), UNHEX('32'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG(SQRT(-1), 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG(CHAR(50), '100')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG(2, POW(2,53)+1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG('1.7976931348623157E+308', '2.2250738585072014E-308')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG(2, CONCAT('1','0'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "log10": [ + { + "sql": "SELECT LOG10(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10(-5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10('100')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10('abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10(1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10(10)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10(1e3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10(0.1)", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE representation issue" + }, + { + "sql": "SELECT LOG10(1e-308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10('2023-10-05')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10(1.7976931348623157e308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10(10 * 10)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10(100.5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10(0 + NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10('123.45')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10(1.0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10(1e100 / 1e99)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10(-1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10('1000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10('invalid')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10(100)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10(1e6)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10(0.01)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10(1e-200)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10(10 * 10 * 10)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10(1234.5678)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10(NULL + 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10(2.0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10(0x41)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG10(b'1010')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "log2": [ + { + "sql": "SELECT LOG2(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG2(-1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG2(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG2('16')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG2('0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG2(1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG2(2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG2(0.5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG2(POW(2, 30))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG2(3.141592653589793)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG2('ABC')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG2('8.0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG2(1e-308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG2(SQRT(16))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG2(CONCAT('2',''))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG2(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG2(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG2(0.0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG2(' 64 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG2(NULL + 8)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "lower": [ + { + "sql": "SELECT LOWER(12345)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOWER(123.456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOWER(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOWER(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOWER('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOWER(' TEST ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOWER('!@#$%^')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOWER('ÄÖÜ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOWER('AbCdEf')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOWER(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOWER(BINARY 'ABC')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOWER(DATE '2023-10-05')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOWER(CONCAT('HELLO', 'WORLD'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOWER('123ABC')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOWER('ABCDEFGHIJKLMNOPQRSTUVWXYZ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOWER('0000XYZ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOWER('TEST ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOWER('A!B@C#D')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOWER(CHAR(65))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOWER(X'4142')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "lpad": [ + { + "sql": "SELECT LPAD(123, 5, '0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD('test', -2, 'x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD('hello', 3, 'x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD(NULL, 5, 'abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD('abc', NULL, 'x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD('abc', 5, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD('abc', 5, '')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59447" + }, + { + "sql": "SELECT LPAD('a', 5, 'xyz')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD('test', 0, 'x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD('a', 10000, 'b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD('7', 3, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD(BINARY 'test', 6, 'X')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD(123.45, 8, '-')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD('text', 7, ' ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD('a', 5, 123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD('x', 5, 'abcdefgh')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD('a', 5, '\\n\\t')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD(NULL, NULL, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD(12345, '5', 'x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD('', 5, 'xx')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD(123, 0, '0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD('text', 10, 1234)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD('a', 5, CHAR(120))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD('abcd', 3, '##')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD(123.45, 2, '-')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD('x', -1, 'y')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD(TRUE, 6, '0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD('abc', 'five', 'x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD('data', 8, BINARY 'XY')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD(0x48656C6C6F, 10, '0x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD('test', 3.9, 'x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD('a', 5, 'Ã')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD('\n', 4, '\t')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD('abc', 7, NULLIF('x','y'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD('xyz', 7, IFNULL(NULL, 'ab'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD('m', 10, REPEAT('z', 3))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD(CAST(123 AS CHAR), 5, '0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LPAD('str', 9, COALESCE(NULL, 'xyz'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "ltrim": [ + { + "sql": "SELECT LTRIM('\t leading tab')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LTRIM(123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LTRIM(CONCAT(' ', NULL))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LTRIM(BINARY ' abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LTRIM('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LTRIM(' ') FROM DUAL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LTRIM('", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": " mixed')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LTRIM(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LTRIM(' 123.45e6')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LTRIM(CONCAT(CHAR(9), ' test'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LTRIM(0x202020616263)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LTRIM(CAST('2023-01-01' AS DATE))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LTRIM(CAST(12.34 AS DECIMAL))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LTRIM(CONCAT(' ', UUID()))", + "args": null, + "pass": false, + "known": true, + "comment": "UUID is randomly generated" + }, + { + "sql": "SELECT LTRIM(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LTRIM(_utf8mb4' ñ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LTRIM(' \\0 abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LTRIM(CONCAT(' ', 'x '))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LTRIM(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LTRIM(JSON_ARRAY(' a'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "make_set": [ + { + "sql": "SELECT MAKE_SET(0, 'a', 'b', 'c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKE_SET('7', 123, '456', TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKE_SET(b'101', 'a', NULL, 'c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKE_SET(NULL, 'a', 'b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKE_SET(3, NULL, 'b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKE_SET(5, 'a', NULL, 'c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKE_SET(4, 'a', 'b', 'c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKE_SET(1, 123.45, 'test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKE_SET(2, 'it\\'s a test', 'quote\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKE_SET(3, 'a\\nb', 'c\\td')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKE_SET(255, 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKE_SET(256, 'a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKE_SET(-1, 'a', 'b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKE_SET(1 + 2, 'a', 'b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKE_SET(0x03, 'a', 'b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKE_SET(3, '', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKE_SET(7, NULL, NULL, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKE_SET(1, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKE_SET(3, CONCAT('a', 'b'), 'c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKE_SET(15, 'a', 'b', 'c', 'd', 'e')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "makedate": [ + { + "sql": "SELECT MAKEDATE(2020, 366)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(2021, 366)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE('2024', 60.5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(0, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(9999, 365)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE('00002023', 305)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(-100, 200)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(2024, 500)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(2023, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(NULL, 150)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(2023, '180')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(2024, 100.9999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE('abc', 100)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(TRUE, TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(0x7E4, 0b111101)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(2023.9, 250)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(FLOOR(2024.999), 100)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(2024, -100)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE('2020-01-15', 366)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(0, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(0, 366)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(1582, 287)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE('true', 100)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(2024, 60 + 0.5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(2023, 9223372036854775807)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE('9999', '365')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(YEAR('2024-01-01'), 100)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(2147483647, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE('0x7E3', 180)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(1970, 365.999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(10000, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(-1, -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE('2024a', 200)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(FALSE, 365)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(2024, '365 days')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(3000000000, 365)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(2023, '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE('0b11111010011', 366)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(STR_TO_DATE('2024','%Y'), 100)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKEDATE(1, CHAR(51))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "maketime": [ + { + "sql": "SELECT MAKETIME(-1, 30, 45)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKETIME(12, 60, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKETIME(23, 59, 59.9999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKETIME('12', '30', '45')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKETIME(15.5, '45', 30)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKETIME(NULL, 30, 45)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKETIME(NULL, NULL, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKETIME('2'+'2',5*6,'30')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKETIME(999, 999, 999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKETIME(12.75, 30.5, 45.9)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKETIME(23, 59, 60)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKETIME(TRUE, FALSE, TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKETIME(24, 60, 60)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKETIME(12, 30, 45.123456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKETIME(10, -5, -30)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKETIME(0x10, 0o50, 0b1111)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKETIME(1e1, 3e1, 45e0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKETIME(+12, -30, -45)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKETIME(0,0,0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKETIME('2024-05-01',30,45)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "md5": [ + { + "sql": "SELECT MD5(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5(12345)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5(-123.45)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5(CHAR(0))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5('\\\\'')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5('\t')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5(REPEAT('a', 1000))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5(0x1234)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5('2023-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5('áéíóú')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5(' ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5(BINARY 'abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5(UNHEX('FF'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5(99999999999999999999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5(CONCAT('a', NULL))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5(1+2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5(_utf8mb4 'test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5(-12.3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5(CHAR(255))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5('\\'')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5('\n')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5(REPEAT('x', 2000))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5(0xDEADBEEF)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5(1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5('NULL')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5('1970-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5('¿©')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5(' ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5(BINARY 'test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5(UNHEX('A0'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5(18446744073709551615)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5(CONCAT('x', NULL))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5(2*3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5(_utf8 'abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "microsecond": [ + { + "sql": "SELECT MICROSECOND('2023-10-10 12:34:56.999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('23:59:59.000001')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('2023-10-10')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('12:34:56.1234567')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND(123456.789)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('0000-00-00 00:00:00.000000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('2023-10-10 12:34:56.1000000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('invalid')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('00:00:00.0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('12:34:56.1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('12:34:56.000001')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND(123456.0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('2023-10-10 12:34:56.5')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('9999-12-31 23:59:59.999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('100:00:00.123456')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('-12:34:56.123456')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('2023-10-10 12:34:56.0000000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('2024-12-31 23:59:59.543210')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('13:45:09.887766')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('1999-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('07:32:11.999999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND(654321.987)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('0000-00-00 00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('2023-08-15 14:30:00.000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('NaN')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND(-12345.6)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('18:09:03.4')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('1945-05-09 05:00:00.00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND(987654.321)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('2023-07-04 21:00:00.5555555')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND(' ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('838:59:59.999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('-25:15:30.123456')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('0000-00-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MICROSECOND('2024-02-29 00:00:00.123')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "mid": [ + { + "sql": "SELECT MID('test', 0, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MID('test', -1, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MID('abc', 5, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MID('hello', 2, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MID('test', 2, -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MID('abcdef', 2.9, 3.2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MID(12345, 2, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MID('2024-05-21', 6, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MID(BINARY 'abc', 2, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MID(NULL, 1, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MID('abc', NULL, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MID('abc', 1, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MID(NULL, NULL, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MID('', 1, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MID('café', 3, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MID('a\\nb', 2, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MID('abc', '2', '2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MID('test', '2a', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MID('short', 1, 100)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MID(TRUE, 1, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "minute": [ + { + "sql": "SELECT MINUTE('2023-10-05 15:45:30')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MINUTE('24:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MINUTE('12:60:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MINUTE(2599)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MINUTE(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MINUTE('invalid')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MINUTE('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MINUTE('12:34:56.789')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MINUTE(ADDTIME('12:30:00', '0:15:00'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MINUTE(SEC_TO_TIME(3660))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MINUTE(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MINUTE(-1230)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MINUTE('0000-00-00 00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MINUTE('12.30')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MINUTE(CAST('2023-10-05 15:45:30' AS DATETIME))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MINUTE('12:30:00+05:00')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59431" + }, + { + "sql": "SELECT MINUTE(123456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MINUTE('2023-10-05')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MINUTE('25:30:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MINUTE(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "month": [ + { + "sql": "SELECT MONTH('2024-00-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH('2024-13-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH(20240415)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH('2024/04/15')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH('April 15, 2024')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH('0000-00-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH('24-04-15')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH('2024-04-15 12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH('abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH(STR_TO_DATE('April,2024', '%M,%Y'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH(2024.04)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH(-1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH('2024-02-29')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH(TIMESTAMP '2024-04-15 00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH(DATE_ADD('2024-01-31', INTERVAL 1 MONTH))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH('2024-12-31 23:59:59.999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH('2030-31-12')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH(199707.05)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH('invalid')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH('2038-01-19 03:14:07')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH(-365)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH(STR_TO_DATE('02$31$2024','%m$%d$%Y'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH('2025-06-15T14:45:30Z')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH(999999999999999999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH(MAKEDATE(2024,366))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH('janvier 2025')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH('2024-02-30')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH(CURRENT_TIME)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH(BINARY '2024-05-20')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH('2024-07-01 00:00:00.000001')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH(X'53514C697465')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH(DATE_SUB('2025-01-01',INTERVAL 1 DAY))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTH(CAST(20241224 AS CHAR))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "monthname": [ + { + "sql": "SELECT MONTHNAME('2024-02-29')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME('2023-02-29')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME(20240515)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME('2024-12-31 23:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME('0000-00-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME('12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME(CONCAT('2024-', '05-20'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME(2024.0501)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME('2024-5-1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME('2024-13-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME(DATE_ADD('2024-01-01', INTERVAL 3 MONTH))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME(UNIX_TIMESTAMP('2024-07-01'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME('0000-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME('9999-12-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME('2024-06-01' + INTERVAL 1 MONTH)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME('2024-07-01T12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME('not-a-date')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME('2024-02-30')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME('1999-00-15')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME(20240230)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME('2024-06-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME('2024-07-32')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME('0000-01-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME('2024/05/20')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME('2024-May-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME(CAST('2024-08-15' AS CHAR))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME('2024-02-29 00:00:00.000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME('1970-01-01 00:00:01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME('2024-04-01' - INTERVAL 5 MONTH)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME('2024-11-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME('2024-02-28 24:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME('2024-12-01 12:60:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME('2024-10-99')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME('2024-01-01 00:00:00.000000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME('2024-09-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MONTHNAME('2024-02-29T00:00:00Z')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "name_const": [ + { + "sql": "SELECT NAME_CONST('num', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('num', -5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('num', 3.14159)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('str', '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('escape', 'O''Reilly')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('null_col', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('bool1', TRUE)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59459" + }, + { + "sql": "SELECT NAME_CONST('bool2', FALSE)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59459" + }, + { + "sql": "SELECT NAME_CONST('hex', X'DEADBEEF')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('bin', b'1010')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('date', DATE '2023-10-10')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('time', TIME '12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('timestamp', TIMESTAMP '2023-10-10 12:34:56.789')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('', 'empty_name')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST(123, 456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('sci', 1.23e-5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('multi_line', 'line1\\nline2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('unicode', 'üñîçødé')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('expr', 1 + 2 * 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('pi', PI())", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59459" + }, + { + "sql": "SELECT NAME_CONST('negative', -5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('decimal', 3.14)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('empty_str', '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('quote', 'O''Connor')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('null_val', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('hex_val', X'1A2B')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('binary', b'0011')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('date', DATE '2000-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('time', TIME '23:59:59.999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('timestamp', TIMESTAMP '1970-01-01 00:00:01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('', 'nameless')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST(456, 789)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('scientific', 6.022e23)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('text', 'line\\r\\nbreak')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('unicode', '🚀✨')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('calculation', 2 * 3 + 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('chars', _utf8mb4'¢€')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NAME_CONST('function', SIN(1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "not": [ + { + "sql": "SELECT NOT 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NOT 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NOT -5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NOT 3.14", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NOT 0.0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NOT '1'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NOT '0'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NOT 'a'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NOT ''", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NOT NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NOT (1 \u003e 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NOT (2 BETWEEN 1 AND 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NOT DATE('2023-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NOT TIME('12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NOT BINARY '1'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NOT CAST('TRUE' AS SIGNED)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NOT X'00'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NOT 0 DIV 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NOT (0 IN (1,2,3))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NOT CHAR(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "nullif": [ + { + "sql": "SELECT NULLIF(5, '5')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF('A' COLLATE utf8_bin, 'a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(NULL, 10)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(10, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF('', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF('0', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(1, TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(5.0, 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF('2023-01-01', DATE('2023-01-01'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF('abc', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF('12.34', 12.34)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(X'4040', '@@')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(CHAR(65 USING ASCII), 'A')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(' ', '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF('NULL', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(TRUE, '1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(CURRENT_DATE(), CURRENT_DATE())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF('test', 'test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(0, 0.0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(0.0E0, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF('5', 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF('a' COLLATE latin1_general_cs, 'A')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(0, FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF('123.45', 123.45)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(BINARY 'a', 'A')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF('20230101', DATE('2023-01-01'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(0x0A, '\\n')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF('12:34:56', TIME('12:34:56'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(1.00, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(-0, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(CHAR(0), '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF('a ', 'a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(TRUE, 'true')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(1.000, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF('NULL', 'null')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF('0E0', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(0, '0.0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(X'7E7E', '~~')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(1, '1 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF('b', 98)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "oct": [ + { + "sql": "SELECT OCT(-1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT(9.9)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT('12')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT('abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT(18446744073709551615)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT(b'1010')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT(0x1A)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT('0123')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT('123abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT(1e3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT('')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59446" + }, + { + "sql": "SELECT OCT(8)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT(9223372036854775807)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT(1.5e2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT(' 456 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT(BIT_COUNT(7))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT(-32768)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT(18446744073709551614)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT('0x1F')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT(0123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT('999999999999999999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT(0b1111)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT('0000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT(1/0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT('NaN')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT(CHAR(65))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT(' -12 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT(IFNULL(NULL, 7))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT(UNHEX('1A'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT(1.999e3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT('8a8')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT(POW(2,3))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT('test\\'s')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT(JSON_EXTRACT('{\"val\":15}', '$.val'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCT('0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "octet_length": [ + { + "sql": "SELECT OCTET_LENGTH('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(' ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH('\\t\\n')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH('€')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(12345)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(123.45)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(IFNULL(NULL, 'abc'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(DATE '2024-05-22')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(TIME '12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(BINARY 'abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(UNHEX('00'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(REPEAT('a', 1000))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(_utf8mb4 '¢')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(CHAR(97 USING utf8mb4))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(CONVERT('abc' USING latin1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(X'012345')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(CAST(123 AS CHAR))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH('\\0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH('👽')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(0x1234)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(CAST(123.99 AS DECIMAL(5,2)))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(JSON_ARRAY(1,2,3))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(ENCODE('secret','key'))", + "args": null, + "pass": false, + "known": true, + "comment": "MySQL doesn't implement ENCODE" + }, + { + "sql": "SELECT OCTET_LENGTH(ADDTIME('12:34:56', '00:01'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(GEOMFROMTEXT('POINT(1 1)'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(MAKE_SET(3,'a','b','c'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(UNCOMPRESS(COMPRESS('data')))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(TO_BASE64('xyz'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(UUID())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(VARBINARY 'test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(CHAR_LENGTH('ä'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(COALESCE(NULL, 'fallback'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(INET6_ATON('2001:db8::1'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(LAST_DAY('2024-02-01'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(MD5('hashme'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "or": [ + { + "sql": "SELECT 1 WHERE NULL OR TRUE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 OR NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0' OR 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 5 OR '0'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 OR '2a'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'a2' OR 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1.5 OR 0.0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '' OR 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '2023-01-01' OR 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (1=0) OR 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NOT (0 OR 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 OR (1 AND 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT _binary '1' OR 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0x0 OR 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -1 OR 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 999999999 OR 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 OR FALSE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUE OR NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 OR 0.0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0.0' OR 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL OR TRUE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL OR FALSE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '5' OR 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'a5' OR 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0.0 OR 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ' ' OR 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FALSE OR NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (1=1) OR NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0x1 OR 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT _binary '0' OR 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT (1 AND 0) OR 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0' OR 0x0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -5 OR 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1E3 OR 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0x0' OR 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 OR '0x1'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 OR '0000'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'true' OR 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "ord": [ + { + "sql": "SELECT ORD(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD(' ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD(123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD(12.3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD('€')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD('Ĉ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD(0x41)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD('🍎')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD(CHAR(255 USING utf8))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD(_binary 'Æ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD('A') + 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD(CONCAT('A', 'B'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD('ñ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD(CAST(65 AS CHAR))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD(DATE '2023-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD(TIME '12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD('字')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD(' ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD(-1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD(1.5e2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD(B'1010')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD(X'7F')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD('𐍈')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD(CHAR(128 USING utf8mb4))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD(_latin1 'ß')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD('') FROM DUAL WHERE ORD('') IS NOT NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD(SUBSTRING('ΩTest',1,1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD(IFNULL('α', NULL))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD(JSON_UNQUOTE(JSON_EXTRACT('{\"a\":\"©\"}','$.a')))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD(REPEAT('Z',0))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD(BINARY '😀')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD(TIMESTAMP '2023-01-01 00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ORD(UNHEX('41'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "period_add": [ + { + "sql": "SELECT PERIOD_ADD(000001, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD(999912, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD('202413', -3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD('000000', 6)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD(NULL, 12)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD(202405, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD(2024.05, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD(202406, '3a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD('2024-06', 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD(TRUE, -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD(999999, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD(0, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD(' 202407 ', 24)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD(0107, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD(202405, 99999999999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD('', 6)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD(-202405, 12)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD('2024a6', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD(X'31', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD(202405, -1200)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD(000001, -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD('999912', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD('202400', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD('2405', 12)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD(NULL, -5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD(202405, '12x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD(2024.05, '1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD('2024/06', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD(TRUE, 12)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD(999912, 100000)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD(0, -3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD(' 0000-00 ', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD(202405, 999999999999999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD('', -12)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD(-000001, 6)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD('2024!06', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD(X'32303234', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD(202405, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD('999912', 13)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_ADD(202405, 'invalid')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "period_diff": [ + { + "sql": "SELECT PERIOD_DIFF(NULL, '202405')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF(202313, 202212)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF('202400', '202315')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF('000000', '999912')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF(2405, 202405)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF('002405', '202305')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF(0, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF('202405', DATE('2024-05-01'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF('2024XX', '202405')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF(2024.5, 202405)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF('123', 456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF('\\n202405\\n', '\\t202406')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59436" + }, + { + "sql": "SELECT PERIOD_DIFF(2199, 200103)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF('000101', '000001')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF(NULL, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF('7005', 6803)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF('9699', '9400')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF('2024-13', '202401')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF(202412, '202412')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF('-123', '456')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF('2024/05', '202405')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF('20241', 202401)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF('9905', 199905)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF('2024a5', '202405')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF(-202405, 202305)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF('5', '202405')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF('0000-00', '9999-12')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF('2024 05', '202405')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF('000101', '0000-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF('7005', 206803)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF('2024-05-01', '202405')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF('1234', 1234)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF('999905', '000101')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF('2024XX', 202405)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF(1, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF('0000-05', '000005')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF('202413', '202401')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF('2405', 202405)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PERIOD_DIFF('000000', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "pi": [ + { + "sql": "SELECT PI() + NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PI() / 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(PI(), ' is pi')", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT CAST(PI() AS DECIMAL(3,1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PI() + TRUE", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT PI() * '2.5'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FLOOR(PI())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CEILING(PI())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PI() BETWEEN 3 AND 4", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PI() + 'non-numeric'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PI() = 3.141592653589793", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LENGTH(CONCAT(PI()))", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT PI() + 0x0", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT PI() | 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PI() NOT LIKE '3.1415%'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(PI(), 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COALESCE(NULL, PI())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PI() + 1E0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER(PI())", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT -PI()", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT PI() * 'a'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PI() / 0E0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PI() || 'π'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PI() \u003e\u003e 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PI() + JSON_ARRAY()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PI() REGEXP '3'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PI() MOD 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PI() + INTERVAL 1 DAY", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PI() DIV 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PI() XOR 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PI() + POINT(1,1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PI() OVER ()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PI() + (SELECT NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PI() + UNHEX('FF')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT PI() + GEOMETRYCOLLECTION()", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "position": [ + { + "sql": "SELECT POSITION(NULL IN 'abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POSITION('a' IN NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POSITION('' IN 'test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POSITION('test' IN '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POSITION('a' IN 'a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POSITION('ab' IN 'aabab')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POSITION(12 IN 34512)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POSITION(BINARY 'A' IN 'aA')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POSITION('\\t' IN 'a\\tb')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POSITION('æ' IN 'café æ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POSITION(' ' IN 'hello world')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POSITION('\\\\' IN 'a\\\\b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POSITION(TRUE IN 'true1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POSITION(1.5 IN 'abc1.5def')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POSITION('z' IN 'abcdefg')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POSITION('aba' IN 'ababa')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POSITION('def' IN 'abcdef')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POSITION(0 IN 'abc0def')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POSITION('ñ' IN 'cañon')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POSITION(X'61' IN 'a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "pow": [ + { + "sql": "SELECT POW(NULL, 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(2, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(NULL, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(-2, 1.5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(0, -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW('5a', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW('a5', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW('2023-10-05', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(TRUE, FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW('1e2', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(' 4 ', ' 2 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(b'11', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(2.5, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(0, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(-2, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(1, 1000000)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(0x10, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(2, 10000)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW('3.14', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(2, -3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW('', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW('12.3.4', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(3, '2x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(INF, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(NaN, 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(2, '3E1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(JSON_ARRAY(2), 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(2, 1e308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW('0xFF', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(2, 2147483647)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(2, -2147483648)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(1.7976931348623157E308, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW('18446744073709551616', 0.5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(2, POW(2, 3))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(1, POW(1, POW(1,1)))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW('test', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(GEOMFROMTEXT('POINT(1 1)'), 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(UNHEX('FF'), 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(CHAR(50), 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POW(ENCRYPT('a','b'), 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "power": [ + { + "sql": "SELECT POWER(2, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POWER(NULL, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POWER('5', '2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POWER(0, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POWER(-8, 0.333)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POWER('abc', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POWER(TRUE, FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POWER(2.5, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POWER(-2, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POWER(0.1, 1000)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POWER('12a', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POWER('', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POWER(0x0A, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POWER(1e308, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POWER(0, -2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POWER(5, -2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POWER('0x0F', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POWER(12345678901234567890, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POWER(3, '3.0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT POWER(NULLIF(1,1), 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "quarter": [ + { + "sql": "SELECT QUARTER('2024-05-20 12:34:56.789')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUARTER(20240415)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUARTER('2024/03/31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUARTER(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUARTER('0000-00-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUARTER('2020-02-29')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUARTER(STR_TO_DATE('Invalid', '%Y-%m-%d'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUARTER('20241332')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUARTER(MAKEDATE(2024, 95))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUARTER(CONCAT('2024','-','08','-',''))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUARTER(CAST('2024-11-01' AS DATETIME))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUARTER('24-06-15')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUARTER('2024-04-01T00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUARTER(12345678)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUARTER('Q2 2024')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUARTER(DATE_ADD('2024-01-01', INTERVAL 65 DAY))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUARTER('2024-12-31 23:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUARTER(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUARTER(CAST('2024-07-01' AS CHAR))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUARTER('2024-00-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "quote": [ + { + "sql": "SELECT QUOTE(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE('Don\\'t')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE('C:\\\\Windows\\\\Path')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE(12345)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE(3.14159)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE(0xDEADBEEF)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59449" + }, + { + "sql": "SELECT QUOTE(DATE '2024-12-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE(TIME '23:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE(TIMESTAMP '2023-07-15 08:30:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE('\\\"Hello\\\" \\\\\\\\ \\\"World\\\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE('Line1\\nLine2\\tTab')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE('àéîöü')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE(CONCAT(CHAR(39), CHAR(34), CHAR(92)))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE(IFNULL(NULL, 'Replacement'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE(REPEAT('xyz', 100))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE(CONCAT('Ctrl', CHAR(0), CHAR(31)))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE(123 + 'abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE(CONCAT(CHAR(0), 'null-byte'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE('\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE('\\\\\\'')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE(0x00)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE(B'1010')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE(INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE(JSON_OBJECT('key', 1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE(ENUM('a','b'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE('\\b\\f\\r')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE(X'7E')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE(CAST('2001-01-01' AS DATETIME))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE(CHAR(128 USING utf8mb4))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE(SPACE(1000))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE(SUBSTRING_INDEX('a,b,c', ',', 2))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE(COALESCE(NULL, NULL, 'fallback'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE(MAKE_SET(3,'a','b','c'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE(_binary 'binary\\0string')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT QUOTE(UNHEX('4D7953514C'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "radians": [ + { + "sql": "SELECT RADIANS(180)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS(90.5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS(-45)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS('180')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS('ABC')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS(360 / 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS(1.23E+2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS(9999999999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS(0x1A3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS(b'1010')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS(' 123 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS(PI() * 180 / PI())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS('-90.25')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS('45' + 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS(0.000001)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS(360)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS('-180')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS(45.75)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS('0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS('12.3.4')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS(X'7E')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS('123four')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS(18446744073709551615)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS(1/0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS(0b11111010)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS(' -60.5 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS(1 + NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS('') + RADIANS(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS(1.7976931348623157E+308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS(1e-308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS('0xFF')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS(CAST('90' AS CHAR))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS(CONCAT('18','0'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RADIANS(JSON_EXTRACT('{\"val\":57.3}', '$.val'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "regexp": [ + { + "sql": "SELECT NULL REGEXP 'a*'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'abc' REGEXP NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL REGEXP NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 123 REGEXP '^[0-9]+$'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE '2023-01-01' REGEXP '2023'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'test' REGEXP ''", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'a+b' REGEXP 'a\\\\+b'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '' REGEXP '^$'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '\\n' REGEXP '\\\\n'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BINARY 'Abc' REGEXP '^abc'", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59411" + }, + { + "sql": "SELECT 'Abc' REGEXP '^abc'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'abc' REGEXP '^a.c$'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'a' REGEXP 'a|b'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '123' REGEXP '^[[:digit:]]+$'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'abc' REGEXP 'a['", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'a\\\\b' REGEXP 'a\\\\\\\\b'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(123, 'abc') REGEXP '^123abc$'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '123' REGEXP 123", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'abc' NOT REGEXP '^d'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'abc' REGEXP '[[:alpha:]]+'", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "regexp_instr": [ + { + "sql": "SELECT REGEXP_INSTR(12345, '3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_INSTR('abc', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_INSTR('abc\\n123', '^123', 1, 1, 0, 'm')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_INSTR('abc', 'a', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_INSTR('a a a', 'a', 1, 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_INSTR('abc', 'b', 1, 1, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_INSTR('ABC', 'a', 1, 1, 0, 'i')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_INSTR('', 'a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_INSTR('café', 'é')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_INSTR('abc123abc', '[0-9]+', 3, 2, 1, 'i')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_INSTR(2024, '2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_INSTR('aaa', 'aa', 1, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_INSTR('abba', '(a)(b)\\2\\1', 1, 1, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_INSTR('abc123', '[[:digit:]]+')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_INSTR('ac', 'a?b?c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_INSTR('a1 a2 a3', 'a[0-9]', 3, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_INSTR('abcde', 'bcd', 1, 1, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_INSTR('\\\\', '\\\\\\\\')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_INSTR('a\\nb', 'a.b', 1, 1, 0, 'n')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59416" + }, + { + "sql": "SELECT REGEXP_INSTR('xyz', '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "regexp_like": [ + { + "sql": "SELECT REGEXP_LIKE(NULL, 'test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_LIKE('Data123', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_LIKE(1234, '^[[:alpha:]]+$')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_LIKE(BINARY 'ABC', 'abc', 'i')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59411" + }, + { + "sql": "SELECT REGEXP_LIKE('A", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "B', 'a\\nb', 'i')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_LIKE(CAST('2023' AS BINARY), '^202')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59411" + }, + { + "sql": "SELECT REGEXP_LIKE('', '^$')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_LIKE('$1.50', '^\\$\\d+\\.\\d{2}$')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_LIKE('🔥', '\\p{So})', 'u')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_LIKE('\\\\path', '^\\\\\\w+$')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_LIKE('ä', '[a-z]', 'c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_LIKE(TRUE, '^1$')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_LIKE('Multi", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "Line', '^Multi.Line$', 'm')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_LIKE('🇨🇦', '\\x{1F1E8}\\x{1F1E6}')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59412" + }, + { + "sql": "SELECT REGEXP_LIKE(' ', '\\s')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_LIKE('12:34', '^\\d{2}:\\d{2}$')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_LIKE('ABC𝄞', '𝄞', 'i')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_LIKE(0x48656C6C6F, '^Hello$')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59412" + }, + { + "sql": "SELECT REGEXP_LIKE('abc_def', '^[a-z]+\\_[a-z]+$')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_LIKE('π', '\\x{03C0}')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59412" + } + ], + "regexp_replace": [ + { + "sql": "SELECT REGEXP_REPLACE(NULL, 'a', 'b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_REPLACE('abc', NULL, 'X')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_REPLACE('test', 't', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_REPLACE(12345, '3', 'three')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_REPLACE('', '^$', 'empty')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59425" + }, + { + "sql": "SELECT REGEXP_REPLACE('a\\nbc', '\\n', '\\\\n')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_REPLACE(BINARY 'ABC', 'b', 'X', 1, 0, 'i')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_REPLACE('café', 'é', 'e')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_REPLACE('ababa', 'aba', 'X', 1, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_REPLACE('a\\\\b', '\\\\', '/')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_REPLACE('2023-01-01', '\\d', 'X', 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_REPLACE(0x48656C6C6F, '48', '24')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_REPLACE('abc', 'a', '😂', 1, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_REPLACE('xyz', 'x', 'a', -1, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_REPLACE('AaA', 'a', 'B', 1, 0, 'c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_REPLACE('123', '1(?=2)', 'X', 1, 0)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59426" + }, + { + "sql": "SELECT REGEXP_REPLACE('aabbcc', '(.)\\1', '\\1', 1, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_REPLACE('test', '^', 'start_')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_REPLACE('€10', '€', 'USD')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_REPLACE('a1!B', '[^a-z]', '', 1, 0, 'i')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "regexp_substr": [ + { + "sql": "SELECT REGEXP_SUBSTR(12345, '[A-Za-z]+')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_SUBSTR('abc123', 123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_SUBSTR('a\\nb\\tc', '\\\\s+')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_SUBSTR('', '^$')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_SUBSTR(NULL, 'abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_SUBSTR('abc', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_SUBSTR('abc', 'a', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_SUBSTR('abc', 'a', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_SUBSTR('a1b2c3', '\\\\d', 1, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_SUBSTR('abcDEF', '[A-Z]+', 1, 1, 'i')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_SUBSTR('abc123', '[[:alpha:]]+', 1, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_SUBSTR('test', '^', 1, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_SUBSTR('multi\\nline', '^line', 1, 1, 'm')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_SUBSTR('123.45', '\\\\d+(\\\\.\\\\d+)?')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_SUBSTR('abc', '.*', 1, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_SUBSTR('a,b,c', '[^,]+', 1, 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_SUBSTR('X', 'X', 1, 1, 'c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_SUBSTR('123', '\\\\d{4}', 1, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_SUBSTR('abc', '[a-z]', 1, 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REGEXP_SUBSTR('混合', '\\\\p{Han}+')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "repeat": [ + { + "sql": "SELECT REPEAT(NULL, 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPEAT('abc', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPEAT(NULL, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPEAT(123, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPEAT(3.7, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPEAT(5.5, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPEAT('abc', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPEAT('test', -5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPEAT('x', 3.9)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPEAT('b', '3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPEAT('a', '4x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPEAT(0x41, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPEAT(X'4141', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPEAT('\\n', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPEAT('ñ', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPEAT('', 10)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPEAT('z', TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPEAT('z', FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPEAT('a', 65535)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPEAT('c', '2.8')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "replace": [ + { + "sql": "SELECT REPLACE(12345, '3', '7')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('', 'a', 'b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('abc', '', 'x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE(NULL, 'x', 'y')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('test', NULL, 'y')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('hello', 'l', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('a\\tb\\nc', '\\t', '-')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('123abc', 123, 'XYZ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('abc123', 123, '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('CaSe', 'Se', 'SE')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('äää', 'ä', 'a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('2023-10-10', '-', '/')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE(BINARY 'abc', BINARY 'a', 'x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('aaaaa', 'aa', 'a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('a b c d', ' ', '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE(123.45, '.', ',')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('X', 'X', '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('abcde', 'bcd', 'xyz')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('\\\\', '\\\\', '/')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('a1a', 'a', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE(0, '0', 'zero')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('NULL', 'NULL', '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('\\\\n', '\\\\n', CHAR(10))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE(TRUE, '1', 'true')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('π', 'π', 'pi')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('a\ba', '\b', '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('👻🎃', '🎃', '🍭')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('123e5', 'e', 'E')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('1E2', 'E', 'e+')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('', '', 'empty')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('重叠替换', '替换', '测试')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE(X'41', X'41', 'B')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('\\'', '\\'', '\\'\\'')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('1.7976931348623157E+308', '.', '_')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('🇺🇸', '🇺', '🇪🇺')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('{\"key\":null}', 'null', '\"\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('±', '±', '+-')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('1/2', '/', '÷')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('🚑', '🚑', '🚨')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REPLACE('∞', '∞', 'inf')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "reverse": [ + { + "sql": "SELECT REVERSE(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE('a\\b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE(12345)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE(DATE '2023-10-05')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE(BINARY 'abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE('🔥🚒')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE(123 + '45')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE('test\\n')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE(-123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE(' test ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE(0x616263)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE('00123')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE(UPPER('test'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE('abcdefghijklmnopqrstuvwxyz')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE(CONCAT('a', NULL, 'b'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE('123.45')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE('a b c')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE(NULLIF('a', 'a'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE(_utf8mb4 'test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE(TIME '12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE('\\\\')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE(CHAR(97))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE('\\'quoted\\'')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE(X'7B')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE(IFNULL(NULL, 'null'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE(0.123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE('🍎🍌')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE('àçèñ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE(0/0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE('abcdef1234!@#$')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE(CAST(123 AS CHAR))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE('-0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE(REPEAT('x',1000))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE('tab\t')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE(JSON_UNQUOTE(JSON_EXTRACT('{\"a\":\"b\"}','$.a')))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE(UNHEX('41'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE('0x123')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "right": [ + { + "sql": "SELECT RIGHT(NULL, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT('abc', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT(12345, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT('', 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT(' ', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT('abc', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT('abc', -3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT('abc', 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT('äèñ', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT(X'1234', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT(123.45, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT('2023-10-05', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT('🔥🚀', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT(TRUE, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT(FALSE, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT('abc', 2.9)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT(CONCAT('a', NULL), 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT('abc', '2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT('abc', 'a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT('a\\nb', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT('äøþß→', -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT(X'DEADBEEF', 4.9)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT('2023-10-05', TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT(0x4A6F686E, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT(BINARY '🔥🚀', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT('abc', 32768)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT('\\t\\n\\r', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT(JSON_ARRAY('a','b'), 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT(123.99999, 18)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT('abc', CHAR(50))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT(DATE('2023-01-01'), -5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT(TIME('23:59:59'), '2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT(ENUM('a','b','c'), 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT(UNHEX('53616D706C65'), 2.1e0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT((SELECT 123), 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT(GEOMFROMTEXT('POINT(1 1)'), 8)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT(REPEAT('X', 65535), 2147483647)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT('αβγδ', NULLIF(3,3))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT(MAKE_SET(1,'a','b'), POW(2,0))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "round": [ + { + "sql": "SELECT ROUND('123.45abc', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND(1234.5678, -2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND(123.456, 1.5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND(2.5, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND(NULL, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND(123.456, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND(-123.456, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND(TRUE, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND('2023-10-10', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND(1.5e20, -3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND(123.456789, 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND(0, 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND(0.0000001, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND(0x1A, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND(b'1010', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND(1.2345e2, -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND('123', '2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND(1/3, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND(123.4, 5)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59414" + }, + { + "sql": "SELECT ROUND(0.000000567, 7)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND('123.45xyz', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND(9999999999999.9999, -4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND(5/2, 3.9)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND('true', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND(4294967295, -5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND(CAST('2024-05-15' AS DATE), 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND(0b1001, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND('0.999999', 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND('12a3', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND(PI(), 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND(-0.0000005, 6)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND(1.7976931348623157E+308, -308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND('NaN', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND(256, -1.999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND('18446744073709551615', -3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND(2147483647.5, -2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND('1e-308', 310)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND(0.9999999999999999, 15)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROUND(INTERVAL 3 DAY, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "row": [ + { + "sql": "SELECT ROW(NULL, NULL) = ROW(NULL, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROW(1, '1') = ROW('1', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROW(TRUE, FALSE) IN (ROW(1,0), ROW(0,1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROW(0x1A, 26) IN (ROW(26, 0x1A))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROW(999999999999999999, 0.0000001) = ROW(1e18, 1e-7)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROW(b'1010', X'FF') = ROW(10, 255)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROW('2023-10-10', CURDATE()) \u003e ROW('2023-09-01', '2023-10-09')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROW('', CHAR(0)) IS NOT NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROW(1, NULL, 3) IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROW(1.23E+5, -4.56) = ROW(123000, -4.56)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROW(_utf8'abc', _binary'def') = ROW('abc', BINARY 'def')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROW(CAST('123' AS UNSIGNED), '456') = ROW(123, 456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROW(BINARY 'Test', 'test') = ROW('Test', 'test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROW(REPEAT('a', 1000), SPACE(3)) = ROW('aaaaaaaaaa', ' ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROW(COALESCE(NULL, 0), IFNULL(NULL, 'empty'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROW(1/0, LOG(-1)) IN (ROW(NULL, NULL))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROW(1, 2, 3) BETWEEN ROW(0, 1, 2) AND ROW(2, 3, 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROW(PI(), RADIANS(180)) = ROW(3.141593, PI())", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT ROW(EXTRACT(YEAR FROM '2023-10-10'), DAYOFMONTH('2023-10-10'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROW(JSON_ARRAY(1, 'a'), JSON_OBJECT('key', 'value'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROW('2023-10-10', '2024-01-01') \u003e ROW('2023-09-01', '2023-12-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "row_count": [ + { + "sql": "CREATE TEMPORARY TABLE t (a INT); INSERT INTO t VALUES (1); SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TEMPORARY TABLE t (a INT); INSERT INTO t VALUES (1), (2); SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TEMPORARY TABLE t (a INT); INSERT INTO t SELECT 1 WHERE 0; SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TEMPORARY TABLE t (a INT PRIMARY KEY); INSERT INTO t VALUES (1); INSERT INTO t VALUES (1) ON DUPLICATE KEY UPDATE a = 1; SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TEMPORARY TABLE t (a INT); INSERT INTO t VALUES (1); DELETE FROM t; SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TEMPORARY TABLE t (a INT); DELETE FROM t; SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TEMPORARY TABLE t (a INT); INSERT INTO t VALUES (1), (2); UPDATE t SET a = 3 WHERE a = 2; SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TEMPORARY TABLE t (a INT); UPDATE t SET a = 1; SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TEMPORARY TABLE t (a INT PRIMARY KEY); INSERT INTO t VALUES (1); REPLACE INTO t VALUES (1); SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TEMPORARY TABLE t (a INT); INSERT INTO t VALUES (1); SELECT ROW_COUNT() + ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TEMPORARY TABLE t (a INT); INSERT INTO t VALUES (1); SELECT ROW_COUNT() || ' rows'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TEMPORARY TABLE t (a INT); INSERT INTO t VALUES (NULL); SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1 INTO @var; SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROW_COUNT() FROM DUAL WHERE ROW_COUNT() IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TEMPORARY TABLE t (a INT); INSERT INTO t SELECT 1 FROM (SELECT 1) AS tmp WHERE 0; SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "START TRANSACTION; CREATE TEMPORARY TABLE t (a INT); INSERT INTO t VALUES (1); ROLLBACK; SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TEMPORARY TABLE t (a INT); INSERT INTO t VALUES (1); UPDATE t SET a = 1; SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SLEEP(0) INTO @var; SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TEMPORARY TABLE t (a INT); INSERT INTO t SELECT 1 UNION SELECT 2; SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TEMPORARY TABLE t (a INT); INSERT INTO t VALUES (1),(2),(3); DELETE FROM t WHERE a \u003e 1; SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TEMPORARY TABLE t (a INT); UPDATE t SET a = 5; SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "START TRANSACTION; INSERT INTO t VALUES (4); ROLLBACK; SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1 FROM DUAL WHERE 0; SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TEMPORARY TABLE t (a INT); INSERT INTO t SELECT 1 LIMIT 0; SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TEMPORARY TABLE t (a INT); CREATE TEMPORARY TABLE t2 (a INT); INSERT INTO t SELECT * FROM t2; SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TEMPORARY TABLE t (a INT); INSERT INTO t VALUES (1); UPDATE t SET a = NULL WHERE a = 1; SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TEMPORARY TABLE t (a INT); INSERT INTO t VALUES (1); INSERT INTO t SELECT * FROM t; SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TEMPORARY TABLE t (a INT); REPLACE INTO t VALUES (1); REPLACE INTO t VALUES (1); SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1 INTO @dummy; SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "UPDATE information_schema.tables SET table_name='test' WHERE 0; SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TEMPORARY TABLE t (a INT); INSERT INTO t VALUES (1), (2); DELETE FROM t; SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "INSERT INTO non_existent_table VALUES (1); SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TEMPORARY TABLE t (a INT); INSERT INTO t VALUES (1); UPDATE t SET a = a; SELECT ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROW_COUNT() AS rc FROM (SELECT 1) AS tmp", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ROW_COUNT() FROM (SELECT 1) AS tmp WHERE ROW_COUNT() \u003e= 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TEMPORARY TABLE t (a INT); INSERT INTO t VALUES (1); SELECT ROW_COUNT(), ROW_COUNT()", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "rpad": [ + { + "sql": "SELECT RPAD(NULL, 5, 'x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD('abc', NULL, 'x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD('abc', 5, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD(123, 5, '0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD('abc', '5', 'x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD('abc', 5.9, 'x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD('abc', -3, 'x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD('abc', 0, 'x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD('abc', 2, 'xyz')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD('abc', 10, '')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59447" + }, + { + "sql": "SELECT RPAD('abc', 5, 123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD('abc', 5, ' ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD('abc', 5, '\\n\\t')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD('', 5, 'x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD('abc', CHAR_LENGTH('abc') + 2, 'x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD('abc', 5, CONCAT('x', 'y'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD('abc', 3, 'xyz')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD(123.45, 8, '0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD('a', 10000, 'x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD('abc', 5, X'00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD(NULL, 10, 'ab')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD('test', NULL, ' ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD(1234, 6, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD('x', -5, 'yz')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD('', 3, CHAR(65))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD('αβγ', 5, 'δ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD(TRUE, 4, '0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD('a', 1e5, REPEAT('b', 1000))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD('str', LENGTH('test')+2, '-')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD('q', 3, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD(CURRENT_DATE, 20, '!')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD('abc', 5.999, 'd')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD('m', 0, 'xyz')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD(CONCAT('a', NULL), 5, 'x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD(0x48656C6C6F, 8, 0x21)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD('text', 10, '\\x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD('', 0, '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD(GeomFromText('POINT(1 1)'), 15, '*')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RPAD('π', 5, RPAD('e', 3, 'i'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "rtrim": [ + { + "sql": "SELECT RTRIM(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(123.45)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(CONCAT('abc', NULL))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM('test\\t ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(CONCAT('a', CHAR(160)))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(' ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM('test\\n ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(BINARY 'test ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(0x202020)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(_binary 'test ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(DATE '2023-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(TIME '12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(REPEAT('a ', 5))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(CONCAT('test', SPACE(3)))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM('test ' COLLATE utf8mb4_bin)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(JSON_UNQUOTE(JSON_EXTRACT('{\"key\": \"value \"}', '$.key')))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(123.456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(TIMESTAMP '2023-01-01 00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM('test\\r ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(CONVERT('TEST ' USING latin1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM('café ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(CHAR(32,32,32))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(CAST(456 AS CHAR))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(CONCAT(NULL, 'text'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(X'202020')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(REPLACE('data ', 'a',''))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM('  ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(UPPER('xyz '))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(SUBSTRING('foo bar ', 5))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(UNHEX('202020'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(CURDATE())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(BINARY _utf8'test ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(LPAD('X',10,' '))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RTRIM('test' || ' ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "schema": [ + { + "sql": "SELECT SCHEMA() + 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(SCHEMA(), '_suffix')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SCHEMA() WHERE SCHEMA() IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SCHEMA() COLLATE utf8mb4_bin", + "args": null, + "pass": false, + "known": true, + "comment": "MySQL returns utf8mb3" + }, + { + "sql": "SELECT LENGTH(SCHEMA())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SCHEMA() FROM DUAL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1 WHERE SCHEMA() LIKE '%\\_test%' ESCAPE '\\'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(SCHEMA(), 'none')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE WHEN SCHEMA() THEN 1 ELSE 0 END", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(SCHEMA())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SCHEMA() REGEXP '^[0-9]+$'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BINARY SCHEMA()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SCHEMA() AS db_name, db_name", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAX(SCHEMA())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SCHEMA() IN (NULL, 'temp')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASCII(SCHEMA())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SCHEMA() = DATABASE()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT FIND_IN_SET(SCHEMA(), '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SCHEMA() DIV 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(SCHEMA(), '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "sec_to_time": [ + { + "sql": "SELECT sec_to_time(3020399)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time('86400')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time(-1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time(18446744073709551615)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time(0.5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time('3.6e3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time(b'1111')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59428" + }, + { + "sql": "SELECT sec_to_time(0x1E0)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59428" + }, + { + "sql": "SELECT sec_to_time(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time(60*60)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time(3661.567)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time('12a3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time(-123.45)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time(1e18)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time(10 + NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time(' 7200 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time(CONCAT('3','600'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time(59.999999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time(86399)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time(3020399.999999)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59624" + }, + { + "sql": "SELECT sec_to_time('2147483647')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time(-32768)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time(1.999999e-5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time('invalid')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time(3600.0000001)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time(59.999999999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time(1/0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time('24:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time(1.7976931348623157E+308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time(IFNULL(NULL, 60))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time('838:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time(CAST('65535' AS UNSIGNED))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time(POW(2,40))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT sec_to_time(STR_TO_DATE('01:00','%H:%i'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "second": [ + { + "sql": "SELECT SECOND('23:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND('00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND('12:34:56.789')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND(123456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND('2024-05-01 12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND('25:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND('12:60:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND('abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND(59)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND('12.34.56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND(12345)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND('2023-10-05')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND(CONCAT('12',':','34',':','56'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND('838:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND('00:00:60')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND(CAST('12:34:56' AS TIME))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND('12:34')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND('13:45:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND('00:00:01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND('12:34:56.123456')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND(595959)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND('2024-05-01 23:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND('24:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND('12:59:60')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND(' ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND('invalid')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND(123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND('11.22.33')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND(1234)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND('2023-10-05 00:00:01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND(CONCAT('23',':','59',':','59'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND('-12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND(CAST('23:59:59' AS TIME))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SECOND('09:08')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "session_user": [ + { + "sql": "SELECT SESSION_USER() + 0;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(SESSION_USER(), NULL);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SESSION_USER() FROM DUAL WHERE SESSION_USER() LIKE '%@%';", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LENGTH(SESSION_USER());", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SESSION_USER() COLLATE utf8mb4_bin;", + "args": null, + "pass": false, + "known": true, + "comment": "MySQL returns utf8mb3" + }, + { + "sql": "SELECT REVERSE(SESSION_USER());", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(SESSION_USER());", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(SESSION_USER());", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS('-', SESSION_USER(), 'suffix');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(SESSION_USER(), 'default');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE WHEN SESSION_USER() THEN 1 ELSE 0 END;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SESSION_USER() IN (USER(), CURRENT_USER());", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX(SESSION_USER(), '@', 1);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SESSION_USER() AS su, su LIKE '%@%';", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1 ORDER BY SESSION_USER();", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BINARY SESSION_USER();", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT(SESSION_USER() USING latin1);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SESSION_USER() + 1;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(SESSION_USER(), 'user@host');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(SESSION_USER(), 123.45);", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "sha": [ + { + "sql": "SELECT SHA('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA(12345)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA(-123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA(123.456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA(UNHEX('FF'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA(CONCAT(CHAR(10), CHAR(13)))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA(REPEAT('a', 1000))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA('''test''')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA(0x4A)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA(1e3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA(REPEAT('a', 64))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA(' test ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA('!@#$%^\u0026*()_+')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA(CAST(12345 AS CHAR))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA(CONCAT('a', NULL))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA('\\\\x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA(X'')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA(-32768)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA(18446744073709551615)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA(3.141592653589793)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA(UNHEX('DEADBEEF'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA(CONCAT(CHAR(0), 'null'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA(REPEAT('0', 256))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA('\"quote\"')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA(0x1A3F)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA(REPEAT('z', 128))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA(' whitespace ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA('áéíóúñ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA(CAST(65535 AS BINARY))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA(CONCAT(NULL, 'test'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA('\\'escaped\\'')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA(X'00FF')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "sha1": [ + { + "sql": "SELECT SHA1(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1(12345)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1(123.45)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1(0x123ABC)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1(UNHEX('FF'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1('\\n')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1('\\t')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1('\\'')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1('áéîøñ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1(REPEAT('a', 1000))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1(CONCAT(123, 'abc'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1('2023-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1(' space ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1(CHAR(0, 255))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1(REPEAT('a', 64))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1(CONCAT(123, 'abc', 45.6))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1('\\\\')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1(1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1(999.999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1(0xDEADBEEF)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1('π÷×√')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1(CONCAT(NULL,'test'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1(CHAR(97))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1(REPEAT('x',256))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1(CURRENT_TIME)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1('\\b\\f\\r')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1(123+'45')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1('😀')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1(BINARY 'A')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1(-1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1('\\0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1(UNIX_TIMESTAMP())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1('ΑΒΓΔ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA1(SPACE(100))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "sha2": [ + { + "sql": "SELECT SHA2(NULL, 256)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2('test', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2('abc', '224')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2('data', 128)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2(UNHEX('00FF'), 256)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2('', 384)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2(12345, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2(DATE '2023-01-01', 512)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2(CONCAT('a', NULL), 256)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2(REPEAT('a', 1000), 224)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2(123.45, 256)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2('test', 224.5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2('mysql', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2('test', 512)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2('test', 1024)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2(0x1234, 256)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2('\\n\\t', 256)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2(TRUE, 256)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2(B'1', 512)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2('test', 222)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2(12.34, 256)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2('', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2(BINARY 'text', 224)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2(0, 512)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2('NULL', 256)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2(0xABCDEF, '384')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2(CURRENT_DATE, 256)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2(X'7F', 256)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2(CHAR(255), 256)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2(TIME '12:34:56', 224)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2(FALSE, 'invalid')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2(GEOMFROMTEXT('POINT(1 1)'),256)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2(EXPORT_SET(1,'Y','N'),512)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2(CAST(12345 AS CHAR),224)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2(INTERVAL 1 DAY, 256)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2(PASSWORD('secret'),256)", + "args": null, + "pass": false, + "known": true, + "comment": "MySQL doesn't implement PASSWORD" + }, + { + "sql": "SELECT SHA2(MAKE_SET(1,'a'),256)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SHA2(VARBINARY 'value',256)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "sign": [ + { + "sql": "SELECT SIGN(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIGN(-0.0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIGN(' -123abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIGN('Hello')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIGN(0x0A)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIGN('12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIGN('0.0000001')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIGN(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIGN(0/0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIGN('0000-00-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIGN('NaN')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIGN('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIGN('-99999999999999999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIGN(1E308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIGN('123.45.67')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIGN(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIGN('2023-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIGN(CAST('2023' AS DATE))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIGN(CAST('12:34:56' AS TIME))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "sin": [ + { + "sql": "SELECT SIN(-1.5708)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIN('3.14159')", + "args": null, + "pass": true, + "known": true, + "comment": "DOUBLE eps precision issue" + }, + { + "sql": "SELECT SIN(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIN(PI())", + "args": null, + "pass": true, + "known": true, + "comment": "DOUBLE eps precision issue" + }, + { + "sql": "SELECT SIN(1E308)", + "args": null, + "pass": true, + "known": true, + "comment": "DOUBLE eps precision issue" + }, + { + "sql": "SELECT SIN(0x2A)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIN(B'1010')", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE eps precision issue" + }, + { + "sql": "SELECT SIN(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIN(45 / 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIN('invalid')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIN('2023-10-10')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIN(0.12345678901234567890)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIN(SQRT(2))", + "args": null, + "pass": true, + "known": true, + "comment": "DOUBLE eps precision issue" + }, + { + "sql": "SELECT SIN(1e2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIN('123a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIN(2 * ASIN(1))", + "args": null, + "pass": true, + "known": true, + "comment": "DOUBLE eps precision issue" + }, + { + "sql": "SELECT SIN('3e2')", + "args": null, + "pass": true, + "known": true, + "comment": "DOUBLE eps precision issue" + }, + { + "sql": "SELECT SIN(FALSE * 3.14)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIN(CONCAT('3', '.14'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIN('12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIN(1E309)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIN(45/0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIN('invalid_number')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIN(0.123456789012345678)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIN(SQRT(-1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIN(FALSE-1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIN(NOW())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIN(CONCAT('3','.14'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIN(X'FF')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "space": [ + { + "sql": "SELECT SPACE(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SPACE(-1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SPACE(3.9)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SPACE('5')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SPACE('3a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SPACE(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SPACE(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SPACE(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SPACE(0x0A)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SPACE(b'1010')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SPACE(4294967295)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SPACE(2 + 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SPACE(CHAR_LENGTH('four'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SPACE('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SPACE(' 6 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SPACE(1.0E0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SPACE(1.5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SPACE('0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SPACE(' -3 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SPACE(2147483648)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "sqrt": [ + { + "sql": "SELECT SQRT(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT(-1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT('25')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT(12.25)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT(1e4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT('invalid')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT(b'100')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT(0x20)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT(' 16 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT(CONCAT('1','6'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT(-0.0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT(1e308)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT('12345678901234567890')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT('2023-10-05')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT('16.0E0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT(9 + 16)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT(0.0001)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT('0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT(' 64 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT('123.456')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT(-100.5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT('12a3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT(0xff)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT('NaN')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT(CAST('36' AS CHAR))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT(1/0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT(POWER(6,2))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT('2.5e2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT(-SQRT(16))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT(2.3E+4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT('00000016')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT(X'40')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT(' ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT(-1 * 25)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT(18446744073709551615)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SQRT('Infinity')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "str_to_date": [ + { + "sql": "SELECT STR_TO_DATE('20230229', '%Y%m%d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE(20230515, '%Y%m%d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('12:45PM', '%h:%i%p')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('2023-13-15', '%Y-%m-%d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('', '%Y-%m-%d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('Date:2023/05/15', 'Date:%Y/%m/%d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('15/05/23', '%d/%m/%y')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('23:59:59.999999', '%H:%i:%s.%f')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('2023-05-15 ExtraText', '%Y-%m-%d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('Tuesday, 23 May 2023', '%W, %d %M %Y')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59433" + }, + { + "sql": "SELECT STR_TO_DATE('00:00:00', '%H:%i:%s')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('13/13/2023', '%d/%m/%Y')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('2023-05-15', '%Y-%m-%d %H:%i:%s')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE(NULL, '%Y-%m-%d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('2023-05-15', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('7\\\\5\\\\2023', '%d\\\\%m\\\\%Y')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('2023-05-15T12:34:56', '%Y-%m-%dT%H:%i:%s')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('123456', '%h%i%s')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('2023-02-30', '%Y-%m-%d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('0000-00-00', '%Y-%m-%d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('20240229', '%Y%m%d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE(20240431, '%Y%m%d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('9:78:32', '%H:%i:%s')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('2023-00-15', '%Y-%m-%d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('31-Apr-2023', '%d-%b-%Y')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('Q22023', '%Q%Y')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('2023/05/15 25:00:00', '%Y/%m/%d %H:%i:%s')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('12\\31\\2023', '%m\\%d\\%Y')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('2023-05-15 12:34:56.789', '%Y-%m-%d %H:%i:%s.%f')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('9999-12-31', '%Y-%m-%d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('10000-01-01', '%Y-%m-%d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('2023-05-15', '%Y')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('ABCDEF', '%Y%m%d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('2023-05-15 12', '%Y-%m-%d %H')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('2023W05', '%XW%V')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('365', '%j')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STR_TO_DATE('12/31', '%m/%d')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "strcmp": [ + { + "sql": "SELECT STRCMP(NULL, 'test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP('a', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP(NULL, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP(123, '123')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP(123, '1234')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP('123', 123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP(12.3, '12.3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP(12.3, '12.30')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP('', '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP('', 'a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP(BINARY 'A', 'a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP('\t', ' ')", + "args": null, + "pass": false, + "known": true, + "comment": "known issue for TiDB collation" + }, + { + "sql": "SELECT STRCMP('", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "', '", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP('\\\\', '\\\\\\\\')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP(TRUE, '1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP(FALSE, '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP(0x6162, 'ab')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP(_binary 'a', 'A')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP('a', 'aa')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP('0123', 123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP(NULL, '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP('', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP(0, FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP('0', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP('12.3', 12.3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP('12.30', 12.3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP('\\n', '\\r')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP('A', 'a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP(_utf8mb4 'abc', 'ABC')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP(_binary 'X', 'x')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP(1.00, '1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP('123a', 123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP(' ', CHAR(32))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP('ä', 'a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP('12e3', '12000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP('1E3', '1000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "subdate": [ + { + "sql": "SELECT SUBDATE('2020-02-29', INTERVAL 1 YEAR)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('2024-03-31', INTERVAL 1 MONTH)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('2024-01-01', INTERVAL -1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE(20240101, 30)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('0000-00-00', INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('2023-02-28 23:59:59', INTERVAL 1 MICROSECOND)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE(CAST('2024-01-01' AS DATETIME), INTERVAL 25 HOUR)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('2024-01-01', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE(NULL, INTERVAL 1 WEEK)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('2024-12-31', INTERVAL 1 QUARTER)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('9999-12-31 23:59:59', INTERVAL 1 SECOND)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('2024-02-30', INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('2024-01-01', '1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('2024-01-01', INTERVAL 1.5 DAY_MINUTE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('20240101 12:34', INTERVAL '2-3' YEAR_MONTH)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE(0, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('2024-06-15', INTERVAL 4294967296 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('24-02-29', INTERVAL 100 YEAR)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('2024-01-01', INTERVAL 1 MINUTE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('2024-01-01 00:00:00.000001', INTERVAL 1 MICROSECOND)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('2021-03-31', INTERVAL 365 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE(20241231, INTERVAL '5:30' HOUR_MINUTE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('2024-12-31', INTERVAL 3-2 QUARTER)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('2024-02-29', INTERVAL 1 MONTH)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('2023-03-32', INTERVAL 0 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('1000-01-01', INTERVAL 100000 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE(CAST('2025-05-05' AS DATE), INTERVAL TRUE MONTH)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('2024-01-32', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('2020-12-31', INTERVAL '2' YEAR)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('2020-01-01', INTERVAL 24.5 HOUR_SECOND)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('0001-01-01', INTERVAL -9999 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('2024-09-00', INTERVAL 1 WEEK)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE(123, INTERVAL 1 MONTH)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('2024-07-04', INTERVAL 2147483648 MICROSECOND)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('2024-01-01', INTERVAL '1x' DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('9998-01-01', INTERVAL -2 YEAR)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('2024-01-01', 'invalid')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('2024-04-31', INTERVAL 1 MONTH)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE('2024-01-01', INTERVAL 256 HOUR)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBDATE(_utf8mb4'2024-01-01', INTERVAL X'01' DAY)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59621" + } + ], + "substr": [ + { + "sql": "SELECT SUBSTR(NULL, 1, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR(12345, -3, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR('abc\\\\tdef', 4, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR(DATE '2023-10-23', 6)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR('test', TRUE, FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR('', 1, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR('café', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR(123.456, 4, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR('example', NULL, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR('abcdef', 0, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR(X'414243', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR('xyz', 5, 10)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR('abc', 2, -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR('αβγδ', -2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR('a\\nb', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR('abcd', '2', '3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR('text', LENGTH('te'), 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR(0, 1, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR('test', 2, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR('12345', 3.7, 2.2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR(NULL, 2, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR('abc\\\\ndef', -1, 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR(9876.5, 3, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR(TIME '12:34:56', 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR(FALSE, 1, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR('äöüß', -2, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR('', -5, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR(0x1234ABCD, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR('text', '2e0', '1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR('abcd', NULLIF(2,2), NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR('a\\\\0b', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR(CHAR(65 USING utf8), 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR('value', POW(2,1), SQRT(4))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR(TRUE, 1, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR('longstring', LENGTH('short'), 100)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR('12\\'3', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR(BINARY 'test', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR('🍣🍜', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR('test', 2147483647, -9)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTR(CURRENT_USER(), LOCATE('@',CURRENT_USER()))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "substring": [ + { + "sql": "SELECT SUBSTRING(12345, 2, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING('abcdef', -3, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING(NULL, 1, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING('abcdef', '2', '3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING('abcdef', 2.5, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING('2023-10-05', 6, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING('abc', 5, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING('abcd', -2, 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING('test', TRUE, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING(BINARY 'abc', 2, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING('', 1, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING('abc', 0, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING('abc', 1, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING('abc', 1, -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING(0x616263, 2, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING('abcdef' FROM -3 FOR 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING('a\\nb\\tc', 2, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING('abc', NULL, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING('abc', 2, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING('abc', -4, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "substring_index": [ + { + "sql": "SELECT SUBSTRING_INDEX(NULL, ',', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('a,b,c', NULL, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('a,b,c', ',', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('', ',', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('test', '', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('a,b,c', ',', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('a-b-c-d-e-f', '-', 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('a-b-c-d-e-f', '-', -5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('1,2,3,4', ',', '3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX(12345, 3, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('apple,orange,banana', ',', 100)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('one;two;three;four;five', ';', -3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX(CONCAT('a', ',', 'b'), ',', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('x$$y$$z', '$$', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('192.168.1.1', '.', 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('line\\nbreak', '\\n', -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('aaa,bbb,ccc,ddd,', ',', -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('mixedTypes123', 'Types', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX(123.456, '.', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('a,,b,,c', ',,', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX(NULL, 'x', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('abc', NULL, -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('a|b|c', '|', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('', ':', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('data', '', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('1,2,3', ',', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('q-w-e-r-t-y', '-', 10)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('alpha-beta-gamma', '-', -2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('cat;dog;fish', ';', '2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX(987654, 7, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('red,green,blue', ',', 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('a/b/c/d/e/f', '/', -4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX(CONCAT('X','YZ','Z'), 'YZ', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('foo##bar##baz', '##', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('255.255.255.0', '.', -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('tab\tseparated', '\t', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('end,,', ',', -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('number123text', '123', -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX(3.14159, '.', -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING_INDEX('xxyyzzxxyyzz', 'xx', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "subtime": [ + { + "sql": "SELECT SUBTIME('2024-02-29 23:59:59', '24:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBTIME('23:59:59.999999', '00:00:00.000001')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBTIME('10:00:00', '12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBTIME('2024-03-01', '24:00:00')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59451" + }, + { + "sql": "SELECT SUBTIME(123456, 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBTIME(123456.789, 1234.56)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBTIME('12:34', '1:1:1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBTIME('2024-02-29', '1 12:00:00')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59451" + }, + { + "sql": "SELECT SUBTIME(NULL, '01:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBTIME('12:00:00', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBTIME('2024-02-29 12:34:56.789', '123456.789')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBTIME('2024-02-29 00:00:00', '47:59:59.999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBTIME('00:00:00', '00:00:00.1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBTIME('2024-02-29 12:00:00', '-05:30:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBTIME('12:34:56.789123', '123456.789123')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBTIME('9999-12-31 23:59:59.999999', '9999-12-31 23:59:59.999999')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59452" + }, + { + "sql": "SELECT SUBTIME('2020-02-29 00:00:00', '24:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBTIME('2024-02-29', '1 00:00:00')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59451" + }, + { + "sql": "SELECT SUBTIME('12:34:56', '0.123456')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBTIME('2024-02-29 12:34:56', '1 1:1:1.123456')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "sysdate": [ + { + "sql": "SELECT SYSDATE() + INTERVAL 1 DAY - SYSDATE()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SYSDATE() + 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(SYSDATE(), 'Z')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SYSDATE() WHERE SYSDATE() \u003e NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COALESCE(SYSDATE(), NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SYSDATE() + NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_FORMAT(SYSDATE(), 123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF(SYSDATE(), 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNIX_TIMESTAMP(SYSDATE() + 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SYSDATE() BETWEEN 1 AND '2024-12-31'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(SYSDATE() AS UNSIGNED)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SYSDATE() + B'1'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SYSDATE() + INTERVAL '1.5' SECOND", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPDIFF(MONTH, SYSDATE(), NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(SYSDATE(), 'invalid')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT_TZ(SYSDATE(), 0, 'SYSTEM')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SYSDATE() IN (NULL, NOW())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(SYSDATE() + TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME(SYSDATE() + INTERVAL -1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE SYSDATE() WHEN NULL THEN 1 ELSE 0 END", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SYSDATE() | B'0001'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SYSDATE() REGEXP '202[4-9]'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SYSDATE() \u003e\u003e 0x1F", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_EXTRACT(SYSDATE(), '$')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LOG2(SYSDATE() - SYSDATE() + 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GEOMFROMWKB(SYSDATE()) IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBTIME(SYSDATE(), 2147483647)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SYSDATE() DIV 0E0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OVERLAPS(SYSDATE(), SYSDATE(), 1, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1 ORDER BY SYSDATE() - '0000-00-00'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEIGHT_STRING(SYSDATE() AS BINARY(8))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MAKETIME(SYSDATE() % 24, SYSDATE()%60, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "system_user": [ + { + "sql": "SELECT system_user() + 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(system_user(), 'test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT system_user() LIKE '%root%'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COALESCE(system_user(), 'default')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER(system_user())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LENGTH(system_user())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(system_user() AS BINARY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT system_user() IN (SELECT system_user())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(system_user(), 'unknown')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT REVERSE(system_user())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT system_user() COLLATE utf8mb4_bin", + "args": null, + "pass": false, + "known": true, + "comment": "MySQL returns utf8mb3" + }, + { + "sql": "SELECT CHAR_LENGTH(system_user())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT system_user() = CURRENT_USER()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MD5(system_user())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT(system_user() USING latin1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT system_user() IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING(system_user(), 1, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT system_user() BETWEEN 'a' AND 'z'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE WHEN system_user() THEN 1 ELSE 0 END", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT BINARY system_user() = system_user()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT system_user() / 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASCII(system_user())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT system_user() REGEXP '^[a-z]+@'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(system_user() AS UNSIGNED)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT system_user() + '123'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT JSON_ARRAY(system_user())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SIGN(system_user())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT system_user() DIV 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT EXP(system_user())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT OCTET_LENGTH(system_user())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK(system_user())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT system_user() \u003c\u003c 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(system_user())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT GEOMCOLLECTION(system_user())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT MATCH(system_user()) AGAINST ('root')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT system_user() \u0026 255", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMP(system_user())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STDDEV(system_user())", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "tan": [ + { + "sql": "SELECT TAN(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TAN(PI() / 2)", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT TAN('1.5708')", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT TAN(-1.5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TAN(0x1)", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT TAN(b'1')", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT TAN(TRUE)", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT TAN(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TAN(999999)", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT TAN(1.7976931348623157E+308)", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT TAN('0.7854')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TAN(' 0.7854 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TAN(1.5e0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TAN('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TAN(TAN(1))", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT TAN(-0.0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TAN('1234abcd')", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT TAN(0.0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TAN(3 * PI())", + "args": null, + "pass": false, + "known": true, + "comment": "DOUBLE precision issue" + }, + { + "sql": "SELECT TAN('2023-10-05')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "time": [ + { + "sql": "SELECT TIME('838:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME('25:30:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME(123456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME('2023-01-01 12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME(TIME_FORMAT('12:34:56', '%H:%i:%s'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME('12:34')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME('12345')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME(1234.56)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME('23:59:59.999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME(1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME('0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME('00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME('')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59432" + }, + { + "sql": "SELECT TIME(CONCAT('12',':','34'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME('12:34:56.789')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME(123456.789)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME('NOT_A_TIME')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59432" + }, + { + "sql": "SELECT TIME(IFNULL(NULL, '12:34:56'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "time_format": [ + { + "sql": "SELECT TIME_FORMAT('23:59:59', '%H:%i:%s %p')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT('2024-05-01 12:34:56', '%H:%i')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT('12:34:56.789', '%H:%i:%s.%f')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT(123456, '%H:%i:%s')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT(NULL, '%H:%i')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT('12:34:56', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT(NULL, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT('24:00:00', '%H:%i:%s')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT('12:34:56', '')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59445" + }, + { + "sql": "SELECT TIME_FORMAT('12:34:56', '%%%H')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT('2024-05-01', '%H:%i:%s')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT('123456', '%H:%i:%s')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT('00:00:00', '%H:%i:%s')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT('12:34:56', '%Q-%H')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT(' 12:34:56 ', '%H:%i')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT('30:15:45', '%H:%i:%s')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT(12.34, '%H:%i')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT('12:34:56', '%H\\t%i')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT('13:45:00', '%h:%i %p')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT('00:00:00', '%l:%i %p')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT('13:45:00.123456', '%H:%i:%s.%f')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT('2023-12-31', '%h:%i %p')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT(123456.789, '%H:%i:%s.%f')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT(' 09:45 PM ', '%H:%i')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT('25:99:99', '%H:%i:%s')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT(CAST('12:34:56' AS TIME), '%r')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT('00:00:00.000', '%h:%i %p')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT('invalid_time', '%H-%i')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT('12:34', '%H:%i:%s')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT(CURRENT_TIME(), '%T')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT('23:59:59.999999', '%H.%i.%s')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT('12:34:56', CONCAT('%','H'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT('2011-01-01 12:34:56', '%k:%i')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT('', '%H:%i:%s')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT('12:34:56.7', '%s.%f')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT('abc:def:ghi', '%H:%i:%s')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_FORMAT(0, '%H:%i')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "time_to_sec": [ + { + "sql": "SELECT TIME_TO_SEC('838:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_TO_SEC('-838:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_TO_SEC(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_TO_SEC(' 12:34:56 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_TO_SEC('-12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_TO_SEC(MAKETIME(25, 0, 0))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_TO_SEC(123456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_TO_SEC('24:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_TO_SEC('123456')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_TO_SEC('00:00:59.999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_TO_SEC(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_TO_SEC('2023-01-01 12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_TO_SEC('12:34:56.789')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_TO_SEC('1000:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_TO_SEC('12.34.56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_TO_SEC('0000:00:01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_TO_SEC(123.456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_TO_SEC(ADDTIME('23:59:59', '0:0:2'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_TO_SEC('0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME_TO_SEC('25:69:70')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "timediff": [ + { + "sql": "SELECT TIMEDIFF('2024-05-01 23:59:59', '2024-05-02 00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('2024-05-01', '2024-05-01 12:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('838:59:59', '00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('12:34:56.789', '12:34:56.123')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF(NULL, '2024-05-01 12:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF(123456, 654321)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('2024-02-29 00:00:00', '2024-03-01 00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('23:59', '00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('0000-00-00 00:00:00', '0000-00-00 00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('100:00:00', '200:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('2023-12-31 23:59:59', '2024-01-01 00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('00:00:00.000001', '00:00:00.000002')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('2024-05-01 12:00:00', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF(CAST('2024-05-01' AS DATETIME), '2024-05-02 00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('123456', '654321')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('2024-05-01 00:00:00', '2024-05-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('2020-02-29 12:00:00', '2021-02-28 12:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('9999-12-31 23:59:59', '0000-00-00 00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('40:00:00', '30:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('2024-05-01 12:34:56', CAST('12:34:56' AS TIME))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('23:59:59.999999', '00:00:00.000000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('2024-12-31 23:59:59', '2025-01-01 00:00:01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF(CAST('2024-05-01' AS DATE), '2024-05-01 12:30:45')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59622" + }, + { + "sql": "SELECT TIMEDIFF('999:59:59', '999:59:58')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('2020-02-29 12:00:00', '2020-03-01 12:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('0000-00-00', '0000-00-00 23:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('1999-12-31 23:59:59', '2000-01-01 00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('00:00:01', '00:00:02')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('2024-06-30 23:59:59', '2024-07-01 00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('2024-05-01 12:00:00', 20240501120000)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('9999-12-31 23:59:59', '1000-01-01 00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF(CAST('25:00:00' AS TIME), '24:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('2024-05-01', CAST('2024-05-02' AS DATETIME))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('2024-05-01 -1:00:00', '2024-05-01 00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('10000-01-01 00:00:00', '9999-12-31 23:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('00:00:00', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF('2024-05-01', TIMESTAMP('2024-05-01 01:00:00'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "timeliteral": [ + { + "sql": "SELECT timeliteral('23:59:59.999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral(123456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral('838:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral('000000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral('-12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral(CAST('2023-01-01' AS DATE))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral('notatime')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral('12:00:00' + INTERVAL 1 HOUR)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral(BINARY '12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral('1000:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral('00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral(123456.789)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral('12.34-56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral(' 12:34:56 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral(CONCAT('12',':34:56'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral(CAST('2023-10-10 12:34:56' AS TIMESTAMP))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral('2023-10-10 12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral('12:34:56+05:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral(timeliteral('12:34:56'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral('24:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral('12:60:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral('12.34.56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral('0:0:0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral('12:34')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral('12:34:56.1234')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral('12:34:56.1234567')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral(1234.56)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral('1 12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timeliteral(CAST('12:34:56' AS CHAR))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "timestamp": [ + { + "sql": "SELECT TIMESTAMP('2020-02-29', '23:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMP('0000-00-00 00:00:00')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59437" + }, + { + "sql": "SELECT TIMESTAMP(20231010)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMP('2023-13-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMP('12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMP(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMP('2023-10-10', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMP(123456, 7890)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMP(20231010, 123456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMP('2023-10-10', '999:99:99')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMP('2023-02-30')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMP('2023-10-10 12:00:00', '1 12:30:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMP('2023-10-10', '12345')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMP('2023-10-10', 'BAD_TIME')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMP('0000-00-00', '00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMP(0, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMP('2023-10-10', '-1:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMP('9999-12-31 23:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMP(30810904)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMP('2023-10-10T12:00:00Z')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59438" + } + ], + "timestampadd": [ + { + "sql": "SELECT TIMESTAMPADD(MICROSECOND, 1, '2023-10-23 00:00:00.000000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPADD(MINUTE, '30', 20231023)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPADD(HOUR, 24, '2023-02-28')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPADD(DAY, -1, '2023-01-01')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59439" + }, + { + "sql": "SELECT TIMESTAMPADD(WEEK, 2, '2023-12-31')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59439" + }, + { + "sql": "SELECT TIMESTAMPADD(MONTH, 13, '2022-05-15')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59439" + }, + { + "sql": "SELECT TIMESTAMPADD(YEAR, 9999, '1000-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPADD(QUARTER, 4, '2023-01-01')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59439" + }, + { + "sql": "SELECT TIMESTAMPADD(SECOND, 86400, '2023-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPADD(DAY, 0, '2023-10-23')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59439" + }, + { + "sql": "SELECT TIMESTAMPADD(NULL, 1, '2023-10-23')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPADD(DAY, NULL, '2023-10-23')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPADD(DAY, 1, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPADD(MICROSECOND, '500000', '2023-10-23 12:00:00.000000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPADD(DAY, 1, 20231023)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59439" + }, + { + "sql": "SELECT TIMESTAMPADD(MONTH, 1, '2020-02-29')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59439" + }, + { + "sql": "SELECT TIMESTAMPADD(HOUR, 24.9, '2023-10-23')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPADD(MONTH, 12, '2023-10-31')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59439" + }, + { + "sql": "SELECT TIMESTAMPADD(SECOND, 3600, '2023-10-23 12:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPADD(DAY, 1, '9999-12-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPADD(HOUR, 23.5, '2023-10-23 00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPADD(MINUTE, 1440, '2023-05-15 12:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPADD(SECOND, '3600', '2023-07-04')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPADD(MICROSECOND, 500, '2023-10-23 12:34:56.789012')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPADD(HOUR, '24', '2020-02-29')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPADD(YEAR, '1', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPADD(SECOND, 59.999999, '2023-10-23 23:59:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPADD(HOUR, CAST('12.3' AS DECIMAL(3,1)), '2023-10-23')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPADD(MONTH, 0, '1970-01-01 00:00:01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "timestampdiff": [ + { + "sql": "SELECT TIMESTAMPDIFF(MICROSECOND, '2023-01-01 00:00:00.000001', '2023-01-01 00:00:00.000002')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPDIFF(SECOND, '2024-02-29 23:59:59', '2024-03-01 00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPDIFF(DAY, '2023-12-31', '2024-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPDIFF(MONTH, '2023-01-31', '2023-02-28')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPDIFF(YEAR, '2022-02-28', '2023-02-28')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPDIFF(QUARTER, '2023-01-01', '2023-04-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPDIFF(WEEK, '2023-01-01', '2023-01-08')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPDIFF(HOUR, '2023-01-01 12:00:00', '2023-01-01 13:30:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPDIFF(MINUTE, '2023-01-01 00:00:00', '2023-01-01 00:00:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPDIFF(DAY, NULL, '2023-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPDIFF(MONTH, '2023-01-15', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPDIFF(YEAR, '2020-02-29', '2024-02-29')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPDIFF(MONTH, '2023-01-31', '2023-03-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPDIFF(DAY, 20230101, '2023-01-02')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPDIFF(SECOND, '2023-01-01', '2023-01-01 00:00:00.123456')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPDIFF(MICROSECOND, '2023-01-01 00:00:00.000000', '2023-01-01 00:00:00.000001')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPDIFF(DAY, '9999-12-31', '1000-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPDIFF(YEAR, '2023-07-01', '2024-06-30')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPDIFF(QUARTER, '2023-01-01', '2023-12-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMESTAMPDIFF(MONTH, '2023-05-15', '2023-05-16')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "timestampliteral": [ + { + "sql": "SELECT timestampliteral('2024-01-01 12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral(20240101123456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral(DATE '2024-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral('2020-02-29 23:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral('2038-01-19 03:14:07')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral('1970-01-01 00:00:01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral('2024-01-01 12:34:56.789')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral('2024-01-01T12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral('2024/01/01 12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral('12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral(CAST('2024-01-01' AS DATE))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral('2024-01-01' + INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral('2024-01-01 12:34:56+00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral('2024-01-01 12:34:56.789012')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral('0000-00-00 00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral('20240101')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral('1970-01-01 00:00:01.000001')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral('2038-01-19 03:14:07.999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral('2023-10-05T12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral('2023/10/05 12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral(20231005123456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral('12:34:56.789')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral('2023-10-05 24:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral('2023-13-32 25:61:61')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral('2023-10-05 12:34:56+07:30')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral('23-10-05')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral(1700000000)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral(' 2023-10-05 ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral('20231005.123456')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral('05-Oct-2023 12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral('2023-10-05 12.34.56.789')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT timestampliteral('9999-12-31 23:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "to_base64": [ + { + "sql": "SELECT TO_BASE64(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_BASE64('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_BASE64(b'00101010')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_BASE64(-12345)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_BASE64(123.456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_BASE64('\\n\\t\\\\')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_BASE64('áéîøü')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_BASE64(REPEAT('a', 256))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_BASE64(CURRENT_DATE())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_BASE64(CURRENT_TIME())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_BASE64(0x4D7953514C)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_BASE64(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_BASE64(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_BASE64(CONCAT('Hello', NULL, 'World'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_BASE64(123 + 456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_BASE64(''' OR ''1''=''1')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_BASE64('𝄞')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_BASE64(CAST('binary' AS BINARY))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_BASE64(1E+30)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59450" + }, + { + "sql": "SELECT TO_BASE64(123 + 'abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "to_days": [ + { + "sql": "SELECT TO_DAYS('0000-00-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS(99999999999999999999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS('2023-02-30')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS('838:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS('0001-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS('9999-12-31 23:59:59.999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS(2023.987)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS('831001')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS('0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS('2023-13-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS('10/31/2023')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS('2023-06-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS(-5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS('10000-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS(CONCAT('2023','-','02-29'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS('2023-00-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS('0000-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS('1400-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS('2023-06-01 12:34:56.789')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS('2023-12-32')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS('0000-01-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS(123456789)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS('2023-06-01T12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS('9999-12-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS('2023-04-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS('1996-02-29')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS('1999-02-29')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS('2023-07-04 00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS('2038-01-19')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS('2023-00-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS('0000-12-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS(CAST('2023-05-15' AS DATETIME))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS('2023-05-15 23:59:59.999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_DAYS('19991231')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "to_seconds": [ + { + "sql": "SELECT TO_SECONDS('0000-00-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_SECONDS(20240305123456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_SECONDS('2024-02-30')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_SECONDS('12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_SECONDS('10000-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_SECONDS('2024-03-05T12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_SECONDS('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_SECONDS('2024-13-05')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_SECONDS('9999-12-31 23:59:59.999999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_SECONDS('0000-01-01 00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_SECONDS(123.456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_SECONDS('2024-03-05XYZ')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59440" + }, + { + "sql": "SELECT TO_SECONDS(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_SECONDS('2024-03-05 25:61:61')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_SECONDS(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_SECONDS('1000-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_SECONDS('abcdefgh')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_SECONDS(CAST('2010-05-01' AS CHAR))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_SECONDS('20240305')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TO_SECONDS('2024-03-05' + INTERVAL 1 YEAR)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "trim": [ + { + "sql": "SELECT TRIM(BOTH 'xyz' FROM 'xyzTestxyz')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(LEADING NULL FROM 'abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(TRAILING '0' FROM '123.450')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(BOTH '", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "' FROM '", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "Line", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(BOTH 'ab' FROM 'ababTestabab')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(LEADING ' ' FROM 123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(TRAILING 'xyz' FROM 'testxyzxyz')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(BOTH '' FROM 'abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(LEADING '0' FROM '000ABC000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(BOTH '*/' FROM '/**comment*/')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(BOTH 'ä' FROM 'äätestää')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(TRAILING FROM ' test ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(LEADING 123 FROM '12345')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(BOTH '\t' FROM '\ttext\t')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(BOTH 'a' FROM 'aaaa')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(LEADING '12' FROM '12123test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(BOTH '\\\\' FROM '\\\\test\\\\')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(123.45)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(BOTH 0x00 FROM 0x00005465737400)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(TRAILING 123 FROM '12345')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(LEADING '\\t' FROM '\\t text')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(BOTH 'xyz' FROM 'xyzzy')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(LEADING 'À' FROM 'ÀÀTest')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(BOTH '123' FROM 12345)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(TRAILING 0 FROM 123.450)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(BOTH TRUE FROM TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(' \\t\\n\\r' FROM '\\t\\n test \\r\\n')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(BOTH '[]' FROM '[test]')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(LEADING 0x41 FROM CHAR(0x41,0x41,0x42,0x42))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(BOTH COLLATE utf8_bin 'a' FROM 'aAaaa')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(BOTH 2.5 FROM '2.5value2.5')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(TRAILING 'ab' FROM 'aabbaab')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(NULL FROM 'test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(BOTH '_' FROM '___test___')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRIM(LEADING '+' FROM '+12345')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "truncate": [ + { + "sql": "SELECT TRUNCATE(123456, -3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE('12345.6789', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE(987.654321, 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE(1234.5678, -2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE(123, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE(' 123.999abc', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE(-12345.6789, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE(NULL, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE(55, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE('12e3', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE(0.00000012345, 6)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE(TRUE, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE('999999999.9999999999', 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE(0x1A, -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE('2023-10-05', -2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE(1.5e2, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE('123a.45', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE(123456789.987654321, -5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE(PI(), 30)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE(1.3333333333, '3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE(987654.321, -5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE(' 555.555 ', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE(123.999999999, 7)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE(9876, -3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE(0, 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE('xyz123.45', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE(-999.999, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE(NULL, -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE(123.45, NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE('6.022e23', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE(0.0000012345, 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE(FALSE, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE('1000000000000.123456789', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE(0xFF, -2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE('2030-12-31 23:59:59', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE(2.5e-3, 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE('12.3four5', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE(1234567890.12345, -7)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE(SQRT(2), 15)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUNCATE(9.87654321, '2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "ucase": [ + { + "sql": "SELECT UCASE(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE(12345)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE('Hello World!')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE(12.34)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE(' ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE('éçà')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE(BINARY 'Test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE('straße')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE('a1B2c3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE(DATE '2023-10-05')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE(TIMESTAMP '2023-10-05 12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE(0x616263)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE(CONCAT('Hello', NULL))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE('ALREADY UPPER')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE('\t", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE('абвгд')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE(SUBSTRING('Hello World', 1, 5))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE(' test ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE(1234567890)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE('lower UPPER mixed')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE('NULL')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE('über')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE('hello\tworld')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE('123!@#$%')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE('-3.14')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE('ÄÖÜ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE(X'404142')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE(CHAR(97)+CHAR(98))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE('ñ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE('hello\nworld')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE('Zażółć')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE(' trailing space ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE(INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE('āēīōū')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE(CAST('test' AS CHAR CHARACTER SET utf8))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UCASE('ΜΠΑΜ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "uncompress": [ + { + "sql": "SELECT UNCOMPRESS('invalid_compressed')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(1234)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(COMPRESS('test'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(COMPRESS(''))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(123.45)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(X'1234ABCD')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(CONCAT(COMPRESS('abc'), 'x'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(_binary '1A2B3C')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(COMPRESS('áéíóú'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(COMPRESS(123))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(COMPRESS(NULL))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(COMPRESS(' '))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(COMPRESS('\\\\\\\"'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(COMPRESS(_utf8mb4 'test'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(CAST('data' AS BINARY))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(COMPRESS(REPEAT('X', 100)))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(COMPRESS(CONVERT('test' USING utf8mb4)))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(COMPRESS('\\n\\t\\0'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS('corrupted_data')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(COMPRESS(0x123456))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(COMPRESS(0))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(CONVERT('test', BINARY))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(COMPRESS('🧪'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(CHAR(0x78))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(COMPRESS(UNHEX('1A2B')))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(COMPRESS('NULL'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(COMPRESS('☃️'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(COMPRESS(X'00'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(COMPRESS(JSON_OBJECT('key','value')))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(UNCOMPRESS(COMPRESS('nested')))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(COMPRESS(CONCAT(CHAR(0),'text')))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(COMPRESS(_latin1 'test'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(COMPRESS(REPEAT('A',65535)))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESS(COMPRESS('\\''))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "uncompressed_length": [ + { + "sql": "SELECT UNCOMPRESSED_LENGTH(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(12345)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH('invalid_compressed_data')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59617" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(UNHEX('1F8B080000000000000B4A2D2E4E2C4F4D04000000FFFF'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(COMPRESS(''))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(COMPRESS('a'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(COMPRESS(REPEAT('a', 1000)))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH('hello')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59617" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(CHAR(0x78, 0x9C, 0x4B, 0x2C, 0x02, 0x00))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(BINARY 'compressed_data')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59617" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(UNHEX('1F8B0800000000000003030000000000000000'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(CAST(12345 AS BINARY))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(CONCAT(COMPRESS('a'), 'b'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(COMPRESS(REPEAT('X', 10000)))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(COMPRESS('áéíóúñ'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(COMPRESS(12345))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(SUBSTRING(COMPRESS('hello'), 1, 3))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(DATE('2024-05-20'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(TIME('12:34:56'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(BINARY '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(0x1F8B0800000000000003)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(COMPRESS(CONCAT('a', NULL)))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(COMPRESS(UUID()))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(COMPRESS('0'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(X'1F8B0800000000000000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(COMPRESS(ENCRYPT('secret','salt')))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(COMPRESS(UNCOMPRESS(X'789C4B2C020000FFFF')))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(LOAD_FILE('invalid_file.txt'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(COMPRESS(NULL))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(0x789C4B2C020000FFFF)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(COMPRESS(CHAR(255 USING utf8mb4)))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(COMPRESS(MAKE_SET(1,'a','b')))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(COMPRESS(JSON_OBJECT('key',1)))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(COMPRESS(CAST(B'1010' AS UNSIGNED)))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNCOMPRESSED_LENGTH(COMPRESS(X'DEADBEEF'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "unhex": [ + { + "sql": "SELECT UNHEX('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX('414')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX('GG')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX('6162')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX(4142)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX(-1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX(CONCAT('41', NULL))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX(65.5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX('414Z')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX('00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX(' 4142')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX('C3A9')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX('6A5F')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX(123456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX('AaBb')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX(DATE('2023-10-05'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX(HEX('Test'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX('4')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX(123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX('FAIL')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX('3.14')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX('1A2g')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX(X'4041')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX(UNHEX('6162'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX('DEADBEEF')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX(CHAR(65))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX('\\t\\n')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX(B'1010')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX('FF')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX('41 42')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX('ABCDEF01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX(0x41)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX('U+0031')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX('') IS NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX(999999999999999999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNHEX('Café')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "unix_timestamp": [ + { + "sql": "SELECT UNIX_TIMESTAMP(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNIX_TIMESTAMP('1970-01-01 00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNIX_TIMESTAMP('2038-01-19 03:14:07')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNIX_TIMESTAMP('1969-12-31 23:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNIX_TIMESTAMP(20240101)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNIX_TIMESTAMP('2024-02-30')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59434" + }, + { + "sql": "SELECT UNIX_TIMESTAMP('12:34:56')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59434" + }, + { + "sql": "SELECT UNIX_TIMESTAMP('2024/02/28 12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNIX_TIMESTAMP('2024-02-28 12:34:56.789')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNIX_TIMESTAMP('')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59434" + }, + { + "sql": "SELECT UNIX_TIMESTAMP('2024')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59434" + }, + { + "sql": "SELECT UNIX_TIMESTAMP('20240228T123456')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59434" + }, + { + "sql": "SELECT UNIX_TIMESTAMP('24-02-28')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNIX_TIMESTAMP('2024-02-28 12:34:56+05:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNIX_TIMESTAMP(CONCAT('2024','-02-28'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNIX_TIMESTAMP(BINARY '2024-02-28 12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNIX_TIMESTAMP('28 February 2024')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59434" + }, + { + "sql": "SELECT UNIX_TIMESTAMP('9999-12-31 23:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNIX_TIMESTAMP('2024-02-28abc')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59434" + }, + { + "sql": "SELECT UNIX_TIMESTAMP(DATE_ADD('1970-01-01', INTERVAL 1 SECOND))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "upper": [ + { + "sql": "SELECT UPPER(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER(12345)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER(12.34)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER('aBc\\n')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER('àbç')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER(BINARY 'Test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER(TIME '12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER(DATE '2023-10-05')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER('123AbC')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER(' space ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER('ÄÖÜ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER('test' COLLATE utf8_bin)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER(0x61)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER('ß')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER(_utf8mb4 'test' COLLATE utf8mb4_0900_ai_ci)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER('a\\tb')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER(0x41)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER(BINARY NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER(-42.75)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER(X'7B5D')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER('Íñtërnâtiônàl')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER(CAST('2023-10-05' AS DATETIME))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER(JSON_ARRAY('Test'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER(123.45E-2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER('a\\0b')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER(TIMESTAMP '2023-10-05 09:30:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER(0b11010)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER('μ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER(GEOMETRYFROMTEXT('POINT(1 1)'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER(ENUM('red','green','blue'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER(INTERVAL 1 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UPPER('K' COLLATE utf8_bin)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "user": [ + { + "sql": "SELECT USER() WHERE USER() = 'test@%'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(USER(), 123, NULL) FROM DUAL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE WHEN USER() IS NULL THEN 'NULL' ELSE 'NOT NULL' END", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT USER() LIKE '%@%'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COALESCE(USER(), 'default_user')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT USER() + 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ASCII(USER())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT SUBSTRING(USER(), 1, INSTR(USER(), '@')-1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(USER() AS BINARY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT HEX(USER())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LENGTH(USER())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT USER() IN ('','root@localhost')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT USER() REGEXP '^[^@]*@'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IF(USER()='admin','privileged','guest')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT RIGHT(USER(), 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULLIF(USER(), CURRENT_USER())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT USER() COLLATE utf8mb4_bin", + "args": null, + "pass": false, + "known": true, + "comment": "MySQL returns utf8mb3" + }, + { + "sql": "SELECT BINARY USER() = LOWER(USER())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT_WS('', USER(), 3.14)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT STRCMP(USER(), CONCAT(CURRENT_USER(), '@%'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "utc_date": [ + { + "sql": "SELECT UTC_DATE() + 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(UTC_DATE(), 'T00:00:00Z')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_DATE() + INTERVAL 1 DAY", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATEDIFF(UTC_DATE(), '2000-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_DATE() + NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CHAR_LENGTH(UTC_DATE())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COALESCE(UTC_DATE(), '1970-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_DATE() - INTERVAL 1 MONTH", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(UTC_DATE(), '2000-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_DATE() + '1'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT LEFT(UTC_DATE(), 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_DATE() = '2023-10-05'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNIX_TIMESTAMP(UTC_DATE())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_DATE() + 365", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(UTC_DATE() AS SIGNED)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(UTC_DATE(), 'test')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_ADD(UTC_DATE(), INTERVAL 1 YEAR)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_DATE() BETWEEN '2023-01-01' AND '2024-01-01'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONVERT(UTC_DATE(), CHAR(7))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CASE WHEN UTC_DATE() IS NULL THEN 'NULL' ELSE 'NOT NULL' END", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "utc_time": [ + { + "sql": "SELECT UTC_TIME(3)", + "args": null, + "pass": false, + "known": true, + "comment": "related to millisec" + }, + { + "sql": "SELECT UTC_TIME() + 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(UTC_TIME(), ' UTC')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_TIME() + INTERVAL 45 MINUTE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_TIME() - NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIMEDIFF(UTC_TIME(), '12:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_TIME(6)", + "args": null, + "pass": false, + "known": true, + "comment": "related to millisec" + }, + { + "sql": "SELECT UTC_TIME() || 'Z'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_TIME() + '1'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CAST(UTC_TIME() AS DECIMAL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_TIME(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_TIME() BETWEEN '23:00:00' AND '23:59:59'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT IFNULL(UTC_TIME(), '00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE_ADD(UTC_TIME(), INTERVAL 1 HOUR)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT COALESCE(UTC_TIME(), CURRENT_TIME())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_TIME() + 86400", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UNIX_TIMESTAMP(UTC_TIME())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_TIME() + '02:00'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_TIME() * 1.0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT CONCAT(UTC_TIME(), NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "utc_timestamp": [ + { + "sql": "SELECT UTC_TIMESTAMP()", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_TIMESTAMP(6)", + "args": null, + "pass": false, + "known": true, + "comment": "related to millisec" + }, + { + "sql": "SELECT UTC_TIMESTAMP(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_TIMESTAMP('3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_TIMESTAMP(3.9)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_TIMESTAMP(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_TIMESTAMP(2 + 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_TIMESTAMP(1.999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_TIMESTAMP('6')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_TIMESTAMP(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_TIMESTAMP(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_TIMESTAMP('0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_TIMESTAMP(4.0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_TIMESTAMP('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_TIMESTAMP('abc')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_TIMESTAMP('5a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_TIMESTAMP(6 - 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_TIMESTAMP(CAST('3' AS SIGNED))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_TIMESTAMP(4.5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UTC_TIMESTAMP('3.9')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "uuid_to_bin": [ + { + "sql": "SELECT UUID_TO_BIN('6ccd780c-baba-1026-9564-5b8c656024db', 1);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UUID_TO_BIN('6CCD780C-BABA-1026-9564-5B8C656024DB');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UUID_TO_BIN(12345);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UUID_TO_BIN('00000000-0000-0000-0000-000000000000');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UUID_TO_BIN('6ccd780cbaba102695645b8c656024db');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UUID_TO_BIN('6ccd780c-baba-1026-9564-5b8c656024db', 0);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UUID_TO_BIN(NULL);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UUID_TO_BIN('invalid-uuid-zzzz-xxxx-yyyy-1234567890ab');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UUID_TO_BIN('6ccd780c-baba-1026-9564-5b8c656024db', '1');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UUID_TO_BIN('6ccd780c-baba-1026-9564-5b8c656024db', NULL);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UUID_TO_BIN(UNHEX('6ccd780cbaba102695645b8c656024db'));", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UUID_TO_BIN(' 6ccd780c-baba-1026-9564-5b8c656024db ');", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59457" + }, + { + "sql": "SELECT UUID_TO_BIN('6ccd780c-baba-1026-9564-5b8c656024db', TRUE);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UUID_TO_BIN('6ccd780c-baba-1026-9564-5b8c656024db', FALSE);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UUID_TO_BIN('gccd780c-baba-1026-9564-5b8c656024db');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UUID_TO_BIN('6ccd780c-baba-1026-95645b8c656024db');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UUID_TO_BIN('6ccd780c-baba-1026-9564-5b8c656024db', 2);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UUID_TO_BIN('6ccd780c-baba-1026-9564-5b8c656024db', -1);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UUID_TO_BIN('6ccd780c-baba-1026-9564-5b8c656024db', 'true');", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT UUID_TO_BIN('6ccd780c-baba-1026-9564-5b8c656024db', 0.5);", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "validate_password_strength": [ + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH(123456)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH(REPEAT('a', 100))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH('abcdef')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH('ABCDEFG')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH('Pass123')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH('!@#$%^\u0026*()')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH('pass word')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH(' password ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH(b'010101')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH(0x1234)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH(CURDATE())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH('pass\\nword')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH(''' OR 1=1 --')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH('12345678')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH('P@ssw0rd!')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH('A1!a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH(REPEAT('a', 256))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH(42)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH(3.1415926535)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH(0b1010)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH(DATE('2023-01-01'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH('μñł†î§')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH('password\\twith\\ttabs')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH(CHAR(128))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH('αβγδεζηθ')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH('a')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH(X'53514C')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH(UUID())", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH('Passw0rd')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH('db_password')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH('*')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH(CONCAT('hidden','\\r'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH('1234\\0escape')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH('DROP TABLE users')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH('!')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH(0x4D7953514C5F70617373)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT VALIDATE_PASSWORD_STRENGTH(REPEAT('ä', 50))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "week": [ + { + "sql": "SELECT WEEK('2023-12-31', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK('0000-00-00', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK(20230515, 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK('2023-02-30')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK('2023-05-15', 8)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK('2023-01-01', '2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK('invalid-date', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK(CURDATE() + 0, 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK('12:34:56', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK(MAKEDATE(2023, 365), 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK('2023.05.15', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK(20231301, 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK('2023-05-15 23:59:59.999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK('2023-01-01', NULL)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59444" + }, + { + "sql": "SELECT WEEK(12345, 7)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK('23-05-15', 6)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK('2023-05-15', 9)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK(CONCAT('2023','-05-15'), 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK('0000-01-01', 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK('2024-02-29', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK(20240229, 5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK('2023-00-15', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK('9999-12-31', 7)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK('1970-01-01', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK('2023-13-01', 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK('2023-05-15', -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK('2025-07-32')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK('2023-05-15T12:34:56Z', 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK(0, 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK('0000-01-07', 6)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK('2023/05/15', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK(1700000000, 2)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK('2023-05-15', TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK('2023-05-15', 3 + 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK(MAKETIME(12,34,56), 4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK('2023-05-15', 'invalid_mode')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK(BINARY '2023-05-15', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK(CAST('2023-05-15' AS CHAR), 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEK('2023-05-15', WEEK('2023-01-01', 2))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "weekday": [ + { + "sql": "SELECT WEEKDAY('0000-00-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY('2023-02-29')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY('12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY('2023-13-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY('2023-05-32')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY(CONCAT('2023','-13-01'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY(FALSE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY(2023.0505)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY('0000-00-00 00:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY('15-May-2023')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY('May 15, 2023')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY(99999999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY('2023-05-15T12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY(-1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY('2023-05-15' + INTERVAL 1 MONTH)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY(CAST('invalid' AS DATE))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY('2024-02-30')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY('not-a-date')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY(CAST('2023-02-29' AS DATETIME))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY(123456.789)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY('2023-00-15')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY('2023-05-15 25:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY(BINARY '2023-05-15')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY(2147483648)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY('2023/05/15')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY(0x0A0B)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY('2023-05-15' - INTERVAL 100 DAY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY(JSON_UNQUOTE(JSON_EXTRACT('{\"date\":\"2023-05-32\"}', '$.date')))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY(MAKEDATE(2023, 500))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY(UNIX_TIMESTAMP('2023-05-15'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY('2023-W20-2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY('00000001000000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY(_utf8mb4'2023-05-15')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY(ADDDATE('0000-00-00', 1))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKDAY(STR_TO_DATE('May, 15 2023', '%M, %d %Y'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "weekofyear": [ + { + "sql": "SELECT WEEKOFYEAR(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR('invalid_date')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR('2024-02-29 23:59:59')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR('0000-00-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR(20231231)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR('2023-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR('2023/05/12')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR('2023-13-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR('2023-02-30')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR(-5)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR(20231231235959)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR('23-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR('2023')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR(b'01101000')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR('2023.12.31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR('12/31/2023')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR('May 5th, 2023')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR('0')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR('2023-02-30 00:00:00.999')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR(001236.45)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR(CONCAT('202','3-12-32'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR(X'53514C697465')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR('31/12/2024')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR(2147483647)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR('2023-W50-7')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR(CAST('2023-05-32' AS DATE))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR('January 1, 2023 noon')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR(JSON_EXTRACT('{\"date\":\"2023-07-05\"}', '$.date'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR('2023-06-31T12:34:56Z')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR(0x32303233313331)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR('2023-00-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR(REPLACE('202Y-13-99','Y','3'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR(4294967295)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR('2023/07/32')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEEKOFYEAR('2038-01-19 03:14:07+00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "weight_string": [ + { + "sql": "SELECT WEIGHT_STRING(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEIGHT_STRING(123)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59454" + }, + { + "sql": "SELECT WEIGHT_STRING('abc' AS CHAR(3))", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59454" + }, + { + "sql": "SELECT WEIGHT_STRING('abc' AS BINARY)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEIGHT_STRING('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEIGHT_STRING(0x48656C6C6F)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEIGHT_STRING('test ')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59454" + }, + { + "sql": "SELECT WEIGHT_STRING('çãõ')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59454" + }, + { + "sql": "SELECT WEIGHT_STRING(_utf8mb4 'test' COLLATE utf8mb4_0900_ai_ci)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEIGHT_STRING(123.45)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEIGHT_STRING('123' AS CHAR(5))", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59454" + }, + { + "sql": "SELECT WEIGHT_STRING('🔥')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59454" + }, + { + "sql": "SELECT WEIGHT_STRING(TRUE)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59454" + }, + { + "sql": "SELECT WEIGHT_STRING('\\t\\n\\r')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59454" + }, + { + "sql": "SELECT WEIGHT_STRING('a' COLLATE utf8mb4_bin)", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59454" + }, + { + "sql": "SELECT WEIGHT_STRING('abcd' AS CHAR(2))", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59454" + }, + { + "sql": "SELECT WEIGHT_STRING(X'4D7953514C')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT WEIGHT_STRING('test' AS CHAR(10))", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59454" + }, + { + "sql": "SELECT WEIGHT_STRING('a' 'b')", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59454" + }, + { + "sql": "SELECT WEIGHT_STRING('a' COLLATE latin1_general_ci)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "xor": [ + { + "sql": "SELECT NULL XOR 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1 XOR NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUE XOR NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'a' XOR 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 XOR 'a'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 123.45 XOR 'abc'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT B'1010' XOR 5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -1 XOR 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0' XOR 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0X1A XOR 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '2023-10-05' XOR 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0.000 XOR 0.000", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0xA' XOR '10'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '' XOR TRUE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'NULL' XOR 2", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 XOR B'1111'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -0.5 XOR 0.5", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ' ' XOR 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0XFFFF XOR NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1.0E+3 XOR '1000'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 XOR '0'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUE XOR 0x0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT B'' XOR NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 3.14 XOR 'π'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT X'4040' XOR 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 100 XOR '100e0'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'TRUE' XOR FALSE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0b101 XOR '5'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -32768 XOR 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '' XOR NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0xdeadbeef XOR 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '1e3' XOR 1000", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TIME '12:34:56' XOR 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0b11110000 XOR 0xF0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0x20' XOR 32", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 2147483647 XOR '2147483647'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT _utf8mb4'€' XOR 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0.0 XOR 0x00", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT DATE '2020-02-30' XOR 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1 NOT XOR 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "year": [ + { + "sql": "SELECT YEAR('2024-13-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEAR('0000-00-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEAR(20240520)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEAR('2024/05/20')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEAR('70-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEAR('notadate')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEAR(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEAR(12345.67)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEAR('2024-05-20 12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEAR('0999-12-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEAR('10000-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEAR('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEAR(TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEAR('2024-02-30')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEAR(' 2024-05-20')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEAR('00002024-05-20')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEAR(-2024)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEAR('12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEAR('2024-05-20T12:34:56')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEAR(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "yearweek": [ + { + "sql": "SELECT YEARWEEK(NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('2024-02-30')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK(20240301)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('2023-12-31', 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('2024-05-05', NULL)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('2025-01-01 12:00:00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('0000-00-00')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('2024-02-29')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('NotADate')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK(-123)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('24-12-31')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('2024-12-31', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('2024-05-05', 8)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK(0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('2023-06-15', '2')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK(CAST('2024-03-05' AS DATE))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK(20240301, '3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('2024-05-06 15:30:45.123')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK(CONCAT('2024', '-05-06'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('2024-13-32')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK(19999999)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('2024-06-15', -1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('2024-12-31', 7)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('2024-05-05', TRUE)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('2024-06-01', 0)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('2024-07-04', 'invalid')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('2024-01-01T12:00:00Z')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK(CAST('2025-08-20' AS DATETIME))", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('2024/05/06')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('2024-05-06', 3.14)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('0000-01-01')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('2024-05-05', 0x01)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('2024-05-05', '')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('2024-05-05', '3')", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('2024-05-05', 2 + 3)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('2024-05-05', 0b101)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('2024-05-05', 0) + YEARWEEK('2024-12-31', 1)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK('2024-05-05', MODE=4)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT YEARWEEK(UNIX_TIMESTAMP('2024-05-05'))", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "|": [ + { + "sql": "SELECT 18446744073709551615 | 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 | NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -1 | 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 32767 | 32768", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT b'1010' | b'0101'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '123' | 456", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 1.5e2 | 50", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUE | FALSE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0xFF | 0x0F", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 3.14 | 2.78", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'hello' | 255", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 65535 | 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL | NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '20230101' | 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 | 255", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -128 | 127", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 4294967295 | 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0xabcd' | 0x1234", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 170 | 85", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT b'11110000' | b'00001111'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 18446744073709551615 | 0x1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT NULL | 255", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -32768 | 32767", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0b1000000000000000 | 0b0000000000000001", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '65535' | 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 3.141592 | 1.618", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT TRUE | NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0xDEADBEEF | 0xCAFEBABE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '0b1111' | 15", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 2147483647 | -2147483648", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '999999999999999999' | 1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0 | 0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT b'11111111' | 256", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT '1970-01-01' | 255", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0b10101010 | 0b01010101", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT -1 | -1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0xFFFFFFFF | 0x00000000", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 'test' | 0xFF", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 170 | 0xAA", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT 0b10000000 | 0b01111111", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ], + "~": [ + { + "sql": "SELECT ~0", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ~18446744073709551615", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ~'12345'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ~-1", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ~0xABCDEF", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ~NULL", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ~9223372036854775807", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ~TRUE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ~FALSE", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ~-9223372036854775808", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ~b'1010'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ~BINARY '999'", + "args": null, + "pass": false, + "known": true, + "comment": "https://github.com/pingcap/tidb/issues/59415" + }, + { + "sql": "SELECT ~12345.678", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ~'0'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ~'1e3'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ~'0000123'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ~'abc'", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ~(1 \u003c\u003c 63)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ~CAST('777' AS UNSIGNED)", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "SELECT ~X'01'", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ] +} \ No newline at end of file diff --git a/tests/llmtest/testdata/misc.json b/tests/llmtest/testdata/misc.json new file mode 100644 index 0000000000000..bd13af23cf3e7 --- /dev/null +++ b/tests/llmtest/testdata/misc.json @@ -0,0 +1,74 @@ +{ + "cte": [ + { + "sql": "CREATE TABLE t1 AS SELECT 1 AS id, NULL AS val UNION ALL SELECT 2, '5' UNION ALL SELECT 3, 'abc';WITH cte AS (SELECT id, val FROM t1) SELECT id, COALESCE(val, 'default') FROM cte ORDER BY id;DROP TABLE t1;", + "args": null, + "pass": false, + "known": true, + "comment": "'CREATE TABLE ... SELECT' is not implemented yet" + }, + { + "sql": "WITH RECURSIVE cte(n) AS (SELECT 1 UNION ALL SELECT n + '1' FROM cte WHERE n \u003c 5) SELECT * FROM cte ORDER BY n;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TABLE t2 AS SELECT '5' AS id, 5 AS x;WITH cte1 AS (SELECT '5' AS id), cte2 AS (SELECT 5 AS num) SELECT t2.x FROM t2 JOIN cte1 ON t2.id = cte1.id JOIN cte2 ON t2.x = cte2.num;DROP TABLE t2;", + "args": null, + "pass": false, + "known": true, + "comment": "'CREATE TABLE ... SELECT' is not implemented yet" + }, + { + "sql": "WITH cte AS (SELECT 10 AS col UNION ALL SELECT '20' UNION ALL SELECT 30) SELECT SUM(col) AS total FROM cte;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "WITH RECURSIVE cte(s) AS (SELECT 'a' UNION ALL SELECT CONCAT(s, 'a') FROM cte WHERE LENGTH(s) \u003c 5) SELECT s FROM cte ORDER BY LENGTH(s);", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "CREATE TABLE t3 AS SELECT 1 AS a UNION ALL SELECT NULL UNION ALL SELECT 3;WITH cte AS (SELECT NULL AS b) SELECT t3.a, cte.b FROM t3 LEFT JOIN cte ON t3.a = cte.b ORDER BY a;DROP TABLE t3;", + "args": null, + "pass": false, + "known": true, + "comment": "'CREATE TABLE ... SELECT' is not implemented yet" + }, + { + "sql": "WITH cte AS (SELECT CASE WHEN 1=1 THEN 5 ELSE 'text' END AS mixed) SELECT mixed FROM cte;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "WITH cte1 AS (SELECT 1.5 AS num), cte2 AS (SELECT num + '2.5' AS total FROM cte1) SELECT * FROM cte2;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "WITH RECURSIVE dates AS (SELECT DATE('2023-01-01') AS dt UNION ALL SELECT dt + INTERVAL 1 DAY FROM dates WHERE dt \u003c '2023-01-03') SELECT * FROM dates ORDER BY dt;", + "args": null, + "pass": true, + "known": false, + "comment": "" + }, + { + "sql": "WITH cte1 AS (SELECT 5 AS id), cte2 AS (SELECT '5' AS id) SELECT * FROM cte1 JOIN cte2 ON cte1.id = cte2.id;", + "args": null, + "pass": true, + "known": false, + "comment": "" + } + ] +} \ No newline at end of file