Project

General

Profile

7235-20230419.patch

Dănuț Filimon, 04/19/2023 05:17 AM

Download (3.09 KB)

View differences:

new/src/com/goldencode/p2j/persist/FQLPreprocessor.java 2023-04-18 07:16:53 +0000
2977 2977
                  // this is a predicate root-level boolean function. Replace with boolFn() = 1
2978 2978
                  needSQLBooleanConversion.add(next);
2979 2979
               }
2980
               
2981
               if ("exists".equals(next.getText()) && next.getFirstChild().getType() == SUBSELECT)
2982
               {
2983
                  HQLAst subSelectNode = (HQLAst) next.getFirstChild();
2984
                  
2985
                  HQLAst selectValueNode = new HQLAst();
2986
                  selectValueNode.setType(NUM_LITERAL);
2987
                  selectValueNode.setText("1");
2988
                  subSelectNode.graftAt(selectValueNode, 0);
2989
                  
2990
                  HQLAst selectNode = new HQLAst();
2991
                  selectNode.setType(SELECT);
2992
                  selectNode.setText("select");
2993
                  next.graftAt(selectNode, 0);
2994
               }
2995
               
2980 2996
               break;
2981 2997
               
2982 2998
            case PROPERTY:
......
5707 5723
                  break;
5708 5724
               
5709 5725
               case SUBSELECT:
5726
                  Aast numNode = ast.getImmediateChild(NUM_LITERAL, null);
5727
                  if (numNode != null)
5728
                  {
5729
                     buf.append(" ")
5730
                        .append(numNode.getText())
5731
                        .append(" ");
5732
                  }
5733
                  
5710 5734
                  Aast from = ast.getImmediateChild(FROM, null);
5711 5735
                  defaultBuffers.push(bufferMap.get(null));
5712 5736
                  // save to stacks:
......
5783 5807
               switch (ast.getType())
5784 5808
               {
5785 5809
                  case FUNCTION:
5786
                     buf.append(", ");
5810
                     if (ast.getFirstChild().getType() != SELECT)
5811
                     {
5812
                        buf.append(", ");
5813
                     }
5787 5814
                     break;
5788 5815
                     
5789 5816
                  case CAST:
......
5894 5921
                  buf.append(text);
5895 5922
                  break;
5896 5923
                  
5924
               case NUM_LITERAL:
5925
                  if (next.getParent().getType() == SUBSELECT)
5926
                  {
5927
                     break;
5928
                  }
5929
                  
5897 5930
               default:
5898 5931
                  buf.append(text);
5899 5932
                  break;
new/src/com/goldencode/p2j/persist/orm/FqlToSqlConverter.java 2023-04-18 07:41:22 +0000
1330 1330
                  funcLvl = funcLvl - 1;
1331 1331
               }
1332 1332
               
1333
               if (generateUniqueSqlColumnNames)
1333
               if (generateUniqueSqlColumnNames && child.getType() != NUM_LITERAL)
1334 1334
               {
1335 1335
                  sb.append(" as ");
1336 1336
                  appendColAlias.accept("col");