diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/ford/customer/1/maintenance-report/year-2001-month-01-day-01-date/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/ford/customer/1/maintenance-report/year-2001-month-01-day-01-date/0.csv
new file mode 100644
index 0000000..f8fd00a
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/ford/customer/1/maintenance-report/year-2001-month-01-day-01-date/0.csv
@@ -0,0 +1,3 @@
+1,2001,1,1
+1,2001,1,1
+1,2001,1,1
\ No newline at end of file
diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/ford/customer/1/maintenance-report/year-2002-month-02-day-02-date/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/ford/customer/1/maintenance-report/year-2002-month-02-day-02-date/0.csv
new file mode 100644
index 0000000..bff3930
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/ford/customer/1/maintenance-report/year-2002-month-02-day-02-date/0.csv
@@ -0,0 +1,3 @@
+1,2002,2,2
+1,2002,2,2
+1,2002,2,2
\ No newline at end of file
diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/ford/customer/1/maintenance-report/year-2003-month-03-day-03-date/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/ford/customer/1/maintenance-report/year-2003-month-03-day-03-date/0.csv
new file mode 100644
index 0000000..e0e1ef6
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/ford/customer/1/maintenance-report/year-2003-month-03-day-03-date/0.csv
@@ -0,0 +1,3 @@
+1,2003,3,3
+1,2003,3,3
+1,2003,3,3
\ No newline at end of file
diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/ford/customer/2/maintenance-report/year-2001-month-01-day-01-date/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/ford/customer/2/maintenance-report/year-2001-month-01-day-01-date/0.csv
new file mode 100644
index 0000000..b70858d
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/ford/customer/2/maintenance-report/year-2001-month-01-day-01-date/0.csv
@@ -0,0 +1,3 @@
+2,2001,1,1
+2,2001,1,1
+2,2001,1,1
\ No newline at end of file
diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/ford/customer/2/maintenance-report/year-2002-month-02-day-02-date/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/ford/customer/2/maintenance-report/year-2002-month-02-day-02-date/0.csv
new file mode 100644
index 0000000..583c101
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/ford/customer/2/maintenance-report/year-2002-month-02-day-02-date/0.csv
@@ -0,0 +1,3 @@
+2,2002,2,2
+2,2002,2,2
+2,2002,2,2
\ No newline at end of file
diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/ford/customer/2/maintenance-report/year-2003-month-03-day-03-date/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/ford/customer/2/maintenance-report/year-2003-month-03-day-03-date/0.csv
new file mode 100644
index 0000000..0151182
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/ford/customer/2/maintenance-report/year-2003-month-03-day-03-date/0.csv
@@ -0,0 +1,3 @@
+2,2003,3,3
+2,2003,3,3
+2,2003,3,3
\ No newline at end of file
diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/ford/customer/3/maintenance-report/year-2001-month-01-day-01-date/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/ford/customer/3/maintenance-report/year-2001-month-01-day-01-date/0.csv
new file mode 100644
index 0000000..7db333d
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/ford/customer/3/maintenance-report/year-2001-month-01-day-01-date/0.csv
@@ -0,0 +1,3 @@
+3,2001,1,1
+3,2001,1,1
+3,2001,1,1
\ No newline at end of file
diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/ford/customer/3/maintenance-report/year-2002-month-02-day-02-date/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/ford/customer/3/maintenance-report/year-2002-month-02-day-02-date/0.csv
new file mode 100644
index 0000000..cdc768d
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/ford/customer/3/maintenance-report/year-2002-month-02-day-02-date/0.csv
@@ -0,0 +1,3 @@
+3,2002,2,2
+3,2002,2,2
+3,2002,2,2
\ No newline at end of file
diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/ford/customer/3/maintenance-report/year-2003-month-03-day-03-date/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/ford/customer/3/maintenance-report/year-2003-month-03-day-03-date/0.csv
new file mode 100644
index 0000000..ddd7c28
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/ford/customer/3/maintenance-report/year-2003-month-03-day-03-date/0.csv
@@ -0,0 +1,3 @@
+3,2003,3,3
+3,2003,3,3
+3,2003,3,3
\ No newline at end of file
diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/lexus/customer/1/maintenance-report/year-2001-month-01-day-01-date/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/lexus/customer/1/maintenance-report/year-2001-month-01-day-01-date/0.csv
new file mode 100644
index 0000000..f8fd00a
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/lexus/customer/1/maintenance-report/year-2001-month-01-day-01-date/0.csv
@@ -0,0 +1,3 @@
+1,2001,1,1
+1,2001,1,1
+1,2001,1,1
\ No newline at end of file
diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/lexus/customer/1/maintenance-report/year-2002-month-02-day-02-date/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/lexus/customer/1/maintenance-report/year-2002-month-02-day-02-date/0.csv
new file mode 100644
index 0000000..bff3930
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/lexus/customer/1/maintenance-report/year-2002-month-02-day-02-date/0.csv
@@ -0,0 +1,3 @@
+1,2002,2,2
+1,2002,2,2
+1,2002,2,2
\ No newline at end of file
diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/lexus/customer/1/maintenance-report/year-2003-month-03-day-03-date/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/lexus/customer/1/maintenance-report/year-2003-month-03-day-03-date/0.csv
new file mode 100644
index 0000000..e0e1ef6
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/lexus/customer/1/maintenance-report/year-2003-month-03-day-03-date/0.csv
@@ -0,0 +1,3 @@
+1,2003,3,3
+1,2003,3,3
+1,2003,3,3
\ No newline at end of file
diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/lexus/customer/2/maintenance-report/year-2001-month-01-day-01-date/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/lexus/customer/2/maintenance-report/year-2001-month-01-day-01-date/0.csv
new file mode 100644
index 0000000..b70858d
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/lexus/customer/2/maintenance-report/year-2001-month-01-day-01-date/0.csv
@@ -0,0 +1,3 @@
+2,2001,1,1
+2,2001,1,1
+2,2001,1,1
\ No newline at end of file
diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/lexus/customer/2/maintenance-report/year-2002-month-02-day-02-date/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/lexus/customer/2/maintenance-report/year-2002-month-02-day-02-date/0.csv
new file mode 100644
index 0000000..583c101
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/lexus/customer/2/maintenance-report/year-2002-month-02-day-02-date/0.csv
@@ -0,0 +1,3 @@
+2,2002,2,2
+2,2002,2,2
+2,2002,2,2
\ No newline at end of file
diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/lexus/customer/2/maintenance-report/year-2003-month-03-day-03-date/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/lexus/customer/2/maintenance-report/year-2003-month-03-day-03-date/0.csv
new file mode 100644
index 0000000..0151182
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/lexus/customer/2/maintenance-report/year-2003-month-03-day-03-date/0.csv
@@ -0,0 +1,3 @@
+2,2003,3,3
+2,2003,3,3
+2,2003,3,3
\ No newline at end of file
diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/lexus/customer/3/maintenance-report/year-2001-month-01-day-01-date/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/lexus/customer/3/maintenance-report/year-2001-month-01-day-01-date/0.csv
new file mode 100644
index 0000000..7db333d
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/lexus/customer/3/maintenance-report/year-2001-month-01-day-01-date/0.csv
@@ -0,0 +1,3 @@
+3,2001,1,1
+3,2001,1,1
+3,2001,1,1
\ No newline at end of file
diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/lexus/customer/3/maintenance-report/year-2002-month-02-day-02-date/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/lexus/customer/3/maintenance-report/year-2002-month-02-day-02-date/0.csv
new file mode 100644
index 0000000..cdc768d
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/lexus/customer/3/maintenance-report/year-2002-month-02-day-02-date/0.csv
@@ -0,0 +1,3 @@
+3,2002,2,2
+3,2002,2,2
+3,2002,2,2
\ No newline at end of file
diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/lexus/customer/3/maintenance-report/year-2003-month-03-day-03-date/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/lexus/customer/3/maintenance-report/year-2003-month-03-day-03-date/0.csv
new file mode 100644
index 0000000..ddd7c28
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/lexus/customer/3/maintenance-report/year-2003-month-03-day-03-date/0.csv
@@ -0,0 +1,3 @@
+3,2003,3,3
+3,2003,3,3
+3,2003,3,3
\ No newline at end of file
diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/toyota/customer/1/maintenance-report/year-2001-month-01-day-01-date/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/toyota/customer/1/maintenance-report/year-2001-month-01-day-01-date/0.csv
new file mode 100644
index 0000000..f8fd00a
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/toyota/customer/1/maintenance-report/year-2001-month-01-day-01-date/0.csv
@@ -0,0 +1,3 @@
+1,2001,1,1
+1,2001,1,1
+1,2001,1,1
\ No newline at end of file
diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/toyota/customer/1/maintenance-report/year-2002-month-02-day-02-date/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/toyota/customer/1/maintenance-report/year-2002-month-02-day-02-date/0.csv
new file mode 100644
index 0000000..bff3930
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/toyota/customer/1/maintenance-report/year-2002-month-02-day-02-date/0.csv
@@ -0,0 +1,3 @@
+1,2002,2,2
+1,2002,2,2
+1,2002,2,2
\ No newline at end of file
diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/toyota/customer/1/maintenance-report/year-2003-month-03-day-03-date/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/toyota/customer/1/maintenance-report/year-2003-month-03-day-03-date/0.csv
new file mode 100644
index 0000000..e0e1ef6
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/toyota/customer/1/maintenance-report/year-2003-month-03-day-03-date/0.csv
@@ -0,0 +1,3 @@
+1,2003,3,3
+1,2003,3,3
+1,2003,3,3
\ No newline at end of file
diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/toyota/customer/2/maintenance-report/year-2001-month-01-day-01-date/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/toyota/customer/2/maintenance-report/year-2001-month-01-day-01-date/0.csv
new file mode 100644
index 0000000..b70858d
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/toyota/customer/2/maintenance-report/year-2001-month-01-day-01-date/0.csv
@@ -0,0 +1,3 @@
+2,2001,1,1
+2,2001,1,1
+2,2001,1,1
\ No newline at end of file
diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/toyota/customer/2/maintenance-report/year-2002-month-02-day-02-date/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/toyota/customer/2/maintenance-report/year-2002-month-02-day-02-date/0.csv
new file mode 100644
index 0000000..583c101
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/toyota/customer/2/maintenance-report/year-2002-month-02-day-02-date/0.csv
@@ -0,0 +1,3 @@
+2,2002,2,2
+2,2002,2,2
+2,2002,2,2
\ No newline at end of file
diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/toyota/customer/2/maintenance-report/year-2003-month-03-day-03-date/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/toyota/customer/2/maintenance-report/year-2003-month-03-day-03-date/0.csv
new file mode 100644
index 0000000..0151182
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/toyota/customer/2/maintenance-report/year-2003-month-03-day-03-date/0.csv
@@ -0,0 +1,3 @@
+2,2003,3,3
+2,2003,3,3
+2,2003,3,3
\ No newline at end of file
diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/toyota/customer/3/maintenance-report/year-2001-month-01-day-01-date/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/toyota/customer/3/maintenance-report/year-2001-month-01-day-01-date/0.csv
new file mode 100644
index 0000000..7db333d
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/toyota/customer/3/maintenance-report/year-2001-month-01-day-01-date/0.csv
@@ -0,0 +1,3 @@
+3,2001,1,1
+3,2001,1,1
+3,2001,1,1
\ No newline at end of file
diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/toyota/customer/3/maintenance-report/year-2002-month-02-day-02-date/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/toyota/customer/3/maintenance-report/year-2002-month-02-day-02-date/0.csv
new file mode 100644
index 0000000..cdc768d
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/toyota/customer/3/maintenance-report/year-2002-month-02-day-02-date/0.csv
@@ -0,0 +1,3 @@
+3,2002,2,2
+3,2002,2,2
+3,2002,2,2
\ No newline at end of file
diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/toyota/customer/3/maintenance-report/year-2003-month-03-day-03-date/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/toyota/customer/3/maintenance-report/year-2003-month-03-day-03-date/0.csv
new file mode 100644
index 0000000..ddd7c28
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/car/toyota/customer/3/maintenance-report/year-2003-month-03-day-03-date/0.csv
@@ -0,0 +1,3 @@
+3,2003,3,3
+3,2003,3,3
+3,2003,3,3
\ No newline at end of file
diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/department/accounting/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/department/accounting/0.csv
new file mode 100644
index 0000000..bbfab7b
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/department/accounting/0.csv
@@ -0,0 +1,3 @@
+1,"John","Smith"
+2,"Mike","Jones"
+3,"Alex","Miller"
\ No newline at end of file
diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/department/engineering/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/department/engineering/0.csv
new file mode 100644
index 0000000..092cdf5
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/department/engineering/0.csv
@@ -0,0 +1,3 @@
+4,"Tom","Smith"
+5,"Alice","Jones"
+6,"Sheila","Miller"
\ No newline at end of file
diff --git a/asterixdb/asterix-app/data/csv/external-filter/embed-csv/department/hr/0.csv b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/department/hr/0.csv
new file mode 100644
index 0000000..18dc1cc
--- /dev/null
+++ b/asterixdb/asterix-app/data/csv/external-filter/embed-csv/department/hr/0.csv
@@ -0,0 +1,3 @@
+7,"James","Smith"
+8,"David","Jones"
+9,"Noah","Miller"
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/external_dataset/ExternalDatasetTestUtils.java b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/external_dataset/ExternalDatasetTestUtils.java
index f61ccbe..0db9a2a 100644
--- a/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/external_dataset/ExternalDatasetTestUtils.java
+++ b/asterixdb/asterix-app/src/test/java/org/apache/asterix/test/external_dataset/ExternalDatasetTestUtils.java
@@ -48,6 +48,7 @@
     protected static final Logger LOGGER = LogManager.getLogger();
     // Extension filters
     private static final FilenameFilter JSON_FILTER = ((dir, name) -> name.endsWith(".json"));
