File tree Expand file tree Collapse file tree 2 files changed +5
-5
lines changed Expand file tree Collapse file tree 2 files changed +5
-5
lines changed Original file line number Diff line number Diff line change @@ -892,11 +892,11 @@ let compile = (q,userSettings={}) => {
892
892
}
893
893
894
894
// ---- middle tier, imperative form ----
895
- if ( settings . enableOptimizations ) {
895
+ if ( settings . enableOptimizations && settings . schema ) {
896
896
q = optimizer . loopsConsolidate ( q , vars ) ;
897
897
}
898
898
899
- if ( settings . extractAssignments && ! ( settings . enableOptimizations || settings . extractAssignmentsLate ) ) {
899
+ if ( settings . extractAssignments && ! ( ( settings . enableOptimizations && settings . schema ) || settings . extractAssignmentsLate ) ) {
900
900
// 8. Extract assignments
901
901
q = extract2 ( q )
902
902
}
@@ -906,12 +906,12 @@ let compile = (q,userSettings={}) => {
906
906
assignments [ i ] = extract3 ( assignments [ i ] )
907
907
q = extract3 ( q )
908
908
909
- if ( settings . enableOptimizations ) {
909
+ if ( settings . enableOptimizations && settings . schema ) {
910
910
// Assignments must not be extracted yet.
911
911
q = optimizer . shrinking ( q ) ;
912
912
}
913
913
914
- if ( settings . extractAssignments && ( settings . enableOptimizations || settings . extractAssignmentsLate ) ) {
914
+ if ( settings . extractAssignments && ( ( settings . enableOptimizations && settings . schema ) || settings . extractAssignmentsLate ) ) {
915
915
for ( let i in filters )
916
916
filters [ i ] = extract2 ( filters [ i ] )
917
917
q = extract2 ( q )
Original file line number Diff line number Diff line change @@ -168,7 +168,7 @@ test("loop-consolidation", () => {
168
168
) . toBe ( true ) ;
169
169
170
170
let func3 = api . compileC2 ( "sum(data.*A.value + data.*B.value)" , typing . parseType ( { data : dataSchema } ) ) ;
171
- console . log ( func3 . explain2 . pseudo ) ;
171
+
172
172
expect ( // Check that both of the loops still exist
173
173
func3 . explain2 . pseudo . match ( / \\ * B / g) !== null && func3 . explain2 . pseudo . match ( / [ * ] A / g) !== null
174
174
) . toBe ( true ) ;
You can’t perform that action at this time.
0 commit comments