Hello! There are some issues that might should be fixed:
for i := 0 to Length(s) do
if CharInSet(s [i], ['0'..'9'])
[FixInsight Warning] QCnvStrUtils.pas(404): W514 Loop iterator could be out of range (missing -1?)
Loop is counting symbol preceding the string in memory.
{$IFDEF LEVEL4}
if (FParameterList.Count>0) and (FParameterList.Param[0].AsInteger > $FF) then
Result := ttWideString
{$ENDIF}
else
Result := ttString;
[FixInsight Internal] QBaseExpr.pas(1875): Fatal parser error
Perhaps, Line 4 and 5 should be moved around.
if (Param[0].IsNull) then
if (ParameterCount=2) then
if Length(Param[0].MaxString) > length(Param[1].MaxString) then
Result := Param[0].MaxString
else
Result := Param[1].MaxString
else
if (ParameterCount=2) then
Result := Param[0].MaxString
else
Result := NBoolean[False];
[FixInsight Warning] QExprYacc.pas(1036): W512 Odd ELSE-IF condition (review lines 1036 and 1042)
Not sure if 2nd level if statements duplicating "ParameterCount=2" are correct.
function TxqParser.AddSubqueryInSelect : String;
var
MainAnalizer, Analizer: TSqlAnalizer;
[FixInsight Warning] XQYacc.pas(451): W517 Variable 'Analizer' hides a class field, method or property
Perhaps, local var Analizer is inadvertantly hides TxqParser.Analizer property.
Sorry for long post and placing it all into single issue.