// Base `_sql` dispatch (generated from the Python Generator's method names).

///|
/// The base Generator's `_sql` method for `kind`, if any (Python `_build_dispatch`
/// minus `TRANSFORMS`).
pub fn Generator::base_dispatch(
  self : Generator,
  kind : Kind,
  e : Expr,
) -> String? raise SqlglotError {
  let s = match kind {
    Kind::Add => self.add_sql(e)
    Kind::AddConstraint => self.addconstraint_sql(e)
    Kind::AddPartition => self.addpartition_sql(e)
    Kind::AIForecast => self.aiforecast_sql(e)
    Kind::Alias => self.alias_sql(e)
    Kind::Aliases => self.aliases_sql(e)
    Kind::All => self.all_sql(e)
    Kind::Alter => self.alter_sql(e)
    Kind::AlterColumn => self.altercolumn_sql(e)
    Kind::AlterDistStyle => self.alterdiststyle_sql(e)
    Kind::AlterIndex => self.alterindex_sql(e)
    Kind::AlterModifySqlSecurity => self.altermodifysqlsecurity_sql(e)
    Kind::AlterRename => self.alterrename_sql_v(e)
    Kind::AlterSession => self.altersession_sql(e)
    Kind::AlterSet => self.alterset_sql(e)
    Kind::AlterSortKey => self.altersortkey_sql(e)
    Kind::Analyze => self.analyze_sql(e)
    Kind::AnalyzeDelete => self.analyzedelete_sql(e)
    Kind::AnalyzeHistogram => self.analyzehistogram_sql(e)
    Kind::AnalyzeListChainedRows => self.analyzelistchainedrows_sql(e)
    Kind::AnalyzeSample => self.analyzesample_sql(e)
    Kind::AnalyzeStatistics => self.analyzestatistics_sql(e)
    Kind::AnalyzeValidate => self.analyzevalidate_sql(e)
    Kind::And => self.and_sql(e)
    Kind::Anonymous => self.anonymous_sql(e)
    Kind::AnonymousAggFunc => self.anonymousaggfunc_sql(e)
    Kind::Any => self.any_sql(e)
    Kind::AnyValue => self.anyvalue_sql(e)
    Kind::Apply => self.apply_sql(e)
    Kind::ArrayAgg => self.arrayagg_sql(e)
    Kind::ArrayAny => self.arrayany_sql(e)
    Kind::ArrayInsert => self.arrayinsert_sql_v(e)
    Kind::ArraySize => self.arraysize_sql(e)
    Kind::AtIndex => self.atindex_sql(e)
    Kind::Attach => self.attach_sql(e)
    Kind::AttachOption => self.attachoption_sql(e)
    Kind::AtTimeZone => self.attimezone_sql(e)
    Kind::AutoIncrementColumnConstraint =>
      self.autoincrementcolumnconstraint_sql(e)
    Kind::Between => self.between_sql(e)
    Kind::BitString => self.bitstring_sql(e)
    Kind::BitwiseAnd => self.bitwiseand_sql(e)
    Kind::BitwiseLeftShift => self.bitwiseleftshift_sql(e)
    Kind::BitwiseNot => self.bitwisenot_sql(e)
    Kind::BitwiseOr => self.bitwiseor_sql(e)
    Kind::BitwiseRightShift => self.bitwiserightshift_sql(e)
    Kind::BitwiseXor => self.bitwisexor_sql(e)
    Kind::Block => self.block_sql(e)
    Kind::BlockCompressionProperty => self.blockcompressionproperty_sql(e)
    Kind::Booland => self.booland_sql(e)
    Kind::Boolean => self.boolean_sql(e)
    Kind::Boolor => self.boolor_sql(e)
    Kind::Bracket => self.bracket_sql(e)
    Kind::BuildProperty => self.buildproperty_sql(e)
    Kind::ByteString => self.bytestring_sql(e)
    Kind::Cache => self.cache_sql(e)
    Kind::Case => self.case_sql(e)
    Kind::CaseStatement => self.casestatement_sql(e)
    Kind::Cast => self.cast_sql_v(e)
    Kind::Changes => self.changes_sql(e)
    Kind::CharacterSet => self.characterset_sql(e)
    Kind::Check => self.check_sql(e)
    Kind::CheckColumnConstraint => self.checkcolumnconstraint_sql(e)
    Kind::ChecksumProperty => self.checksumproperty_sql(e)
    Kind::Chr => self.chr_sql_v(e)
    Kind::Clone => self.clone_sql(e)
    Kind::Cluster => self.cluster_sql(e)
    Kind::ClusteredByProperty => self.clusteredbyproperty_sql(e)
    Kind::ClusterProperty => self.clusterproperty_sql(e)
    Kind::Collate => self.collate_sql(e)
    Kind::Column => self.column_sql(e)
    Kind::ColumnConstraint => self.columnconstraint_sql(e)
    Kind::ColumnDef => self.columndef_sql_v(e)
    Kind::ColumnPosition => self.columnposition_sql(e)
    Kind::ColumnPrefix => self.columnprefix_sql(e)
    Kind::Columns => self.columns_sql(e)
    Kind::CombinedAggFunc => self.combinedaggfunc_sql(e)
    Kind::CombinedParameterizedAgg => self.combinedparameterizedagg_sql(e)
    Kind::Command => self.command_sql(e)
    Kind::Comment => self.comment_sql(e)
    Kind::Commit => self.commit_sql(e)
    Kind::Comprehension => self.comprehension_sql(e)
    Kind::CompressColumnConstraint => self.compresscolumnconstraint_sql(e)
    Kind::ComputedColumnConstraint => self.computedcolumnconstraint_sql(e)
    Kind::Concat => self.concat_sql(e)
    Kind::ConcatWs => self.concatws_sql(e)
    Kind::ConditionalInsert => self.conditionalinsert_sql(e)
    Kind::Connect => self.connect_sql(e)
    Kind::Connector => self.connector_sql(e, "")
    Kind::Constraint => self.constraint_sql(e)
    Kind::Convert => self.convert_sql(e)
    Kind::ConvertTimezone => self.converttimezone_sql(e)
    Kind::Copy => self.copy_sql(e)
    Kind::CopyParameter => self.copyparameter_sql(e)
    Kind::Create => self.create_sql(e)
    Kind::Credentials => self.credentials_sql(e)
    Kind::CTE => self.cte_sql(e)
    Kind::Cube => self.cube_sql(e)
    Kind::CurrentDate => self.currentdate_sql(e)
    Kind::DataBlocksizeProperty => self.datablocksizeproperty_sql(e)
    Kind::DataDeletionProperty => self.datadeletionproperty_sql(e)
    Kind::DataType => self.datatype_sql(e)
    Kind::DataTypeParam => self.datatypeparam_sql(e)
    Kind::DateAdd => self.dateadd_sql(e)
    Kind::DateFromUnixDate => self.datefromunixdate_sql(e)
    Kind::Declare => self.declare_sql(e)
    Kind::DeclareItem => self.declareitem_sql(e)
    Kind::DecodeCase => self.decodecase_sql(e)
    Kind::Delete => self.delete_sql(e)
    Kind::Describe => self.describe_sql(e)
    Kind::Detach => self.detach_sql(e)
    Kind::DictProperty => self.dictproperty_sql(e)
    Kind::DictRange => self.dictrange_sql(e)
    Kind::DictSubProperty => self.dictsubproperty_sql(e)
    Kind::Directory => self.directory_sql(e)
    Kind::DirectoryStage => self.directorystage_sql(e)
    Kind::Distance => self.distance_sql(e)
    Kind::DistanceNd => self.distancend_sql(e)
    Kind::Distinct => self.distinct_sql(e)
    Kind::Distribute => self.distribute_sql(e)
    Kind::DistributedByProperty => self.distributedbyproperty_sql(e)
    Kind::Div => self.div_sql(e)
    Kind::Dot => self.dot_sql(e)
    Kind::DPipe => self.dpipe_sql(e)
    Kind::Drop => self.drop_sql(e)
    Kind::DropPartition => self.droppartition_sql(e)
    Kind::DropPrimaryKey => self.dropprimarykey_sql(e)
    Kind::DuplicateKeyProperty => self.duplicatekeyproperty_sql(e)
    Kind::DynamicIdentifier => self.dynamicidentifier_sql(e)
    Kind::EncodeProperty => self.encodeproperty_sql(e)
    Kind::EQ => self.eq_sql(e)
    Kind::Escape => self.escape_sql(e)
    Kind::Execute => self.execute_sql(e)
    Kind::ExecuteSql => self.executesql_sql(e)
    Kind::Exists => self.exists_sql(e)
    Kind::ExplodingGenerateSeries => self.explodinggenerateseries_sql(e)
    Kind::Export => self.export_sql(e)
    Kind::Extract => self.extract_sql(e)
    Kind::FallbackProperty => self.fallbackproperty_sql(e)
    Kind::FeaturesAtTime => self.featuresattime_sql(e)
    Kind::Fetch => self.fetch_sql(e)
    Kind::Filter => self.filter_sql(e)
    Kind::ForClause => self.forclause_sql(e)
    Kind::ForeignKey => self.foreignkey_sql(e)
    Kind::ForIn => self.forin_sql(e)
    Kind::FormatJson => self.formatjson_sql(e)
    Kind::FormatPhrase => self.formatphrase_sql(e)
    Kind::FreespaceProperty => self.freespaceproperty_sql(e)
    Kind::From => self.from_sql(e)
    Kind::FromISO8601Date => self.fromiso8601date_sql(e)
    Kind::FromISO8601Timestamp => self.fromiso8601timestamp_sql(e)
    Kind::FromISO8601TimestampNanos => self.fromiso8601timestampnanos_sql(e)
    Kind::FromTimeZone => self.fromtimezone_sql(e)
    Kind::FunctionSpecification => self.functionspecification_sql(e)
    Kind::GapFill => self.gapfill_sql(e)
    Kind::GenerateBool => self.generatebool_sql(e)
    Kind::GeneratedAsIdentityColumnConstraint =>
      self.generatedasidentitycolumnconstraint_sql(e)
    Kind::GeneratedAsRowColumnConstraint =>
      self.generatedasrowcolumnconstraint_sql(e)
    Kind::GenerateDouble => self.generatedouble_sql(e)
    Kind::GenerateEmbedding => self.generateembedding_sql(e)
    Kind::GenerateInt => self.generateint_sql(e)
    Kind::GenerateTable => self.generatetable_sql(e)
    Kind::GenerateText => self.generatetext_sql(e)
    Kind::GetExtract => self.getextract_sql(e)
    Kind::Glob => self.glob_sql(e)
    Kind::Grant => self.grant_sql(e)
    Kind::GrantPrincipal => self.grantprincipal_sql(e)
    Kind::GrantPrivilege => self.grantprivilege_sql(e)
    Kind::Group => self.group_sql(e)
    Kind::GroupingSets => self.groupingsets_sql(e)
    Kind::GT => self.gt_sql(e)
    Kind::GTE => self.gte_sql(e)
    Kind::Having => self.having_sql(e)
    Kind::HavingMax => self.havingmax_sql(e)
    Kind::Heredoc => self.heredoc_sql(e)
    Kind::Hex => self.hex_sql(e)
    Kind::HexString => self.hexstring_sql_v(e)
    Kind::Hint => self.hint_sql(e)
    Kind::HistoricalData => self.historicaldata_sql(e)
    Kind::Identifier => self.identifier_sql(e)
    Kind::If => self.if_sql(e)
    Kind::IfBlock => self.ifblock_sql(e)
    Kind::IgnoreNulls => self.ignorenulls_sql(e)
    Kind::ILike => self.ilike_sql(e)
    Kind::In => self.in_sql(e)
    Kind::IncludeProperty => self.includeproperty_sql(e)
    Kind::Index => self.index_sql(e)
    Kind::IndexColumnConstraint => self.indexcolumnconstraint_sql(e)
    Kind::IndexConstraintOption => self.indexconstraintoption_sql(e)
    Kind::IndexParameters => self.indexparameters_sql(e)
    Kind::IndexTableHint => self.indextablehint_sql(e)
    Kind::Initcap => self.initcap_sql(e)
    Kind::InOutColumnConstraint => self.inoutcolumnconstraint_sql(e)
    Kind::InputOutputFormat => self.inputoutputformat_sql(e)
    Kind::Insert => self.insert_sql(e)
    Kind::Install => self.install_sql(e)
    Kind::IntDiv => self.intdiv_sql(e)
    Kind::Interval => self.interval_sql(e)
    Kind::Into => self.into_sql(e)
    Kind::Introducer => self.introducer_sql(e)
    Kind::Is => self.is_sql(e)
    Kind::IsolatedLoadingProperty => self.isolatedloadingproperty_sql(e)
    Kind::Iterate => self.iterate_sql(e)
    Kind::Join => self.join_sql(e)
    Kind::JoinHint => self.joinhint_sql(e)
    Kind::JournalProperty => self.journalproperty_sql(e)
    Kind::JSON => self.json_sql(e)
    Kind::JSONArray => self.jsonarray_sql(e)
    Kind::JSONArrayAgg => self.jsonarrayagg_sql(e)
    Kind::JSONCast => self.jsoncast_sql(e)
    Kind::JSONColumnDef => self.jsoncolumndef_sql(e)
    Kind::JSONExists => self.jsonexists_sql(e)
    Kind::JSONExtractQuote => self.jsonextractquote_sql(e)
    Kind::JSONKeyValue => self.jsonkeyvalue_sql(e)
    Kind::JSONPath => self.jsonpath_sql(e)
    Kind::JSONSchema => self.jsonschema_sql(e)
    Kind::JSONTable => self.jsontable_sql(e)
    Kind::JSONValue => self.jsonvalue_sql(e)
    Kind::Kill => self.kill_sql(e)
    Kind::Kwarg => self.kwarg_sql(e)
    Kind::Lambda => self.lambda_sql_v(e)
    Kind::LastDay => self.lastday_sql(e)
    Kind::Lateral => self.lateral_sql(e)
    Kind::Leave => self.leave_sql(e)
    Kind::Like => self.like_sql(e)
    Kind::LikeProperty => self.likeproperty_sql(e)
    Kind::Limit => self.limit_sql(e)
    Kind::LimitOptions => self.limitoptions_sql(e)
    Kind::Literal => self.literal_sql(e)
    Kind::LoadData => self.loaddata_sql(e)
    Kind::Localtime => self.localtime_sql(e)
    Kind::Localtimestamp => self.localtimestamp_sql(e)
    Kind::Lock => self.lock_sql(e)
    Kind::LockingProperty => self.lockingproperty_sql(e)
    Kind::Log => self.log_sql(e)
    Kind::LoopBlock => self.loopblock_sql(e)
    Kind::LowerHex => self.lowerhex_sql(e)
    Kind::LT => self.lt_sql(e)
    Kind::LTE => self.lte_sql(e)
    Kind::MacroOverload => self.macrooverload_sql(e)
    Kind::MacroOverloads => self.macrooverloads_sql(e)
    Kind::MaskingPolicyColumnConstraint =>
      self.maskingpolicycolumnconstraint_sql(e)
    Kind::Match => self.match_sql(e)
    Kind::MatchAgainst => self.matchagainst_sql(e)
    Kind::MatchRecognize => self.matchrecognize_sql(e)
    Kind::MatchRecognizeMeasure => self.matchrecognizemeasure_sql(e)
    Kind::Median => self.median_sql(e)
    Kind::Merge => self.merge_sql(e)
    Kind::MergeBlockRatioProperty => self.mergeblockratioproperty_sql(e)
    Kind::MergeTreeTTL => self.mergetreettl_sql(e)
    Kind::MergeTreeTTLAction => self.mergetreettlaction_sql(e)
    Kind::MLForecast => self.mlforecast_sql(e)
    Kind::MLTranslate => self.mltranslate_sql(e)
    Kind::Mod => self.mod_sql(e)
    Kind::ModelAttribute => self.modelattribute_sql(e)
    Kind::ModifyColumn => self.modifycolumn_sql(e)
    Kind::ModuleProperty => self.moduleproperty_sql(e)
    Kind::Mul => self.mul_sql(e)
    Kind::MultitableInserts => self.multitableinserts_sql(e)
    Kind::National => self.national_sql(e)
    Kind::Neg => self.neg_sql(e)
    Kind::NEQ => self.neq_sql(e)
    Kind::NextValueFor => self.nextvaluefor_sql(e)
    Kind::Not => self.not_sql(e)
    Kind::NotNullColumnConstraint => self.notnullcolumnconstraint_sql(e)
    Kind::NthValue => self.nthvalue_sql(e)
    Kind::Null => self.null_sql(e)
    Kind::NullSafeEQ => self.nullsafeeq_sql(e)
    Kind::NullSafeNEQ => self.nullsafeneq_sql(e)
    Kind::Nvl2 => self.nvl2_sql(e)
    Kind::ObjectIdentifier => self.objectidentifier_sql(e)
    Kind::Offset => self.offset_sql(e)
    Kind::OnCluster => self.oncluster_sql(e)
    Kind::OnCondition => self.oncondition_sql(e)
    Kind::OnConflict => self.onconflict_sql(e)
    Kind::Opclass => self.opclass_sql(e)
    Kind::OpenJSON => self.openjson_sql(e)
    Kind::OpenJSONColumnDef => self.openjsoncolumndef_sql(e)
    Kind::Or => self.or_sql(e)
    Kind::Order => self.order_sql(e)
    Kind::Ordered => self.ordered_sql(e)
    Kind::OverflowTruncateBehavior => self.overflowtruncatebehavior_sql(e)
    Kind::Overlaps => self.overlaps_sql(e)
    Kind::Overlay => self.overlay_sql(e)
    Kind::Pad => self.pad_sql(e)
    Kind::Parameter => self.parameter_sql(e)
    Kind::ParameterizedAgg => self.parameterizedagg_sql(e)
    Kind::Paren => self.paren_sql(e)
    Kind::ParseDatetime => self.parsedatetime_sql(e)
    Kind::ParseJSON => self.parsejson_sql(e)
    Kind::Partition => self.partition_sql(e)
    Kind::PartitionBoundSpec => self.partitionboundspec_sql(e)
    Kind::PartitionByRangeProperty => self.partitionbyrangeproperty_sql(e)
    Kind::PartitionByRangePropertyDynamic =>
      self.partitionbyrangepropertydynamic_sql(e)
    Kind::PartitionedOfProperty => self.partitionedofproperty_sql(e)
    Kind::PartitionRange => self.partitionrange_sql(e)
    Kind::PeriodForSystemTimeConstraint =>
      self.periodforsystemtimeconstraint_sql(e)
    Kind::Pivot => self.pivot_sql(e)
    Kind::PivotAlias => self.pivotalias_sql(e)
    Kind::Placeholder => self.placeholder_sql(e)
    Kind::Pragma => self.pragma_sql(e)
    Kind::Predict => self.predict_sql(e)
    Kind::PreWhere => self.prewhere_sql(e)
    Kind::PrimaryKey => self.primarykey_sql(e)
    Kind::PrimaryKeyColumnConstraint => self.primarykeycolumnconstraint_sql(e)
    Kind::Prior => self.prior_sql(e)
    Kind::Properties => self.properties_sql(e)
    Kind::Property => self.property_sql(e)
    Kind::PropertyEQ => self.propertyeq_sql(e)
    Kind::Pseudocolumn => self.pseudocolumn_sql(e)
    Kind::PseudoType => self.pseudotype_sql(e)
    Kind::Qualify => self.qualify_sql(e)
    Kind::QueryBand => self.queryband_sql(e)
    Kind::QueryOption => self.queryoption_sql(e)
    Kind::QueryTransform => self.querytransform_sql(e)
    Kind::Rand => self.rand_sql(e)
    Kind::RawString => self.rawstring_sql(e)
    Kind::RecursiveWithSearch => self.recursivewithsearch_sql(e)
    Kind::Reference => self.reference_sql(e)
    Kind::Refresh => self.refresh_sql(e)
    Kind::RefreshTriggerProperty => self.refreshtriggerproperty_sql(e)
    Kind::RenameColumn => self.renamecolumn_sql(e)
    Kind::RenameIndex => self.renameindex_sql(e)
    Kind::RepeatBlock => self.repeatblock_sql(e)
    Kind::RespectNulls => self.respectnulls_sql(e)
    Kind::Return => self.return_sql(e)
    Kind::Returning => self.returning_sql(e)
    Kind::Revoke => self.revoke_sql(e)
    Kind::Rollback => self.rollback_sql(e)
    Kind::Rollup => self.rollup_sql(e)
    Kind::RollupIndex => self.rollupindex_sql(e)
    Kind::RollupProperty => self.rollupproperty_sql(e)
    Kind::RowFormatDelimitedProperty => self.rowformatdelimitedproperty_sql(e)
    Kind::SafeDivide => self.safedivide_sql(e)
    Kind::Schema => self.schema_sql(e)
    Kind::ScopeResolution => self.scoperesolution_sql(e)
    Kind::Select => self.select_sql(e)
    Kind::SemanticView => self.semanticview_sql(e)
    Kind::Semicolon => self.semicolon_sql(e)
    Kind::SequenceProperties => self.sequenceproperties_sql(e)
    Kind::SessionParameter => self.sessionparameter_sql(e)
    Kind::Set => self.set_sql(e)
    Kind::SetItem => self.setitem_sql(e)
    Kind::Show => self.show_sql(e)
    Kind::SimilarTo => self.similarto_sql(e)
    Kind::SkipJSONColumn => self.skipjsoncolumn_sql(e)
    Kind::Slice => self.slice_sql(e)
    Kind::Sort => self.sort_sql(e)
    Kind::Space => self.space_sql(e)
    Kind::Star => self.star_sql(e)
    Kind::StoredProcedure => self.storedprocedure_sql(e)
    Kind::String => self.string_sql(e)
    Kind::StrToDate => self.strtodate_sql(e)
    Kind::StrToTime => self.strtotime_sql(e)
    Kind::Struct => self.struct_sql(e)
    Kind::Sub => self.sub_sql(e)
    Kind::Subquery => self.subquery_sql(e)
    Kind::Summarize => self.summarize_sql(e)
    Kind::Table => self.table_sql_v(e)
    Kind::TableAlias => self.tablealias_sql(e)
    Kind::TableFromRows => self.tablefromrows_sql(e)
    Kind::TableSample => self.tablesample_sql_v(e)
    Kind::Tag => self.tag_sql(e)
    Kind::TimeseriesKey => self.timeserieskey_sql(e)
    Kind::ToArray => self.toarray_sql(e)
    Kind::ToChar => self.tochar_sql(e)
    Kind::ToDouble => self.todouble_sql(e)
    Kind::ToNumber => self.tonumber_sql(e)
    Kind::Transaction => self.transaction_sql(e)
    Kind::TranslateCharacters => self.translatecharacters_sql(e)
    Kind::TriggerEvent => self.triggerevent_sql(e)
    Kind::TriggerProperties => self.triggerproperties_sql(e)
    Kind::TriggerReferencing => self.triggerreferencing_sql(e)
    Kind::Trim => self.trim_sql(e)
    Kind::TruncateTable => self.truncatetable_sql(e)
    Kind::Try => self.try_sql(e)
    Kind::TryCast => self.trycast_sql(e)
    Kind::TsOrDsToDate => self.tsordstodate_sql(e)
    Kind::TsOrDsToDatetime => self.tsordstodatetime_sql(e)
    Kind::TsOrDsToTime => self.tsordstotime_sql(e)
    Kind::TsOrDsToTimestamp => self.tsordstotimestamp_sql(e)
    Kind::Tuple => self.tuple_sql(e)
    Kind::Uncache => self.uncache_sql(e)
    Kind::UnicodeString => self.unicodestring_sql(e)
    Kind::UniqueColumnConstraint => self.uniquecolumnconstraint_sql(e)
    Kind::UniqueKeyProperty => self.uniquekeyproperty_sql_v(e)
    Kind::UnixDate => self.unixdate_sql(e)
    Kind::UnixSeconds => self.unixseconds_sql(e)
    Kind::Unnest => self.unnest_sql(e)
    Kind::UnpivotColumns => self.unpivotcolumns_sql(e)
    Kind::Update => self.update_sql(e)
    Kind::Use => self.use_sql(e)
    Kind::UserDefinedFunction => self.userdefinedfunction_sql(e)
    Kind::UsingProperty => self.usingproperty_sql(e)
    Kind::Uuid => self.uuid_sql(e)
    Kind::UuidProperty => self.uuidproperty_sql(e)
    Kind::Values => self.values_sql_v(e)
    Kind::Var => self.var_sql(e)
    Kind::VectorSearch => self.vectorsearch_sql(e)
    Kind::Version => self.version_sql(e)
    Kind::WatermarkColumnConstraint => self.watermarkcolumnconstraint_sql(e)
    Kind::WeekStart => self.weekstart_sql(e)
    Kind::When => self.when_sql(e)
    Kind::Whens => self.whens_sql(e)
    Kind::Where => self.where_sql(e)
    Kind::WhileBlock => self.whileblock_sql(e)
    Kind::Window => self.window_sql(e)
    Kind::WindowSpec => self.windowspec_sql(e)
    Kind::With => self.with_sql(e)
    Kind::WithDataProperty => self.withdataproperty_sql(e)
    Kind::WithFill => self.withfill_sql(e)
    Kind::WithinGroup => self.withingroup_sql(e)
    Kind::WithSystemVersioningProperty =>
      self.withsystemversioningproperty_sql(e)
    Kind::WithTableHint => self.withtablehint_sql(e)
    Kind::XMLElement => self.xmlelement_sql(e)
    Kind::XMLKeyValueOption => self.xmlkeyvalueoption_sql(e)
    Kind::XMLNamespace => self.xmlnamespace_sql(e)
    Kind::XMLTable => self.xmltable_sql(e)
    Kind::Xor => self.xor_sql(e)
    _ => return None
  }
  Some(s)
}