UPDATE finished. Example provided.
Rob Kinyon [Sun, 29 Mar 2009 03:06:26 +0000 (23:06 -0400)]
lib/SQL/Abstract/Manual/Examples.pod
lib/SQL/Abstract/Manual/Specification.pod

index a9760be..4f69af8 100644 (file)
@@ -405,6 +405,33 @@ one. The SQL used is from the MySQL dialect.
       ],
   }
 
+=item * UPDATE foo SET col1 = 1
+
+  {
+      type => 'update',
+      ast_version => 0.0001,
+      tables => {
+          type => 'TableIdentifier',
+          value => {
+              type => 'Identifier',
+              element1 => 'foo',
+          },
+      },
+      set => [
+          {
+              type => 'SetComponent',
+              col  => {
+                  type => 'Identifier,
+                  element1 => 'col1',
+              },
+              value => {
+                  type => 'Number',
+                  value => 1,
+              },
+          },
+      ],
+  }
+
 =back
 
 =head1 AUTHORS
index f9e1f32..2e2fdbc 100644 (file)
@@ -440,11 +440,15 @@ A where clause is composed of an Expression.
 
 This corresponds to the SET clause in an INSERT or UPDATE statement.
 
-A set clause is composed as follows:
+A set clause unit is an array of one or more SetComponent units.
 
-  SetComponent := Identifier = Expression
+The hash for SetComponent unit is composed as follows:
 
-  SetComponent [ , SetComponent ]*
+  {
+      type => 'SetComponent',
+      col  => Identifier,
+      value => Expression,
+  }
 
 =head3 columns
 
@@ -511,7 +515,6 @@ number of rows returned by a query. In MySQL, this would be the LIMIT clause.
 The hash for a rows clause is composed as follows:
 
   {
-      type => 'Rows',
       start => Number,
       count => Number,
   }