diff --git a/pgadmin/ctl/explainShape.cpp b/pgadmin/ctl/explainShape.cpp
index b6d4f5a..22c182b 100644
--- a/pgadmin/ctl/explainShape.cpp
+++ b/pgadmin/ctl/explainShape.cpp
@@ -22,9 +22,13 @@
 
 #include "images/ex_aggregate.pngc"
 #include "images/ex_append.pngc"
+#include "images/ex_bmp_and.pngc"
 #include "images/ex_bmp_heap.pngc"
 #include "images/ex_bmp_index.pngc"
+#include "images/ex_bmp_or.pngc"
 #include "images/ex_cte_scan.pngc"
+#include "images/ex_delete.pngc"
+#include "images/ex_foreign_scan.pngc"
 #include "images/ex_group.pngc"
 #include "images/ex_hash.pngc"
 #include "images/ex_hash_anti_join.pngc"
@@ -34,12 +38,16 @@
 #include "images/ex_hash_setop_intersect.pngc"
 #include "images/ex_hash_setop_intersect_all.pngc"
 #include "images/ex_hash_setop_unknown.pngc"
+#include "images/ex_index_only_scan.pngc"
 #include "images/ex_index_scan.pngc"
+#include "images/ex_insert.pngc"
+#include "images/ex_lock_rows.pngc"
 #include "images/ex_join.pngc"
 #include "images/ex_limit.pngc"
 #include "images/ex_materialize.pngc"
 #include "images/ex_merge.pngc"
 #include "images/ex_merge_anti_join.pngc"
+#include "images/ex_merge_append.pngc"
 #include "images/ex_merge_semi_join.pngc"
 #include "images/ex_nested.pngc"
 #include "images/ex_nested_loop_anti_join.pngc"
@@ -54,6 +62,8 @@
 #include "images/ex_tid_scan.pngc"
 #include "images/ex_unique.pngc"
 #include "images/ex_unknown.pngc"
+#include "images/ex_update.pngc"
+#include "images/ex_values_scan.pngc"
 #include "images/ex_window_aggregate.pngc"
 #include "images/ex_worktable_scan.pngc"
 
@@ -250,6 +260,10 @@ ExplainShape *ExplainShape::Create(long level, ExplainShape *last, const wxStrin
 				s = new ExplainShape(*ex_merge_semi_join_png_img, descr);
 			}
 		}
