Browse Source

fix expression parser obey stack_size

After unsuccessful query you may set thread_stack online, and everything
 except expression parser obeyed it

 Related to #2814 (implements fix and test)
Aleksey N. Vinogradov 1 year ago
parent
commit
0eb1579462
3 changed files with 27 additions and 1 deletions
  1. 1 1
      src/stackmock.h
  2. 0 0
      test/test_295/model.bin
  3. 26 0
      test/test_295/test.xml

+ 1 - 1
src/stackmock.h

@@ -54,7 +54,7 @@ bool EvalStackForTree ( const VecTraits_T<T> & dTree, int iStartNode, StackSizeT
 	if ( iCalculatedStack<=iCurStackSize )
 		return true;
 
-	if ( iCalculatedStack > Threads::GetMaxCoroStackSize() )
+	if ( iCalculatedStack > session::GetMaxStackSize () )
 	{
 		sError.SetSprintf ( "query %s too complex, not enough stack (thread_stack=%dK or higher required)", szName, (int)( ( iCalculatedStack + 1024 - ( iCalculatedStack%1024 ) ) / 1024 ) );
 		return false;

File diff suppressed because it is too large
+ 0 - 0
test/test_295/model.bin


File diff suppressed because it is too large
+ 26 - 0
test/test_295/test.xml


Some files were not shown because too many files changed in this diff