summaryrefslogtreecommitdiffstats
path: root/src/Statements/SetStatement.php
diff options
context:
space:
mode:
Diffstat (limited to 'src/Statements/SetStatement.php')
-rw-r--r--src/Statements/SetStatement.php29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/Statements/SetStatement.php b/src/Statements/SetStatement.php
index d412853..a5cffa2 100644
--- a/src/Statements/SetStatement.php
+++ b/src/Statements/SetStatement.php
@@ -10,6 +10,7 @@ namespace SqlParser\Statements;
use SqlParser\Statement;
use SqlParser\Components\SetOperation;
+use SqlParser\Components\OptionsArray;
/**
* `SET` statement.
@@ -35,9 +36,37 @@ class SetStatement extends Statement
);
/**
+ * Possible exceptions in SET statment
+ *
+ * @var array
+ */
+ public static $OPTIONS = array(
+ 'CHARSET' => array(3, 'var'),
+ 'CHARACTER SET' => array(3, 'var'),
+ 'NAMES' => array(3, 'var'),
+ 'PASSWORD' => array(3, 'expr'),
+ );
+
+ /**
+ * Options used in current statement
+ *
+ * @var OptionsArray[]
+ */
+ public $options;
+
+ /**
* The updated values.
*
* @var SetOperation[]
*/
public $set;
+
+ /**
+ * @return string
+ */
+ public function build()
+ {
+ return 'SET ' . OptionsArray::build($this->options)
+ . ' ' . SetOperation::build($this->set);
+ }
}