public CreateViewStatement(Qualified<SchemaName, ViewName> viewName, Optional<Sequence<ColumnName>> columnNames, OptionToken viewOption, SelectStatement selectStatement, Optional<WithCheckOptionToken> withCheckOption) {
			Debug.Assert(viewName != null);
			Debug.Assert(selectStatement != null);
			this.viewName = viewName;
			this.viewOption = viewOption;
			this.columnNames = columnNames.ToList();
			this.selectStatement = selectStatement;
			this.withCheckOption = withCheckOption.HasValue();
		}
		public CursorDefinition(Sequence<Identifier> cursorOptions, SelectStatement selectStatement, UpdateMode cursorUpdate) {
			this.selectStatement = selectStatement;
			this.cursorUpdate = cursorUpdate;
			foreach (Identifier cursorOption in cursorOptions) {
				string option = cursorOption.Value.ToUpperInvariant();
				this.cursorOptions.Add(option);
				if (option.Equals("GLOBAL", StringComparison.Ordinal)) {
					global = true;
				}
			}
		}
		public CursorDefinition(Sequence<Identifier> cursorOptions, SelectStatement selectStatement): this(cursorOptions, selectStatement, null) {}