diff --git a/enginetest/evaluation.go b/enginetest/evaluation.go index eb9f987c24..a465e7e0b0 100644 --- a/enginetest/evaluation.go +++ b/enginetest/evaluation.go @@ -532,6 +532,12 @@ func injectBindVarsAndPrepare( skipTypeConv = true return false, nil } + + // Ensure that the bind variable has the same byte sequence as the original value. + // This is important to ensure that it will get parsed the same way. + // (Example: the value "1e-1" should be parsed as the float 0.1, not as a decimal value.) + bindVar.Value = n.Val + varName := fmt.Sprintf("v%d", bindCnt+1) bindVars[varName] = bindVar n.Type = sqlparser.ValArg diff --git a/enginetest/memory_engine_test.go b/enginetest/memory_engine_test.go index 4758d2be88..4cc4c8a940 100644 --- a/enginetest/memory_engine_test.go +++ b/enginetest/memory_engine_test.go @@ -815,6 +815,11 @@ func TestJsonScripts(t *testing.T) { enginetest.TestJsonScripts(t, enginetest.NewDefaultMemoryHarness(), skippedTests) } +func TestJsonScriptsPrepared(t *testing.T) { + var skippedTests []string = nil + enginetest.TestJsonScriptsPrepared(t, enginetest.NewDefaultMemoryHarness(), skippedTests) +} + func TestShowTableStatus(t *testing.T) { enginetest.TestShowTableStatus(t, enginetest.NewDefaultMemoryHarness()) }