@@ -657,6 +657,11 @@ public void testUnsupportedQualifiers() {
657657 sourceQuery + "STATS avg(x) by [qualified].[field] = categorize(y)" ,
658658 "Qualified names are not supported in field definitions, found [[qualified].[field]]"
659659 );
660+
661+ expectError (
662+ sourceQuery + "EVAL [qualified].[field] = 1, [ ].[qualified.field] = 2" ,
663+ "Qualified names are not supported in field definitions, found [[qualified].[field]]"
664+ );
660665 }
661666
662667 public void testIllegalQualifiers () {
@@ -764,10 +769,6 @@ public void testEmptyQualifierInQualifiedName() {
764769 String sourceQuery = "ROW field = 1 | " ;
765770
766771 assertStatementsEqual (sourceQuery + "EVAL [].[field] = 1" , sourceQuery + "EVAL field = 1" );
767- assertStatementsEqual (
768- sourceQuery + "EVAL [qualified].[field] = 1, [ ].[qualified.field] = 2" ,
769- sourceQuery + "EVAL [qualified].[field] = 1, qualified.field = 2"
770- );
771772
772773 assertStatementsEqual (sourceQuery + "WHERE [].[field]" , sourceQuery + "WHERE field" );
773774 assertStatementsEqual (sourceQuery + "WHERE [].[field] > 1" , sourceQuery + "WHERE field > 1" );
@@ -811,23 +812,28 @@ public void testEmptyQualifierInQualifiedName() {
811812 public void testEmptyQualifierInQualifiedNamePattern () {
812813 assumeTrue ("Requires qualifier support" , EsqlCapabilities .Cap .NAME_QUALIFIERS .isEnabled ());
813814
814- String sourceQuery = "ROW field = 1 | " + (randomBoolean () ? "KEEP" : "DROP" ) + " " ;
815-
816- assertStatementsEqual (sourceQuery + "[ ].[field]" , sourceQuery + "field" );
817- assertStatementsEqual (sourceQuery + "[].[ `field` ]" , sourceQuery + "field" );
818- assertStatementsEqual (sourceQuery + "[].[ `fi``eld` ]" , sourceQuery + "`fi``eld`" );
819- assertStatementsEqual (sourceQuery + "[ ].[pat*ern]" , sourceQuery + "pat*ern" );
820- assertStatementsEqual (sourceQuery + "[].[pat*ern]" , sourceQuery + "pat*ern" );
821- assertStatementsEqual (sourceQuery + "[ ].[ field* ]" , sourceQuery + "field*" );
822- assertStatementsEqual (sourceQuery + "[ ].[fie*ld]" , sourceQuery + "fie*ld" );
823- assertStatementsEqual (sourceQuery + "[ ].[*]" , sourceQuery + "*" );
824- assertStatementsEqual (sourceQuery + "[ ].[ * ]" , sourceQuery + "*" );
825- assertStatementsEqual (sourceQuery + "[ ].[pat.*`ern*` ]" , sourceQuery + "pat.*`ern*`" );
826- assertStatementsEqual (sourceQuery + "[ ].[fie`l``d`]" , sourceQuery + "fiel````d" );
827-
828- assertStatementsEqual (sourceQuery + "[ ].[field], field2" , sourceQuery + "field, field2" );
829- assertStatementsEqual (sourceQuery + "[ ].[pattern1*], pattern2*" , sourceQuery + "pattern1*, pattern2*" );
830- assertStatementsEqual (sourceQuery + "pat*ern1, [ ].[pattern2*], other_pat*ern" , sourceQuery + "pat*ern1, pattern2*, other_pat*ern" );
815+ String sourceQuery = "ROW field = 1 | " ;
816+ String keepDrop = (randomBoolean () ? "KEEP" : "DROP" );
817+
818+ assertStatementsEqual (sourceQuery + keepDrop + " [ ].[field]" , sourceQuery + keepDrop + " field" );
819+ assertStatementsEqual (sourceQuery + keepDrop + " [].[ `field` ]" , sourceQuery + keepDrop + " field" );
820+ assertStatementsEqual (sourceQuery + keepDrop + " [].[ `fi``eld` ]" , sourceQuery + keepDrop + " `fi``eld`" );
821+ assertStatementsEqual (sourceQuery + keepDrop + " [ ].[pat*ern]" , sourceQuery + keepDrop + " pat*ern" );
822+ assertStatementsEqual (sourceQuery + keepDrop + " [].[pat*ern]" , sourceQuery + keepDrop + " pat*ern" );
823+ assertStatementsEqual (sourceQuery + keepDrop + " [ ].[ field* ]" , sourceQuery + keepDrop + " field*" );
824+ assertStatementsEqual (sourceQuery + keepDrop + " [ ].[fie*ld]" , sourceQuery + keepDrop + " fie*ld" );
825+ // DROP * is disallowed, but KEEP * is allowed
826+ assertStatementsEqual (sourceQuery + "KEEP [ ].[*]" , sourceQuery + "KEEP *" );
827+ assertStatementsEqual (sourceQuery + "KEEP [ ].[ * ]" , sourceQuery + "KEEP *" );
828+ assertStatementsEqual (sourceQuery + keepDrop + " [ ].[pat.*`ern*` ]" , sourceQuery + keepDrop + " pat.*`ern*`" );
829+ assertStatementsEqual (sourceQuery + keepDrop + " [ ].[fie`l``d`]" , sourceQuery + keepDrop + " fiel````d" );
830+
831+ assertStatementsEqual (sourceQuery + keepDrop + " [ ].[field], field2" , sourceQuery + keepDrop + " field, field2" );
832+ assertStatementsEqual (sourceQuery + keepDrop + " [ ].[pattern1*], pattern2*" , sourceQuery + keepDrop + " pattern1*, pattern2*" );
833+ assertStatementsEqual (
834+ sourceQuery + keepDrop + " pat*ern1, [ ].[pattern2*], other_pat*ern" ,
835+ sourceQuery + keepDrop + " pat*ern1, pattern2*, other_pat*ern"
836+ );
831837 }
832838
833839 /**
0 commit comments