+    private static final FilenameFilter CSV_FILTER = ((dir, name) -> name.endsWith(".csv"));
     private static final FilenameFilter PARQUET_FILTER = ((dir, name) -> name.endsWith(".parquet"));
 
     // Base directory paths for data files
@@ -256,6 +257,9 @@
         loadData(dataBasePath, "", "02.csv", definition, definitionSegment, false);
         loadGzData(dataBasePath, "", "01.csv", definition, definitionSegment, false);
         loadGzData(dataBasePath, "", "02.csv", definition, definitionSegment, false);
+
+        // Load external filter directories and files
+        loadDirectory(dataBasePath, "external-filter", CSV_FILTER);
     }
 
     private static void loadTsvFiles() {
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-multiple-values/embed-multiple-values.000.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-multiple-values/embed-multiple-values.000.ddl.sqlpp
new file mode 100644
index 0000000..cf867f0
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-multiple-values/embed-multiple-values.000.ddl.sqlpp
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+DROP DATAVERSE test IF EXISTS;
+CREATE DATAVERSE test;
+USE test;
+
+CREATE TYPE test AS {
+    customer_id:int,
+    year:int,
+    month:int,
+    day:int
+};
+
+CREATE EXTERNAL DATASET maintenance(test) USING %adapter% (
+    %template%,
+    ("container"="playground"),
+    ("definition"="external-filter/embed-csv/car/{company:string}/customer/{customer_id:int}/maintenance-report/year-{year:int}-month-{month:int}-day-{day:int}-date"),
+    ("embed-filter-values" = "true"),
+    ("header"="false"),
+    ("format"="csv")
+);
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-multiple-values/embed-multiple-values.001.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-multiple-values/embed-multiple-values.001.query.sqlpp
new file mode 100644
index 0000000..2907baa
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-multiple-values/embed-multiple-values.001.query.sqlpp
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+USE test;
+
+SELECT value t
+FROM maintenance t
+ORDER BY t.customer_id,
+         t.company,
+         t.year,
+         t.month,
+         t.day
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-multiple-values/embed-multiple-values.002.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-multiple-values/embed-multiple-values.002.query.sqlpp
new file mode 100644
index 0000000..3c99576
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-multiple-values/embed-multiple-values.002.query.sqlpp
@@ -0,0 +1,28 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+USE test;
+
+SELECT VALUE t
+FROM maintenance t
+WHERE t.company = "ford"
+  AND t.customer_id = 1
+  AND t.year = 2001
+  AND t.month = 01
+  AND t.day = 01;
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.000.ddl.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.000.ddl.sqlpp
new file mode 100644
index 0000000..a143f60
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.000.ddl.sqlpp
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+DROP DATAVERSE test IF EXISTS;
+CREATE DATAVERSE test;
+USE test;
+
+CREATE TYPE TestType AS {
+    id: string,
+    first_name: string,
+    last_name:string
+};
+
+
+CREATE EXTERNAL DATASET Department(TestType) USING %adapter% (
+    %template%,
+    ("container"="playground"),
+    ("definition"="external-filter/embed-csv/department/{department:string}"),
+    ("embed-filter-values" = "true"),
+    ("header"="false"),
+    ("format"="csv")
+);
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.010.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.010.query.sqlpp
new file mode 100644
index 0000000..0034525
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.010.query.sqlpp
@@ -0,0 +1,26 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+USE test;
+
+
+SELECT VALUE d
+FROM Department d
+WHERE d.department = "accounting"
+ORDER BY d.id;
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.011.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.011.query.sqlpp
new file mode 100644
index 0000000..b5856ac
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.011.query.sqlpp
@@ -0,0 +1,26 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+USE test;
+
+EXPLAIN
+SELECT VALUE d
+FROM Department d
+WHERE d.department = "accounting"
+ORDER BY d.id;
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.020.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.020.query.sqlpp
new file mode 100644
index 0000000..b1d2220
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.020.query.sqlpp
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+USE test;
+
+
+SELECT VALUE d
+FROM Department d
+WHERE d.department = "accounting"
+  AND d.last_name = "Smith"
+ORDER BY d.id;
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.021.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.021.query.sqlpp
new file mode 100644
index 0000000..9a8b1dc
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.021.query.sqlpp
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+USE test;
+
+EXPLAIN
+SELECT VALUE d
+FROM Department d
+WHERE d.department = "accounting"
+  AND d.last_name = "Smith"
+ORDER BY d.id;
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.030.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.030.query.sqlpp
new file mode 100644
index 0000000..f429f50
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.030.query.sqlpp
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+USE test;
+
+
+SELECT VALUE d
+FROM Department d
+WHERE d.department = "accounting"
+   OR d.last_name = "Smith"
+ORDER BY d.id;
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.031.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.031.query.sqlpp
new file mode 100644
index 0000000..bae5485
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.031.query.sqlpp
@@ -0,0 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+USE test;
+
+EXPLAIN
+SELECT VALUE d
+FROM Department d
+WHERE d.department = "accounting"
+   OR d.last_name = "Smith"
+ORDER BY d.id;
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.040.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.040.query.sqlpp
new file mode 100644
index 0000000..e3e6ee5
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.040.query.sqlpp
@@ -0,0 +1,26 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+USE test;
+
+
+SELECT VALUE d
+FROM Department d
+WHERE uppercase(d.department) = "H" || "R"
+ORDER BY d.id;
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.041.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.041.query.sqlpp
new file mode 100644
index 0000000..bfa65b5
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.041.query.sqlpp
@@ -0,0 +1,26 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+USE test;
+
+EXPLAIN
+SELECT VALUE d
+FROM Department d
+WHERE uppercase(d.department) = "H" || "R"
+ORDER BY d.id;
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.050.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.050.query.sqlpp
new file mode 100644
index 0000000..fb4ad2b
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.050.query.sqlpp
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+USE test;
+
+
+SELECT VALUE d
+FROM Department d
+ORDER BY d.id;
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.051.query.sqlpp b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.051.query.sqlpp
new file mode 100644
index 0000000..fb4ad2b
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/queries_sqlpp/external-dataset/common/dynamic-prefixes/csv/embed-one-value/embed-one-value.051.query.sqlpp
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+USE test;
+
+
+SELECT VALUE d
+FROM Department d
+ORDER BY d.id;
\ No newline at end of file
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-multiple-values/embed-multiple-values.001.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-multiple-values/embed-multiple-values.001.adm
new file mode 100644
index 0000000..1fcdcfa
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-multiple-values/embed-multiple-values.001.adm
@@ -0,0 +1,81 @@
+{ "customer_id": 1, "year": 2001, "month": 1, "day": 1, "company": "ford" }
+{ "customer_id": 1, "year": 2001, "month": 1, "day": 1, "company": "ford" }
+{ "customer_id": 1, "year": 2001, "month": 1, "day": 1, "company": "ford" }
+{ "customer_id": 1, "year": 2002, "month": 2, "day": 2, "company": "ford" }
+{ "customer_id": 1, "year": 2002, "month": 2, "day": 2, "company": "ford" }
+{ "customer_id": 1, "year": 2002, "month": 2, "day": 2, "company": "ford" }
+{ "customer_id": 1, "year": 2003, "month": 3, "day": 3, "company": "ford" }
+{ "customer_id": 1, "year": 2003, "month": 3, "day": 3, "company": "ford" }
+{ "customer_id": 1, "year": 2003, "month": 3, "day": 3, "company": "ford" }
+{ "customer_id": 1, "year": 2001, "month": 1, "day": 1, "company": "lexus" }
+{ "customer_id": 1, "year": 2001, "month": 1, "day": 1, "company": "lexus" }
+{ "customer_id": 1, "year": 2001, "month": 1, "day": 1, "company": "lexus" }
+{ "customer_id": 1, "year": 2002, "month": 2, "day": 2, "company": "lexus" }
+{ "customer_id": 1, "year": 2002, "month": 2, "day": 2, "company": "lexus" }
+{ "customer_id": 1, "year": 2002, "month": 2, "day": 2, "company": "lexus" }
+{ "customer_id": 1, "year": 2003, "month": 3, "day": 3, "company": "lexus" }
+{ "customer_id": 1, "year": 2003, "month": 3, "day": 3, "company": "lexus" }
+{ "customer_id": 1, "year": 2003, "month": 3, "day": 3, "company": "lexus" }
+{ "customer_id": 1, "year": 2001, "month": 1, "day": 1, "company": "toyota" }
+{ "customer_id": 1, "year": 2001, "month": 1, "day": 1, "company": "toyota" }
+{ "customer_id": 1, "year": 2001, "month": 1, "day": 1, "company": "toyota" }
+{ "customer_id": 1, "year": 2002, "month": 2, "day": 2, "company": "toyota" }
+{ "customer_id": 1, "year": 2002, "month": 2, "day": 2, "company": "toyota" }
+{ "customer_id": 1, "year": 2002, "month": 2, "day": 2, "company": "toyota" }
+{ "customer_id": 1, "year": 2003, "month": 3, "day": 3, "company": "toyota" }
+{ "customer_id": 1, "year": 2003, "month": 3, "day": 3, "company": "toyota" }
+{ "customer_id": 1, "year": 2003, "month": 3, "day": 3, "company": "toyota" }
+{ "customer_id": 2, "year": 2001, "month": 1, "day": 1, "company": "ford" }
+{ "customer_id": 2, "year": 2001, "month": 1, "day": 1, "company": "ford" }
+{ "customer_id": 2, "year": 2001, "month": 1, "day": 1, "company": "ford" }
+{ "customer_id": 2, "year": 2002, "month": 2, "day": 2, "company": "ford" }
+{ "customer_id": 2, "year": 2002, "month": 2, "day": 2, "company": "ford" }
+{ "customer_id": 2, "year": 2002, "month": 2, "day": 2, "company": "ford" }
+{ "customer_id": 2, "year": 2003, "month": 3, "day": 3, "company": "ford" }
+{ "customer_id": 2, "year": 2003, "month": 3, "day": 3, "company": "ford" }
+{ "customer_id": 2, "year": 2003, "month": 3, "day": 3, "company": "ford" }
+{ "customer_id": 2, "year": 2001, "month": 1, "day": 1, "company": "lexus" }
+{ "customer_id": 2, "year": 2001, "month": 1, "day": 1, "company": "lexus" }
+{ "customer_id": 2, "year": 2001, "month": 1, "day": 1, "company": "lexus" }
+{ "customer_id": 2, "year": 2002, "month": 2, "day": 2, "company": "lexus" }
+{ "customer_id": 2, "year": 2002, "month": 2, "day": 2, "company": "lexus" }
+{ "customer_id": 2, "year": 2002, "month": 2, "day": 2, "company": "lexus" }
+{ "customer_id": 2, "year": 2003, "month": 3, "day": 3, "company": "lexus" }
+{ "customer_id": 2, "year": 2003, "month": 3, "day": 3, "company": "lexus" }
+{ "customer_id": 2, "year": 2003, "month": 3, "day": 3, "company": "lexus" }
+{ "customer_id": 2, "year": 2001, "month": 1, "day": 1, "company": "toyota" }
+{ "customer_id": 2, "year": 2001, "month": 1, "day": 1, "company": "toyota" }
+{ "customer_id": 2, "year": 2001, "month": 1, "day": 1, "company": "toyota" }
+{ "customer_id": 2, "year": 2002, "month": 2, "day": 2, "company": "toyota" }
+{ "customer_id": 2, "year": 2002, "month": 2, "day": 2, "company": "toyota" }
+{ "customer_id": 2, "year": 2002, "month": 2, "day": 2, "company": "toyota" }
+{ "customer_id": 2, "year": 2003, "month": 3, "day": 3, "company": "toyota" }
+{ "customer_id": 2, "year": 2003, "month": 3, "day": 3, "company": "toyota" }
+{ "customer_id": 2, "year": 2003, "month": 3, "day": 3, "company": "toyota" }
+{ "customer_id": 3, "year": 2001, "month": 1, "day": 1, "company": "ford" }
+{ "customer_id": 3, "year": 2001, "month": 1, "day": 1, "company": "ford" }
+{ "customer_id": 3, "year": 2001, "month": 1, "day": 1, "company": "ford" }
+{ "customer_id": 3, "year": 2002, "month": 2, "day": 2, "company": "ford" }
+{ "customer_id": 3, "year": 2002, "month": 2, "day": 2, "company": "ford" }
+{ "customer_id": 3, "year": 2002, "month": 2, "day": 2, "company": "ford" }
+{ "customer_id": 3, "year": 2003, "month": 3, "day": 3, "company": "ford" }
+{ "customer_id": 3, "year": 2003, "month": 3, "day": 3, "company": "ford" }
+{ "customer_id": 3, "year": 2003, "month": 3, "day": 3, "company": "ford" }
+{ "customer_id": 3, "year": 2001, "month": 1, "day": 1, "company": "lexus" }
+{ "customer_id": 3, "year": 2001, "month": 1, "day": 1, "company": "lexus" }
+{ "customer_id": 3, "year": 2001, "month": 1, "day": 1, "company": "lexus" }
+{ "customer_id": 3, "year": 2002, "month": 2, "day": 2, "company": "lexus" }
+{ "customer_id": 3, "year": 2002, "month": 2, "day": 2, "company": "lexus" }
+{ "customer_id": 3, "year": 2002, "month": 2, "day": 2, "company": "lexus" }
+{ "customer_id": 3, "year": 2003, "month": 3, "day": 3, "company": "lexus" }
+{ "customer_id": 3, "year": 2003, "month": 3, "day": 3, "company": "lexus" }
+{ "customer_id": 3, "year": 2003, "month": 3, "day": 3, "company": "lexus" }
+{ "customer_id": 3, "year": 2001, "month": 1, "day": 1, "company": "toyota" }
+{ "customer_id": 3, "year": 2001, "month": 1, "day": 1, "company": "toyota" }
+{ "customer_id": 3, "year": 2001, "month": 1, "day": 1, "company": "toyota" }
+{ "customer_id": 3, "year": 2002, "month": 2, "day": 2, "company": "toyota" }
+{ "customer_id": 3, "year": 2002, "month": 2, "day": 2, "company": "toyota" }
+{ "customer_id": 3, "year": 2002, "month": 2, "day": 2, "company": "toyota" }
+{ "customer_id": 3, "year": 2003, "month": 3, "day": 3, "company": "toyota" }
+{ "customer_id": 3, "year": 2003, "month": 3, "day": 3, "company": "toyota" }
+{ "customer_id": 3, "year": 2003, "month": 3, "day": 3, "company": "toyota" }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-multiple-values/embed-multiple-values.002.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-multiple-values/embed-multiple-values.002.adm
new file mode 100644
index 0000000..eff14d1
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-multiple-values/embed-multiple-values.002.adm
@@ -0,0 +1,3 @@
+{ "customer_id": 1, "year": 2001, "month": 1, "day": 1, "company": "ford" }
+{ "customer_id": 1, "year": 2001, "month": 1, "day": 1, "company": "ford" }
+{ "customer_id": 1, "year": 2001, "month": 1, "day": 1, "company": "ford" }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.010.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.010.adm
new file mode 100644
index 0000000..02b4c8f
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.010.adm
@@ -0,0 +1,3 @@
+{ "id": "1", "first_name": "John", "last_name": "Smith", "department": "accounting" }
+{ "id": "2", "first_name": "Mike", "last_name": "Jones", "department": "accounting" }
+{ "id": "3", "first_name": "Alex", "last_name": "Miller", "department": "accounting" }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.011.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.011.plan
new file mode 100644
index 0000000..855cae6
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.011.plan
@@ -0,0 +1,24 @@
+distribute result [$$d] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+-- DISTRIBUTE_RESULT  |PARTITIONED|
+  exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+    project ([$$d]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+    -- STREAM_PROJECT  |PARTITIONED|
+      exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+      -- SORT_MERGE_EXCHANGE [$$17(ASC) ]  |PARTITIONED|
+        order (ASC, $$17) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+        -- STABLE_SORT [$$17(ASC)]  |PARTITIONED|
+          exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+          -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+            select (eq($$d.getField("department"), "accounting")) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+            -- STREAM_SELECT  |PARTITIONED|
+              assign [$$17] <- [$$d.getField(0)] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+              -- ASSIGN  |PARTITIONED|
+                exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                  data-scan []<-[$$d] <- test.Department prefix-filter on: eq($$d.getField("department"), "accounting") embed-filter-value: true [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                  -- DATASOURCE_SCAN  |PARTITIONED|
+                    exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                      empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                      -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.020.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.020.adm
new file mode 100644
index 0000000..e0f50dc
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.020.adm
@@ -0,0 +1 @@
+{ "id": "1", "first_name": "John", "last_name": "Smith", "department": "accounting" }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.021.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.021.plan
new file mode 100644
index 0000000..0a61174
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.021.plan
@@ -0,0 +1,24 @@
+distribute result [$$d] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+-- DISTRIBUTE_RESULT  |PARTITIONED|
+  exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+    project ([$$d]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+    -- STREAM_PROJECT  |PARTITIONED|
+      exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+      -- SORT_MERGE_EXCHANGE [$$21(ASC) ]  |PARTITIONED|
+        order (ASC, $$21) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+        -- STABLE_SORT [$$21(ASC)]  |PARTITIONED|
+          exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+          -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+            select (and(eq($$d.getField("department"), "accounting"), eq($$d.getField(2), "Smith"))) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+            -- STREAM_SELECT  |PARTITIONED|
+              assign [$$21] <- [$$d.getField(0)] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+              -- ASSIGN  |PARTITIONED|
+                exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                  data-scan []<-[$$d] <- test.Department prefix-filter on: eq($$d.getField("department"), "accounting") embed-filter-value: true [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                  -- DATASOURCE_SCAN  |PARTITIONED|
+                    exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                      empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                      -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.030.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.030.adm
new file mode 100644
index 0000000..0549d5d
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.030.adm
@@ -0,0 +1,5 @@
+{ "id": "1", "first_name": "John", "last_name": "Smith", "department": "accounting" }
+{ "id": "2", "first_name": "Mike", "last_name": "Jones", "department": "accounting" }
+{ "id": "3", "first_name": "Alex", "last_name": "Miller", "department": "accounting" }
+{ "id": "4", "first_name": "Tom", "last_name": "Smith", "department": "engineering" }
+{ "id": "7", "first_name": "James", "last_name": "Smith", "department": "hr" }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.031.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.031.plan
new file mode 100644
index 0000000..c5a7c10
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.031.plan
@@ -0,0 +1,24 @@
+distribute result [$$d] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+-- DISTRIBUTE_RESULT  |PARTITIONED|
+  exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+    project ([$$d]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+    -- STREAM_PROJECT  |PARTITIONED|
+      exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+      -- SORT_MERGE_EXCHANGE [$$21(ASC) ]  |PARTITIONED|
+        order (ASC, $$21) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+        -- STABLE_SORT [$$21(ASC)]  |PARTITIONED|
+          exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+          -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+            select (or(eq($$d.getField("department"), "accounting"), eq($$d.getField(2), "Smith"))) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+            -- STREAM_SELECT  |PARTITIONED|
+              assign [$$21] <- [$$d.getField(0)] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+              -- ASSIGN  |PARTITIONED|
+                exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                  data-scan []<-[$$d] <- test.Department embed-filter-value: true [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                  -- DATASOURCE_SCAN  |PARTITIONED|
+                    exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                      empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                      -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.040.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.040.adm
new file mode 100644
index 0000000..f0d4195
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.040.adm
@@ -0,0 +1,3 @@
+{ "id": "7", "first_name": "James", "last_name": "Smith", "department": "hr" }
+{ "id": "8", "first_name": "David", "last_name": "Jones", "department": "hr" }
+{ "id": "9", "first_name": "Noah", "last_name": "Miller", "department": "hr" }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.041.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.041.plan
new file mode 100644
index 0000000..9e6cdd8
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.041.plan
@@ -0,0 +1,24 @@
+distribute result [$$d] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+-- DISTRIBUTE_RESULT  |PARTITIONED|
+  exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+  -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+    project ([$$d]) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+    -- STREAM_PROJECT  |PARTITIONED|
+      exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+      -- SORT_MERGE_EXCHANGE [$$20(ASC) ]  |PARTITIONED|
+        order (ASC, $$20) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+        -- STABLE_SORT [$$20(ASC)]  |PARTITIONED|
+          exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+          -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+            select (eq(uppercase($$d.getField("department")), "HR")) [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+            -- STREAM_SELECT  |PARTITIONED|
+              assign [$$20] <- [$$d.getField(0)] [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+              -- ASSIGN  |PARTITIONED|
+                exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                  data-scan []<-[$$d] <- test.Department prefix-filter on: eq(uppercase($$d.getField("department")), "HR") embed-filter-value: true [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                  -- DATASOURCE_SCAN  |PARTITIONED|
+                    exchange [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                    -- ONE_TO_ONE_EXCHANGE  |PARTITIONED|
+                      empty-tuple-source [cardinality: 0.0, op-cost: 0.0, total-cost: 0.0]
+                      -- EMPTY_TUPLE_SOURCE  |PARTITIONED|
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.050.adm b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.050.adm
new file mode 100644
index 0000000..d315b06
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.050.adm
@@ -0,0 +1,9 @@
+{ "id": "1", "first_name": "John", "last_name": "Smith", "department": "accounting" }
+{ "id": "2", "first_name": "Mike", "last_name": "Jones", "department": "accounting" }
+{ "id": "3", "first_name": "Alex", "last_name": "Miller", "department": "accounting" }
+{ "id": "4", "first_name": "Tom", "last_name": "Smith", "department": "engineering" }
+{ "id": "5", "first_name": "Alice", "last_name": "Jones", "department": "engineering" }
+{ "id": "6", "first_name": "Sheila", "last_name": "Miller", "department": "engineering" }
+{ "id": "7", "first_name": "James", "last_name": "Smith", "department": "hr" }
+{ "id": "8", "first_name": "David", "last_name": "Jones", "department": "hr" }
+{ "id": "9", "first_name": "Noah", "last_name": "Miller", "department": "hr" }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.051.plan b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.051.plan
new file mode 100644
index 0000000..d315b06
--- /dev/null
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/results/external-dataset/common/dynamic-prefixes/csv/embed-one-value/one-field.051.plan
@@ -0,0 +1,9 @@
+{ "id": "1", "first_name": "John", "last_name": "Smith", "department": "accounting" }
+{ "id": "2", "first_name": "Mike", "last_name": "Jones", "department": "accounting" }
+{ "id": "3", "first_name": "Alex", "last_name": "Miller", "department": "accounting" }
+{ "id": "4", "first_name": "Tom", "last_name": "Smith", "department": "engineering" }
+{ "id": "5", "first_name": "Alice", "last_name": "Jones", "department": "engineering" }
+{ "id": "6", "first_name": "Sheila", "last_name": "Miller", "department": "engineering" }
+{ "id": "7", "first_name": "James", "last_name": "Smith", "department": "hr" }
+{ "id": "8", "first_name": "David", "last_name": "Jones", "department": "hr" }
+{ "id": "9", "first_name": "Noah", "last_name": "Miller", "department": "hr" }
diff --git a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_external_dataset_s3.xml b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_external_dataset_s3.xml
index 02353f7..b22eed0 100644
--- a/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_external_dataset_s3.xml
+++ b/asterixdb/asterix-app/src/test/resources/runtimets/testsuite_external_dataset_s3.xml
@@ -290,6 +290,18 @@
         <output-dir compare="Text">embed-multiple-values</output-dir>
       </compilation-unit>
     </test-case>
+    <test-case FilePath="external-dataset/common/dynamic-prefixes/csv">
+      <compilation-unit name="embed-one-value">
+        <placeholder name="adapter" value="S3" />
+        <output-dir compare="Text">embed-one-value</output-dir>
+      </compilation-unit>
+    </test-case>
+    <test-case FilePath="external-dataset/common/dynamic-prefixes/csv">
+      <compilation-unit name="embed-multiple-values">
+        <placeholder name="adapter" value="S3" />
+        <output-dir compare="Text">embed-multiple-values</output-dir>
+      </compilation-unit>
+    </test-case>
     <!-- Dynamic prefixes tests end -->
     <test-case FilePath="external-dataset">
       <compilation-unit name="common/empty-string-definition">
diff --git a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/DelimitedDataParser.java b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/DelimitedDataParser.java
index bc855b4..b8a7480 100644
--- a/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/DelimitedDataParser.java
+++ b/asterixdb/asterix-external-data/src/main/java/org/apache/asterix/external/parser/DelimitedDataParser.java
@@ -38,6 +38,8 @@
 import org.apache.asterix.external.api.IRawRecord;
 import org.apache.asterix.external.api.IRecordDataParser;
 import org.apache.asterix.external.api.IStreamDataParser;
+import org.apache.asterix.external.input.filter.embedder.IExternalFilterValueEmbedder;
+import org.apache.asterix.external.parser.jackson.ParserContext;
 import org.apache.asterix.om.base.AMutableString;
 import org.apache.asterix.om.typecomputer.impl.TypeComputeUtils;
 import org.apache.asterix.om.types.ARecordType;
@@ -46,6 +48,7 @@
 import org.apache.asterix.om.utils.NonTaggedFormatUtil;
 import org.apache.hyracks.api.exceptions.HyracksDataException;
 import org.apache.hyracks.api.exceptions.IWarningCollector;
+import org.apache.hyracks.data.std.api.IValueReference;
 import org.apache.hyracks.data.std.util.ArrayBackedValueStorage;
 import org.apache.hyracks.dataflow.common.data.parsers.IValueParser;
 import org.apache.hyracks.dataflow.common.data.parsers.IValueParserFactory;
@@ -69,7 +72,10 @@
     private final byte[] fieldTypeTags;
     private final int[] fldIds;
     private final ArrayBackedValueStorage[] nameBuffers;
+    private final String[] fieldNames;
     private final char[] nullChars;
+    private final IExternalFilterValueEmbedder valueEmbedder;
+    private final ParserContext parserContext;
     private FieldCursorForDelimitedDataParser cursor;
 
     public DelimitedDataParser(IExternalDataRuntimeContext context, IValueParserFactory[] valueParserFactories,
@@ -78,6 +84,7 @@
         this.dataSourceName = context.getDatasourceNameSupplier();
         this.lineNumber = context.getLineNumberSupplier();
         this.warnings = context.getTaskContext().getWarningCollector();
+        this.valueEmbedder = context.getValueEmbedder();
         this.fieldDelimiter = fieldDelimiter;
         this.quote = quote;
         this.hasHeader = hasHeader;
@@ -102,6 +109,7 @@
 
         fldIds = new int[n];
         nameBuffers = new ArrayBackedValueStorage[n];
+        fieldNames = new String[n];
         AMutableString str = new AMutableString(null);
         for (int i = 0; i < n; i++) {
             String name = recordType.getFieldNames()[i];
@@ -116,12 +124,14 @@
                     IDataParser.toBytes(str, nameBuffers[i], stringSerde);
                 }
             }
+            fieldNames[i] = name;
         }
         if (!isStreamParser) {
             cursor = new FieldCursorForDelimitedDataParser(null, this.fieldDelimiter, quote, warnings,
                     this::getDataSourceName);
         }
         this.nullChars = nullString != null ? nullString.toCharArray() : null;
+        this.parserContext = new ParserContext();
     }
 
     @Override
@@ -145,7 +155,6 @@
     private boolean parseRecord() throws HyracksDataException {
         recBuilder.reset(recordType);
         recBuilder.init();
-
         for (int i = 0; i < valueParsers.length; ++i) {
             try {
                 FieldCursorForDelimitedDataParser.Result result = cursor.nextField();
@@ -190,11 +199,8 @@
                         return false;
                     }
                 }
-                if (fldIds[i] < 0) {
-                    recBuilder.addField(nameBuffers[i], fieldValueBuffer);
-                } else {
-                    recBuilder.addField(fldIds[i], fieldValueBuffer);
-                }
+
+                addValue(i);
             } catch (IOException e) {
                 throw HyracksDataException.create(e);
             }
@@ -212,7 +218,11 @@
     @Override
     public boolean parse(IRawRecord<? extends char[]> record, DataOutput out) throws HyracksDataException {
         cursor.nextRecord(record.get(), record.size(), lineNumber.getAsLong());
+        valueEmbedder.reset();
+        valueEmbedder.enterObject();
         if (parseRecord()) {
+            valueEmbedder.exitObject();
+            finalizeEmbedding();
             recBuilder.write(out, true);
             return true;
         }
@@ -244,6 +254,19 @@
         return true;
     }
 
+    private void addValue(int index) throws HyracksDataException {
+        IValueReference value = fieldValueBuffer;
+        if (valueEmbedder.shouldEmbed(fieldNames[index], ATypeTag.VALUE_TYPE_MAPPING[fieldTypeTags[index]])) {
+            value = valueEmbedder.getEmbeddedValue();
+        }
+
+        if (fldIds[index] < 0) {
+            recBuilder.addField(nameBuffers[index], value);
+        } else {
+            recBuilder.addField(fldIds[index], value);
+        }
+    }
+
     private String getDataSourceName() {
         return dataSourceName.get();
     }
@@ -269,4 +292,31 @@
         }
         return true;
     }
+
+    private void finalizeEmbedding() throws HyracksDataException {
+        if (valueEmbedder.isMissingEmbeddedValues()) {
+            String[] embeddedFieldNames = valueEmbedder.getEmbeddedFieldNames();
+            for (int i = 0; i < embeddedFieldNames.length; i++) {
+                String embeddedFieldName = embeddedFieldNames[i];
+                int index = recordType.getFieldIndex(embeddedFieldName);
+                if (valueEmbedder.isMissing(embeddedFieldName)) {
+                    IValueReference embeddedValue = valueEmbedder.getEmbeddedValue();
+                    if (index < 0) {
+                        recBuilder.addField(getSerializedFieldName(embeddedFieldName), embeddedValue);
+                    } else {
+                        recBuilder.addField(index, embeddedValue);
+                    }
+                }
+            }
+        }
+    }
+
+    private IValueReference getSerializedFieldName(String fieldName) throws HyracksDataException {
+        try {
+            return parserContext.getSerializedFieldName(fieldName);
+        } catch (IOException e) {
+            throw HyracksDataException.create(e);
+        }
+
+    }
 }
