diff options
| author | Vitaly Stoyan <[email protected]> | 2024-03-05 14:25:23 +0300 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-03-05 14:25:23 +0300 |
| commit | 1e8a9756c6bc79b0e0e206aa93ecbfbbd73ffcee (patch) | |
| tree | 835945c889ed7af56b6b2cdd487af1bc1fdd6aef | |
| parent | 080829b275f6142b052d6b741857ecdb1ae3e060 (diff) | |
randomized path of tmp tables (#2434)
| -rw-r--r-- | ydb/library/yql/tools/yqlrun/http/yql_server.cpp | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/ydb/library/yql/tools/yqlrun/http/yql_server.cpp b/ydb/library/yql/tools/yqlrun/http/yql_server.cpp index 88d5b1c6a9c..7edbd52bd41 100644 --- a/ydb/library/yql/tools/yqlrun/http/yql_server.cpp +++ b/ydb/library/yql/tools/yqlrun/http/yql_server.cpp @@ -32,6 +32,7 @@ #include <google/protobuf/arena.h> +#include <util/folder/tempdir.h> #include <util/system/fstat.h> #include <util/system/tempfile.h> #include <util/string/escape.h> @@ -173,11 +174,12 @@ struct TTableFileHolder { }; TProgramPtr MakeFileProgram(const TString& program, TYqlServer& yqlServer, - const THashMap<TString, TString>& tables, const THashMap<std::pair<TString, TString>, TVector<std::pair<TString, TString>>>& rtmrTableAttributes) { + const THashMap<TString, TString>& tables, const THashMap<std::pair<TString, TString>, + TVector<std::pair<TString, TString>>>& rtmrTableAttributes, const TString& tmpDir) { TVector<TDataProviderInitializer> dataProvidersInit; - auto ytNativeServices = NFile::TYtFileServices::Make(yqlServer.FunctionRegistry, tables, yqlServer.FileStorage); + auto ytNativeServices = NFile::TYtFileServices::Make(yqlServer.FunctionRegistry, tables, yqlServer.FileStorage, tmpDir); auto ytNativeGateway = CreateYtFileGateway(ytNativeServices); auto dqCompFactory = NKikimr::NMiniKQL::GetCompositeWithBuiltinFactory({ @@ -217,7 +219,7 @@ TProgramPtr MakeFileProgram(const TString& program, TYqlServer& yqlServer, } TProgramPtr MakeFileProgram(const TString& program, const TString& input, const TString& attr, - TAutoPtr<TTableFileHolder>& inputFile, TTempFile& outputFile, TYqlServer& yqlServer) { + TAutoPtr<TTableFileHolder>& inputFile, TTempFile& outputFile, TYqlServer& yqlServer, const TString& tmpDir) { TString cluster = "plato"; THashMap<TString, TString> tables; @@ -238,7 +240,7 @@ TProgramPtr MakeFileProgram(const TString& program, const TString& input, const rtmrTableAttributes[std::make_pair("plato_rtmr", "Input")] = {{"_yql_row_spec", NYT::NodeToYsonString(node[YqlRowSpecAttribute])}}; } - return MakeFileProgram(program, yqlServer, tables, rtmrTableAttributes); + return MakeFileProgram(program, yqlServer, tables, rtmrTableAttributes, tmpDir); } YQL_ACTION(Paste) @@ -319,7 +321,8 @@ YQL_ACTION(Parse) Y_UNUSED(input); Y_UNUSED(attr); Y_UNUSED(parameters); - TProgramPtr prg = MakeFileProgram(program, YqlServer, {}, {}); + TTempDir tmpDir; + TProgramPtr prg = MakeFileProgram(program, YqlServer, {}, {}, tmpDir.Name()); bool parsed = (options & TYqlAction::YqlProgram) ? prg->ParseYql() @@ -346,7 +349,8 @@ YQL_ACTION(Compile) void Perform(const TString& program, const TString& input, const TString& attr, ui32 options, const TString& parameters) { Y_UNUSED(input); Y_UNUSED(attr); - TProgramPtr prg = MakeFileProgram(program, YqlServer, {}, {}); + TTempDir tmpDir; + TProgramPtr prg = MakeFileProgram(program, YqlServer, {}, {}, tmpDir.Name()); prg->SetParametersYson(parameters); bool noError = (options & TYqlAction::YqlProgram) ? prg->ParseYql() : prg->ParseSql(GetTranslationSettings(YqlServer.GatewaysConfig)); @@ -380,7 +384,8 @@ YQL_ACTION(OptimizeOrValidateFile) TAutoPtr<TTableFileHolder> inputFile; TTempFile outputFile(MakeTempName()); TTempFile outputFileAttr(outputFile.Name() + ".attr"); - TProgramPtr prg = MakeFileProgram(program, input, attr, inputFile, outputFile, YqlServer); + TTempDir tmpDir; + TProgramPtr prg = MakeFileProgram(program, input, attr, inputFile, outputFile, YqlServer, tmpDir.Name()); bool noError = (options & TYqlAction::YqlProgram) ? prg->ParseYql() : prg->ParseSql(GetTranslationSettings(YqlServer.GatewaysConfig)); @@ -451,7 +456,8 @@ YQL_ACTION(FileRun) TAutoPtr<TTableFileHolder> inputFile; TTempFile outputFile(MakeTempName()); TTempFile outputFileAttr(outputFile.Name() + ".attr"); - TProgramPtr prg = MakeFileProgram(program, input, attr, inputFile, outputFile, YqlServer); + TTempDir tmpDir; + TProgramPtr prg = MakeFileProgram(program, input, attr, inputFile, outputFile, YqlServer, tmpDir.Name()); bool noError = (options & TYqlAction::YqlProgram) ? prg->ParseYql() : prg->ParseSql(GetTranslationSettings(YqlServer.GatewaysConfig)); |