+		// Merge Append
+		else if (token2 == wxT("Append")) {
+			s = new ExplainShape(*ex_merge_append_png_img, descr);
+		}
 		else
 		{
 			s = new ExplainShape(*ex_merge_png_img, descr);
@@ -330,15 +344,18 @@ ExplainShape *ExplainShape::Create(long level, ExplainShape *last, const wxStrin
 	else if (token == wxT("Unique"))        s = new ExplainShape(*ex_unique_png_img, descr);
 	else if (token == wxT("SetOp"))         s = new ExplainShape(*ex_setop_png_img, descr);
 	else if (token == wxT("Limit"))         s = new ExplainShape(*ex_limit_png_img, descr);
+	else if (token == wxT("LockRows"))      s = new ExplainShape(*ex_lock_rows_png_img, descr);
 	else if (token == wxT("Bitmap"))
 	{
 		if (token2 == wxT("Index"))         s = new ExplainShape(*ex_bmp_index_png_img, descr, 4, 3);
 		else                                s = new ExplainShape(*ex_bmp_heap_png_img, descr, 4, 3);
 	}
+	else if (token == wxT("BitmapAnd"))     s = new ExplainShape(*ex_bmp_and_png_img, descr);
+	else if (token == wxT("BitmapOr"))      s = new ExplainShape(*ex_bmp_or_png_img, descr);
 	else if (token2 == wxT("Scan"))
 	{
 		if (token == wxT("Index"))
-			// Scan Index Backword
+			// Scan Index Backward
 			if (token3 == wxT("Backward"))
 				s = new ExplainShape(*ex_index_scan_png_img, descr, 4, 3);
 			else
@@ -346,15 +363,28 @@ ExplainShape *ExplainShape::Create(long level, ExplainShape *last, const wxStrin
 		// Tid Scan
 		else if (token == wxT("Tid"))
 			s = new ExplainShape(*ex_tid_scan_png_img, descr, 3, 2);
-		// WorkTable scan
+		// WorkTable Scan
 		else if (token == wxT("WorkTable"))
 			s = new ExplainShape(*ex_worktable_scan_png_img, descr, 3, 2);
 		// CTE Scan
 		else if (token == wxT("CTE"))
 			s = new ExplainShape(*ex_cte_scan_png_img, descr, 3, 2);
+		// Foreign Scan
+		else if (token == wxT("Foreign"))
+			s = new ExplainShape(*ex_foreign_scan_png_img, descr, 3, 2);
+		// Values Scan
+		else if (token == wxT("Values"))
+			s = new ExplainShape(*ex_values_scan_png_img, descr, 3, 2);
 		else
 			s = new ExplainShape(*ex_scan_png_img, descr, 3, 2);
 	}
+	else if (token == wxT("Index"))
+	{
+		// Index Only Scan
+		if (token2 == wxT("Only") && token3 == wxT("Scan")) {
+			s = new ExplainShape(*ex_index_only_scan_png_img, descr, 4, 3);
+		}
+	}
 	else if (token2 == wxT("Seek"))         s = new ExplainShape(*ex_seek_png_img, descr, 3, 2);
 	// Recursive Union
 	else if (token == wxT("Recursive") && token2 == wxT("Union"))
@@ -362,6 +392,14 @@ ExplainShape *ExplainShape::Create(long level, ExplainShape *last, const wxStrin
 	else if (token == wxT("WindowAgg"))
 		s = new ExplainShape(*ex_window_aggregate_png_img, descr);
 
+	// DML
+	else if (token == wxT("Insert"))
+		s = new ExplainShape(*ex_insert_png_img, descr, 2, 1);
+	else if (token == wxT("Update"))
+		s = new ExplainShape(*ex_update_png_img, descr, 2, 1);
+	else if (token == wxT("Delete"))
+		s = new ExplainShape(*ex_delete_png_img, descr, 2, 1);
+
 	// Greenplum additions
 	else if (token == wxT("Gather") && token2 == wxT("Motion"))
 		s = new ExplainShape(*ex_gather_motion_png_img, descr);
diff --git a/pgadmin/include/images/module.mk b/pgadmin/include/images/module.mk
index 3a32034..0d5bd97 100644
--- a/pgadmin/include/images/module.mk
+++ b/pgadmin/include/images/module.mk
@@ -104,9 +104,13 @@ pgadmin3_SOURCES += \
 	include/images/enumerations.png \
 	include/images/ex_aggregate.png \
 	include/images/ex_append.png \
+	include/images/ex_bmp_and.png \
 	include/images/ex_bmp_heap.png \
 	include/images/ex_bmp_index.png \
+	include/images/ex_bmp_or.png \
 	include/images/ex_cte_scan.png \
+	include/images/ex_delete.png \
+	include/images/ex_foreign_scan.png \
 	include/images/ex_group.png \
 	include/images/ex_hash.png \
 	include/images/ex_hash_anti_join.png \
@@ -116,12 +120,16 @@ pgadmin3_SOURCES += \
 	include/images/ex_hash_setop_intersect.png \
 	include/images/ex_hash_setop_intersect_all.png \
 	include/images/ex_hash_setop_unknown.png \
+	include/images/ex_index_only_scan.png \
 	include/images/ex_index_scan.png \
+	include/images/ex_insert.png \
 	include/images/ex_join.png \
 	include/images/ex_limit.png \
+	include/images/ex_lock_rows.png \
 	include/images/ex_materialize.png \
 	include/images/ex_merge.png \
 	include/images/ex_merge_anti_join.png \
+	include/images/ex_merge_append.png \
 	include/images/ex_merge_semi_join.png \
 	include/images/ex_nested.png \
 	include/images/ex_nested_loop_anti_join.png \
@@ -136,6 +144,8 @@ pgadmin3_SOURCES += \
 	include/images/ex_tid_scan.png \
 	include/images/ex_unique.png \
 	include/images/ex_unknown.png \
+	include/images/ex_update.png \
+	include/images/ex_values_scan.png \
 	include/images/ex_window_aggregate.png \
 	include/images/ex_worktable_scan.png \
 	include/images/exclude.png \
diff --git a/pgadmin/pgAdmin3.vcxproj b/pgadmin/pgAdmin3.vcxproj
index 870e3ab..8597f0c 100644
--- a/pgadmin/pgAdmin3.vcxproj
+++ b/pgadmin/pgAdmin3.vcxproj
@@ -3327,10 +3327,14 @@
     <png2c Include="include\images\enumerations.png" />
     <png2c Include="include\images\ex_aggregate.png" />
     <png2c Include="include\images\ex_append.png" />
+    <png2c Include="include\images\ex_bmp_and.png" />
     <png2c Include="include\images\ex_bmp_heap.png" />
     <png2c Include="include\images\ex_bmp_index.png" />
+    <png2c Include="include\images\ex_bmp_or.png" />
     <png2c Include="include\images\ex_broadcast_motion.png" />
     <png2c Include="include\images\ex_cte_scan.png" />
+    <png2c Include="include\images\ex_delete.png" />
+    <png2c Include="include\images\ex_foreign_scan.png" />
     <png2c Include="include\images\ex_gather_motion.png" />
     <png2c Include="include\images\ex_group.png" />
     <png2c Include="include\images\ex_hash.png" />
@@ -3341,12 +3345,16 @@
     <png2c Include="include\images\ex_hash_setop_intersect.png" />
     <png2c Include="include\images\ex_hash_setop_intersect_all.png" />
     <png2c Include="include\images\ex_hash_setop_unknown.png" />
+    <png2c Include="include\images\ex_index_only_scan.png" />
     <png2c Include="include\images\ex_index_scan.png" />
+    <png2c Include="include\images\ex_insert.png" />
     <png2c Include="include\images\ex_join.png" />
     <png2c Include="include\images\ex_limit.png" />
+    <png2c Include="include\images\ex_lock_rows.png" />
     <png2c Include="include\images\ex_materialize.png" />
     <png2c Include="include\images\ex_merge.png" />
     <png2c Include="include\images\ex_merge_anti_join.png" />
+    <png2c Include="include\images\ex_merge_append.png" />
     <png2c Include="include\images\ex_merge_semi_join.png" />
     <png2c Include="include\images\ex_nested.png" />
     <png2c Include="include\images\ex_nested_loop_anti_join.png" />
@@ -3362,6 +3370,8 @@
     <png2c Include="include\images\ex_tid_scan.png" />
     <png2c Include="include\images\ex_unique.png" />
     <png2c Include="include\images\ex_unknown.png" />
+    <png2c Include="include\images\ex_update.png" />
+    <png2c Include="include\images\ex_values_scan.png" />
     <png2c Include="include\images\ex_window_aggregate.png" />
     <png2c Include="include\images\ex_worktable_scan.png" />
     <png2c Include="include\images\exclude.png" />
diff --git a/pgadmin/pgAdmin3.vcxproj.filters b/pgadmin/pgAdmin3.vcxproj.filters
index 144bd41..22cb2ec 100644
--- a/pgadmin/pgAdmin3.vcxproj.filters
+++ b/pgadmin/pgAdmin3.vcxproj.filters
@@ -3845,18 +3845,30 @@
     <png2c Include="include\images\ex_append.png">
       <Filter>include\images</Filter>
     </png2c>
+    <png2c Include="include\images\ex_bmp_and.png">
+      <Filter>include\images</Filter>
+    </png2c>
     <png2c Include="include\images\ex_bmp_heap.png">
       <Filter>include\images</Filter>
     </png2c>
     <png2c Include="include\images\ex_bmp_index.png">
       <Filter>include\images</Filter>
     </png2c>
+    <png2c Include="include\images\ex_bmp_or.png">
+      <Filter>include\images</Filter>
+    </png2c>
     <png2c Include="include\images\ex_broadcast_motion.png">
       <Filter>include\images</Filter>
     </png2c>
     <png2c Include="include\images\ex_cte_scan.png">
       <Filter>include\images</Filter>
     </png2c>
+    <png2c Include="include\images\ex_delete.png">
+      <Filter>include\images</Filter>
+    </png2c>
+    <png2c Include="include\images\ex_foreign_scan.png">
+      <Filter>include\images</Filter>
+    </png2c>
     <png2c Include="include\images\ex_gather_motion.png">
       <Filter>include\images</Filter>
     </png2c>
@@ -3887,15 +3899,24 @@
     <png2c Include="include\images\ex_hash_setop_unknown.png">
       <Filter>include\images</Filter>
     </png2c>
+    <png2c Include="include\images\ex_index_only_scan.png">
+      <Filter>include\images</Filter>
+    </png2c>
     <png2c Include="include\images\ex_index_scan.png">
       <Filter>include\images</Filter>
     </png2c>
+    <png2c Include="include\images\ex_insert.png">
+      <Filter>include\images</Filter>
+    </png2c>
     <png2c Include="include\images\ex_join.png">
       <Filter>include\images</Filter>
     </png2c>
     <png2c Include="include\images\ex_limit.png">
       <Filter>include\images</Filter>
     </png2c>
+    <png2c Include="include\images\ex_lock_rows.png">
+      <Filter>include\images</Filter>
+    </png2c>
     <png2c Include="include\images\ex_materialize.png">
       <Filter>include\images</Filter>
     </png2c>
@@ -3905,6 +3926,9 @@
     <png2c Include="include\images\ex_merge_anti_join.png">
       <Filter>include\images</Filter>
     </png2c>
+    <png2c Include="include\images\ex_merge_append.png">
+      <Filter>include\images</Filter>
+    </png2c>
     <png2c Include="include\images\ex_merge_semi_join.png">
       <Filter>include\images</Filter>
     </png2c>
@@ -3950,6 +3974,12 @@
     <png2c Include="include\images\ex_unknown.png">
       <Filter>include\images</Filter>
     </png2c>
+    <png2c Include="include\images\ex_update.png">
+      <Filter>include\images</Filter>
+    </png2c>
+    <png2c Include="include\images\ex_values_scan.png">
+      <Filter>include\images</Filter>
+    </png2c>
     <png2c Include="include\images\ex_window_aggregate.png">
       <Filter>include\images</Filter>
     </png2c>
