summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrobot-piglet <[email protected]>2025-04-11 16:44:11 +0300
committerrobot-piglet <[email protected]>2025-04-11 16:56:11 +0300
commitffa276d35af2cc7ab17b850915674b60900c8b56 (patch)
treeeb3b77562dec7a5788750bd9ee20de349d7ed62c
parentffefd3fa4ce2156e7e3af1a33abe2c422584433a (diff)
Intermediate changes
commit_hash:2f615b4a2a2726593dd70b36499819265862155f
-rw-r--r--yql/essentials/tools/yql_complete/yql_complete.cpp21
1 files changed, 16 insertions, 5 deletions
diff --git a/yql/essentials/tools/yql_complete/yql_complete.cpp b/yql/essentials/tools/yql_complete/yql_complete.cpp
index 0d592240ebf..18e57492282 100644
--- a/yql/essentials/tools/yql_complete/yql_complete.cpp
+++ b/yql/essentials/tools/yql_complete/yql_complete.cpp
@@ -38,9 +38,11 @@ int Run(int argc, char* argv[]) {
NLastGetopt::TOpts opts = NLastGetopt::TOpts::Default();
TString inFileName;
+ TString inQueryText;
TString freqFileName;
TMaybe<ui64> pos;
opts.AddLongOption('i', "input", "input file").RequiredArgument("input").StoreResult(&inFileName);
+ opts.AddLongOption('q', "query", "input query text").RequiredArgument("query").StoreResult(&inQueryText);
opts.AddLongOption('f', "freq", "frequences file").StoreResult(&freqFileName);
opts.AddLongOption('p', "pos", "position").StoreResult(&pos);
opts.SetFreeArgsNum(0);
@@ -48,12 +50,21 @@ int Run(int argc, char* argv[]) {
NLastGetopt::TOptsParseResult res(&opts, argc, argv);
- THolder<TUnbufferedFileInput> inFile;
- if (!inFileName.empty()) {
- inFile.Reset(new TUnbufferedFileInput(inFileName));
+ if (res.Has("input") && res.Has("query")) {
+ ythrow yexception() << "use either 'input' or 'query', not both";
+ }
+
+ TString queryString;
+ if (res.Has("query")) {
+ queryString = std::move(inQueryText);
+ } else {
+ THolder<TUnbufferedFileInput> inFile;
+ if (!inFileName.empty()) {
+ inFile.Reset(new TUnbufferedFileInput(inFileName));
+ }
+ IInputStream& in = inFile ? *inFile.Get() : Cin;
+ queryString = in.ReadAll();
}
- IInputStream& in = inFile ? *inFile.Get() : Cin;
- auto queryString = in.ReadAll();
NSQLComplete::IRanking::TPtr ranking;
if (freqFileName.empty()) {