Module org.jooq
Package org.jooq

Interface QueryPart

All Superinterfaces:
Serializable
All Known Subinterfaces:
AggregateFilterStep<T>, AggregateFunction<T>, AlterDatabaseFinalStep, AlterDomainDropConstraintCascadeStep, AlterDomainFinalStep, AlterIndexFinalStep, AlterSchemaFinalStep, AlterSequenceFinalStep, AlterSequenceFlagsStep<T>, AlterSequenceStep<T>, AlterTableAddStep, AlterTableDropStep, AlterTableFinalStep, AlterTableUsingIndexStep, AlterTypeFinalStep, AlterViewFinalStep, ArrayAggOrderByStep<T>, Asterisk, AttachableQueryPart, Block, CallArgsStep, CaseConditionStep<T>, CaseWhenStep<V,​T>, Catalog, CharacterSet, Check<R>, Collation, Comment, CommentOnFinalStep, CommonTableExpression<R>, Condition, Constraint, ConstraintEnforcementStep, ConstraintFinalStep, ConstraintForeignKeyOnStep, ConstraintTypeStep, ContinueWhenStep, CreateDatabaseFinalStep, CreateDomainConstraintStep, CreateDomainDefaultStep<T>, CreateDomainFinalStep, CreateIndexFinalStep, CreateIndexIncludeStep, CreateIndexWhereStep, CreateSchemaFinalStep, CreateSequenceFinalStep, CreateSequenceFlagsStep, CreateTableColumnStep, CreateTableCommentStep, CreateTableConstraintStep, CreateTableFinalStep, CreateTableIndexStep, CreateTableOnCommitStep, CreateTableStorageStep, CreateTableWithDataStep, CreateTypeFinalStep, CreateViewFinalStep, DataType<T>, DDLQuery, Declaration<T>, Delete<R>, DeleteConditionStep<R>, DeleteFinalStep<R>, DeleteLimitStep<R>, DeleteOrderByStep<R>, DeleteQuery<R>, DeleteResultStep<R>, DeleteReturningStep<R>, DeleteUsingStep<R>, DeleteWhereStep<R>, DerivedColumnList, DerivedColumnList1, DerivedColumnList10, DerivedColumnList11, DerivedColumnList12, DerivedColumnList13, DerivedColumnList14, DerivedColumnList15, DerivedColumnList16, DerivedColumnList17, DerivedColumnList18, DerivedColumnList19, DerivedColumnList2, DerivedColumnList20, DerivedColumnList21, DerivedColumnList22, DerivedColumnList3, DerivedColumnList4, DerivedColumnList5, DerivedColumnList6, DerivedColumnList7, DerivedColumnList8, DerivedColumnList9, DMLQuery<R>, Domain<T>, DropDatabaseFinalStep, DropDomainCascadeStep, DropDomainFinalStep, DropIndexCascadeStep, DropIndexFinalStep, DropIndexOnStep, DropSchemaFinalStep, DropSchemaStep, DropSequenceFinalStep, DropTableFinalStep, DropTableStep, DropTypeFinalStep, DropTypeStep, DropViewFinalStep, ExitWhenStep, False, Field<T>, FieldOrConstraint, FieldOrRow, ForeignKey<R,​O>, GrantFinalStep, GrantWithGrantOptionStep, GroupConcatOrderByStep, GroupConcatSeparatorStep, GroupField, IfElseStep, Index, Insert<R>, InsertFinalStep<R>, InsertOnConflictConditionStep<R>, InsertOnConflictWhereStep<R>, InsertOnDuplicateSetMoreStep<R>, InsertOnDuplicateStep<R>, InsertQuery<R>, InsertResultStep<R>, InsertReturningStep<R>, InsertSetMoreStep<R>, InsertValuesStep1<R,​T1>, InsertValuesStep10<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10>, InsertValuesStep11<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11>, InsertValuesStep12<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12>, InsertValuesStep13<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13>, InsertValuesStep14<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13,​T14>, InsertValuesStep15<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13,​T14,​T15>, InsertValuesStep16<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13,​T14,​T15,​T16>, InsertValuesStep17<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13,​T14,​T15,​T16,​T17>, InsertValuesStep18<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13,​T14,​T15,​T16,​T17,​T18>, InsertValuesStep19<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13,​T14,​T15,​T16,​T17,​T18,​T19>, InsertValuesStep2<R,​T1,​T2>, InsertValuesStep20<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13,​T14,​T15,​T16,​T17,​T18,​T19,​T20>, InsertValuesStep21<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13,​T14,​T15,​T16,​T17,​T18,​T19,​T20,​T21>, InsertValuesStep22<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13,​T14,​T15,​T16,​T17,​T18,​T19,​T20,​T21,​T22>, InsertValuesStep3<R,​T1,​T2,​T3>, InsertValuesStep4<R,​T1,​T2,​T3,​T4>, InsertValuesStep5<R,​T1,​T2,​T3,​T4,​T5>, InsertValuesStep6<R,​T1,​T2,​T3,​T4,​T5,​T6>, InsertValuesStep7<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7>, InsertValuesStep8<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8>, InsertValuesStep9<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9>, InsertValuesStepN<R>, JSONArrayAggNullStep<T>, JSONArrayAggOrderByStep<J>, JSONArrayAggReturningStep<T>, JSONArrayNullStep<T>, JSONArrayReturningStep<T>, JSONEntry<T>, JSONExistsOnStep, JSONObjectAggNullStep<T>, JSONObjectAggReturningStep<T>, JSONObjectNullStep<T>, JSONObjectReturningStep<T>, JSONTableColumnPathStep, JSONTableColumnsStep, JSONValueOnStep<J>, JSONValueReturningStep<T>, Key<R>, Keyword, Label, LikeEscapeStep, Link, Merge<R>, MergeFinalStep<R>, MergeMatchedDeleteStep<R>, MergeMatchedSetMoreStep<R>, MergeMatchedStep<R>, MergeMatchedWhereStep<R>, MergeNotMatchedSetMoreStep<R>, MergeNotMatchedStep<R>, MergeNotMatchedWhereStep<R>, MergeOnConditionStep<R>, Name, Named, OrderField<T>, Package, Param<T>, Parameter<T>, ParamOrVariable<T>, Period<T>, PeriodSpecification, Privilege, QOM.Abs<T>, QOM.Acos, QOM.Add<T>, QOM.AlterDatabase, QOM.AlterDomain<T>, QOM.AlterIndex, QOM.AlterSchema, QOM.AlterSequence<T>, QOM.AlterType, QOM.AlterView, QOM.And, QOM.AnyValue<T>, QOM.Array<T>, QOM.ArrayAgg<T>, QOM.ArrayGet<T>, QOM.ArrayQuery<T>, QOM.Ascii, QOM.Asin, QOM.Assignment<T>, QOM.Atan, QOM.Atan2, QOM.Avg, QOM.Between<T>, QOM.BitAnd<T>, QOM.BitAndAgg<T>, QOM.BitCount, QOM.BitLength, QOM.BitNand<T>, QOM.BitNor<T>, QOM.BitNot<T>, QOM.BitOr<T>, QOM.BitOrAgg<T>, QOM.BitXNor<T>, QOM.BitXor<T>, QOM.BitXorAgg<T>, QOM.BoolAnd, QOM.BoolOr, QOM.Call, QOM.Cardinality, QOM.Cast<T>, QOM.Ceil<T>, QOM.CharLength, QOM.Check, QOM.Choose<T>, QOM.Chr, QOM.Coalesce<T>, QOM.Coerce<T>, QOM.Collated, QOM.Collect<T,​A>, QOM.CombinedCondition, QOM.CommentOn, QOM.CompareCondition<T>, QOM.Concat, QOM.ConditionAsField, QOM.ConnectByIsCycle, QOM.ConnectByIsLeaf, QOM.ConnectByRoot<T>, QOM.Contains<T>, QOM.ContainsIgnoreCase<T>, QOM.Continue, QOM.Convert<T>, QOM.Corr, QOM.Cos, QOM.Cosh, QOM.Cot, QOM.Coth, QOM.Count, QOM.CountTable, QOM.CovarPop, QOM.CovarSamp, QOM.CreateDatabase, QOM.CreateDomain<T>, QOM.CreateFunction, QOM.CreateIndex, QOM.CreateProcedure, QOM.CreateSchema, QOM.CreateSequence, QOM.CreateTrigger, QOM.CreateType, QOM.CreateView<R>, QOM.Cube, QOM.CumeDist, QOM.CurrentCatalog, QOM.CurrentDate<T>, QOM.CurrentSchema, QOM.CurrentTime<T>, QOM.CurrentTimestamp<T>, QOM.CurrentUser, QOM.DataChangeDeltaTable<R>, QOM.DateAdd<T>, QOM.Declaration<T>, QOM.Default<T>, QOM.Degrees, QOM.Deleting, QOM.DenseRank, QOM.DerivedTable<R>, QOM.Digits, QOM.Div<T>, QOM.DropDatabase, QOM.DropDomain, QOM.DropFunction, QOM.DropIndex, QOM.DropProcedure, QOM.DropSchema, QOM.DropSequence, QOM.DropTable, QOM.DropTrigger, QOM.DropType, QOM.DropView, QOM.Dual, QOM.EndsWith<T>, QOM.EndsWithIgnoreCase<T>, QOM.Eq<T>, QOM.Euler, QOM.Execute, QOM.Exists, QOM.Exit, QOM.Exp, QOM.Extract, QOM.FieldAlias<T>, QOM.FieldCondition, QOM.FieldFunction<T>, QOM.FirstValue<T>, QOM.Floor<T>, QOM.ForeignKey, QOM.Function<T>, QOM.Ge<T>, QOM.GenerateSeries<T>, QOM.Goto, QOM.Grant, QOM.Greatest<T>, QOM.GroupingSets, QOM.Gt<T>, QOM.If, QOM.Iif<T>, QOM.In<T>, QOM.Inline<T>, QOM.InList<T>, QOM.Inserting, QOM.IsDistinctFrom<T>, QOM.IsDocument, QOM.IsJson, QOM.IsNotDistinctFrom<T>, QOM.IsNotDocument, QOM.IsNotJson, QOM.IsNotNull, QOM.IsNull, QOM.JSONArray<T>, QOM.JSONArrayAgg<J>, QOM.JSONObject<T>, QOM.JSONObjectAgg<J>, QOM.Label, QOM.LabelledStatement, QOM.Lag<T>, QOM.LastValue<T>, QOM.Lateral<R>, QOM.Le<T>, QOM.Lead<T>, QOM.Least<T>, QOM.Left, QOM.Level, QOM.Like, QOM.LikeIgnoreCase, QOM.LinkedTable<R>, QOM.Log, QOM.Log10, QOM.Loop, QOM.Lower, QOM.Lpad, QOM.Lt<T>, QOM.Ltrim, QOM.Max<T>, QOM.MCollection<Q>, QOM.Md5, QOM.Median, QOM.Min<T>, QOM.MList<Q>, QOM.Mod<T>, QOM.Mode<T>, QOM.Mul<T>, QOM.Multiset<R>, QOM.MultisetAgg<R>, QOM.Ne<T>, QOM.Neg<T>, QOM.Not, QOM.NotField, QOM.NotIn<T>, QOM.NotInList<T>, QOM.NotLike, QOM.NotLikeIgnoreCase, QOM.NotSimilarTo, QOM.NthValue<T>, QOM.Ntile, QOM.Nullif<T>, QOM.NullStatement, QOM.Nvl<T>, QOM.Nvl2<T>, QOM.OctetLength, QOM.Or, QOM.Overlay, QOM.PercentRank, QOM.Pi, QOM.PlusJoin<T>, QOM.Position, QOM.Power, QOM.PrimaryKey, QOM.Prior<T>, QOM.Product, QOM.QualifiedRowid, QOM.Radians, QOM.Rand, QOM.Rank, QOM.RatioToReport, QOM.RegexpLike, QOM.RegrAvgX, QOM.RegrAvgY, QOM.RegrCount, QOM.RegrIntercept, QOM.RegrR2, QOM.RegrSlope, QOM.RegrSxx, QOM.RegrSxy, QOM.RegrSyy, QOM.Repeat, QOM.Replace, QOM.Return, QOM.Reverse, QOM.Revoke, QOM.Right, QOM.Rollup, QOM.Round<T>, QOM.RowAssignment, QOM.RowField<R>, QOM.RowIsNotNull, QOM.RowIsNull, QOM.Rownum, QOM.RowNumber, QOM.RowOverlaps, QOM.RowsFrom, QOM.Rpad, QOM.Rtrim, QOM.ScalarSubquery<T>, QOM.SelectIsNotNull, QOM.SelectIsNull, QOM.SetCatalog, QOM.SetCommand, QOM.SetSchema, QOM.Shl<T>, QOM.Shr<T>, QOM.Sign, QOM.Signal, QOM.SimilarTo, QOM.Sin, QOM.Sinh, QOM.Space, QOM.SplitPart, QOM.Sqrt, QOM.Square<T>, QOM.StArea, QOM.StartsWith<T>, QOM.StartsWithIgnoreCase<T>, QOM.StAsText, QOM.StCentroid, QOM.StContains<T>, QOM.StCrosses, QOM.StddevPop, QOM.StddevSamp, QOM.StDifference<T>, QOM.StDisjoint<T>, QOM.StDistance<T>, QOM.StEndPoint<T>, QOM.StEquals<T>, QOM.StExteriorRing, QOM.StGeometryN<T>, QOM.StGeometryType, QOM.StGeomFromText, QOM.StInteriorRingN, QOM.StIntersection<T>, QOM.StIntersects<T>, QOM.StIsClosed, QOM.StIsEmpty, QOM.StLength, QOM.StNumGeometries, QOM.StNumInteriorRings, QOM.StNumPoints, QOM.StOverlaps<T>, QOM.StPointN<T>, QOM.StSrid, QOM.StStartPoint<T>, QOM.StTouches<T>, QOM.StUnion<T>, QOM.StWithin<T>, QOM.StX, QOM.StY, QOM.StZ, QOM.Sub<T>, QOM.Substring, QOM.SubstringIndex, QOM.Sum, QOM.SysConnectByPath, QOM.TableAlias<R>, QOM.TableEq<R>, QOM.TableNe<R>, QOM.Tan, QOM.Tanh, QOM.Tau, QOM.TimestampDiff<T>, QOM.ToChar, QOM.ToDate, QOM.ToHex, QOM.ToTimestamp, QOM.Translate, QOM.Trim, QOM.Trunc<T>, QOM.Truncate<R>, org.jooq.impl.QOM.UEmpty, QOM.Unique, QOM.UniqueKey, org.jooq.impl.QOM.UOperator1<Q1,​R>, org.jooq.impl.QOM.UOperator2<Q1,​Q2,​R>, org.jooq.impl.QOM.UOperator3<Q1,​Q2,​Q3,​R>, QOM.Updating, QOM.Upper, QOM.Uuid, QOM.Val<T>, QOM.Values<R>, QOM.VarPop, QOM.VarSamp, QOM.WidthBucket<T>, QOM.WindowFunction<T>, QOM.With, QOM.XMLAgg, QOM.XMLComment, QOM.XMLConcat, QOM.XMLDocument, QOM.XMLElement, QOM.XMLExists, QOM.XMLForest, QOM.XMLParse, QOM.XMLPi, QOM.XMLQuery, QOM.XMLSerialize<T>, Qualified, QualifiedAsterisk, QuantifiedSelect<R>, Queries, Query, QueryPartInternal, RecordQualifier<R>, ResultQuery<R>, RevokeFinalStep, Role, Routine<T>, Row, Row1<T1>, Row10<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10>, Row11<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11>, Row12<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12>, Row13<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13>, Row14<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13,​T14>, Row15<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13,​T14,​T15>, Row16<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13,​T14,​T15,​T16>, Row17<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13,​T14,​T15,​T16,​T17>, Row18<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13,​T14,​T15,​T16,​T17,​T18>, Row19<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13,​T14,​T15,​T16,​T17,​T18,​T19>, Row2<T1,​T2>, Row20<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13,​T14,​T15,​T16,​T17,​T18,​T19,​T20>, Row21<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13,​T14,​T15,​T16,​T17,​T18,​T19,​T20,​T21>, Row22<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13,​T14,​T15,​T16,​T17,​T18,​T19,​T20,​T21,​T22>, Row3<T1,​T2,​T3>, Row4<T1,​T2,​T3,​T4>, Row5<T1,​T2,​T3,​T4,​T5>, Row6<T1,​T2,​T3,​T4,​T5,​T6>, Row7<T1,​T2,​T3,​T4,​T5,​T6,​T7>, Row8<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8>, Row9<T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9>, RowCountQuery, RowN, Schema, Select<R>, SelectConditionStep<R>, SelectConnectByAfterStartWithConditionStep<R>, SelectConnectByConditionStep<R>, SelectConnectByStep<R>, SelectCorrelatedSubqueryStep<R>, SelectDistinctOnStep<R>, SelectField<T>, SelectFieldOrAsterisk, SelectFinalStep<R>, SelectForJSONCommonDirectivesStep<R>, SelectForStep<R>, SelectForUpdateOfStep<R>, SelectForUpdateStep<R>, SelectForUpdateWaitStep<R>, SelectForXMLCommonDirectivesStep<R>, SelectForXMLPathDirectivesStep<R>, SelectForXMLRawDirectivesStep<R>, SelectFromStep<R>, SelectGroupByStep<R>, SelectHavingConditionStep<R>, SelectHavingStep<R>, SelectIntoStep<R>, SelectJoinStep<R>, SelectLimitAfterOffsetStep<R>, SelectLimitPercentAfterOffsetStep<R>, SelectLimitPercentStep<R>, SelectLimitStep<R>, SelectOffsetStep<R>, SelectOnConditionStep<R>, SelectOptionalOnStep<R>, SelectOptionStep<R>, SelectOrderByStep<R>, SelectQualifyConditionStep<R>, SelectQualifyStep<R>, SelectQuery<R>, SelectSeekLimitStep<R>, SelectSeekStep1<R,​T1>, SelectSeekStep10<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10>, SelectSeekStep11<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11>, SelectSeekStep12<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12>, SelectSeekStep13<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13>, SelectSeekStep14<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13,​T14>, SelectSeekStep15<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13,​T14,​T15>, SelectSeekStep16<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13,​T14,​T15,​T16>, SelectSeekStep17<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13,​T14,​T15,​T16,​T17>, SelectSeekStep18<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13,​T14,​T15,​T16,​T17,​T18>, SelectSeekStep19<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13,​T14,​T15,​T16,​T17,​T18,​T19>, SelectSeekStep2<R,​T1,​T2>, SelectSeekStep20<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13,​T14,​T15,​T16,​T17,​T18,​T19,​T20>, SelectSeekStep21<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13,​T14,​T15,​T16,​T17,​T18,​T19,​T20,​T21>, SelectSeekStep22<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9,​T10,​T11,​T12,​T13,​T14,​T15,​T16,​T17,​T18,​T19,​T20,​T21,​T22>, SelectSeekStep3<R,​T1,​T2,​T3>, SelectSeekStep4<R,​T1,​T2,​T3,​T4>, SelectSeekStep5<R,​T1,​T2,​T3,​T4,​T5>, SelectSeekStep6<R,​T1,​T2,​T3,​T4,​T5,​T6>, SelectSeekStep7<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7>, SelectSeekStep8<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8>, SelectSeekStep9<R,​T1,​T2,​T3,​T4,​T5,​T6,​T7,​T8,​T9>, SelectSeekStepN<R>, SelectSelectStep<R>, SelectStartWithStep<R>, SelectUnionStep<R>, SelectWhereStep<R>, SelectWindowStep<R>, SelectWithTiesAfterOffsetStep<R>, SelectWithTiesStep<R>, Sequence<T>, SignalSetStep, SortField<T>, SQL, Statement, StoreQuery<R>, Table<R>, TableField<R,​T>, TableLike<R>, TableOnConditionStep<R>, TableOptionalOnStep<R>, True, Truncate<R>, TruncateCascadeStep<R>, TruncateFinalStep<R>, TruncateIdentityStep<R>, Typed<T>, UDT<R>, UDTField<R,​T>, UniqueKey<R>, Update<R>, UpdateConditionStep<R>, UpdateFinalStep<R>, UpdateFromStep<R>, UpdateLimitStep<R>, UpdateOrderByStep<R>, UpdateQuery<R>, UpdateResultStep<R>, UpdateReturningStep<R>, UpdateSetMoreStep<R>, UpdateWhereStep<R>, User, Variable<T>, WindowBeforeOverStep<T>, WindowDefinition, WindowExcludeStep<T>, WindowFinalStep<T>, WindowOrderByStep<T>, WindowPartitionByStep<T>, WindowRowsStep<T>, WindowSpecification, WindowSpecificationExcludeStep, WindowSpecificationFinalStep, WindowSpecificationOrderByStep, WindowSpecificationPartitionByStep, WindowSpecificationRowsStep, WithStep, XMLAggOrderByStep<T>, XMLAttributes, XMLTableColumnPathStep, XMLTableColumnsStep
All Known Implementing Classes:
AbstractRoutine, CatalogImpl, CustomCondition, CustomField, CustomQueryPart, CustomStatement, CustomTable, DefaultDataType, LazyCatalog, LazySchema, PackageImpl, SchemaImpl, SequenceImpl, TableImpl, UDTImpl

public interface QueryPart extends Serializable
The common base type for all objects that can be used for query composition.
Author:
Lukas Eder
  • Method Details

    • toString

      String toString()
      Render a SQL string representation of this QueryPart.

      For improved debugging, this renders a SQL string of this QueryPart with inlined bind variables. If this QueryPart is Attachable, then the attached Configuration may be used for rendering the SQL string, including SQLDialect and Settings. Do note that most QueryPart instances are not attached to a Configuration, and thus there is no guarantee that the SQL string will make sense in the context of a specific database.

      Overrides:
      toString in class Object
      Returns:
      A SQL string representation of this QueryPart
    • equals

      boolean equals(Object object)
      Check whether this QueryPart can be considered equal to another QueryPart.

      In general, QueryPart equality is defined in terms of toString() equality. In other words, two query parts are considered equal if their rendered SQL (with inlined bind variables) is equal. This means that the two query parts do not necessarily have to be of the same type.

      Some QueryPart implementations may choose to override this behaviour for improved performance, as toString() is an expensive operation, if called many times.

      Overrides:
      equals in class Object
      Parameters:
      object - The other QueryPart
      Returns:
      Whether the two query parts are equal
    • hashCode

      int hashCode()
      Generate a hash code from this QueryPart.

      In general, QueryPart hash codes are the same as the hash codes generated from toString(). This guarantees consistent behaviour with equals(Object)

      Some QueryPart implementations may choose to override this behaviour for improved performance, as toString() is an expensive operation, if called many times.

      Overrides:
      hashCode in class Object
      Returns:
      The QueryPart hash code
    • $traverse

      <R> R $traverse(Traverser<?,​R> traverser)
      Traverser this QueryPart expression tree using a composable Traverser, producing a result.

      This offers a generic way to traverse expression trees to translate the tree to arbitrary other data structures. The simplest traversal would just count all the tree elements:

       int count = CUSTOMER.NAME.eq(1).$traverse(0, (i, p) -> i + 1);
       

      The same can be achieved by translating the JDK Collector API to the Traverser API using Traversers.collecting(Collector).

       CUSTOMER.NAME.eq(1).$traverse(Traversers.collecting(Collectors.counting()));
       

      Unlike a Collector, a Traverser is optimised for tree traversal, not stream traversal:

      • Is not designed for parallelism
      • It can Traverser.abort() traversal early when the result can be produced early (e.g. when running Traversers.containing(QueryPart), and a result has been found).
      • It can decide whether to Traverser.recurse() into a QueryPart subtree, or whether that is not necessary or even undesirable, e.g. to prevent entering new subquery scopes.
      • Unlike a Collector, which can use its Collector.accumulator() to accumulate each element only once, in tree traversal, it's desirable to be able to distinguish between accumulating an item Traverser.before() or Traverser.after() recursing into it. This is useful e.g. to wrap each tree node in XML opening and closing tags.
    • $traverse

      default <R> R $traverse(R init, BiFunction<? super R,​? super QueryPart,​? extends R> before, BiFunction<? super R,​? super QueryPart,​? extends R> after)
      Convenience method for $traverse(Traverser).
    • $traverse

      default <R> R $traverse(R init, BiFunction<? super R,​? super QueryPart,​? extends R> before)
      Convenience method for $traverse(Traverser).
    • $traverse

      default <R> R $traverse(R init, Predicate<? super R> abort, Predicate<? super QueryPart> recurse, BiFunction<? super R,​? super QueryPart,​? extends R> before, BiFunction<? super R,​? super QueryPart,​? extends R> after)
      Convenience method for $traverse(Traverser).
    • $traverse

      default <R> R $traverse(R init, Predicate<? super R> abort, Predicate<? super QueryPart> recurse, BiFunction<? super R,​? super QueryPart,​? extends R> before)
      Convenience method for $traverse(Traverser).
    • $replace

      @NotNull @NotNull QueryPart $replace(Predicate<? super QueryPart> recurse, Function1<? super QueryPart,​? extends QueryPart> replacement)
      Traverse a QueryPart hierarchy and recursively replace its elements by alternatives.
      Parameters:
      recurse - A predicate to decide whether to recurse into a QueryPart subtree.
      replacement - The replacement function. Replacement continues recursively until the function returns null or its input for any given input.
    • $replace

      @NotNull default @NotNull QueryPart $replace(Function1<? super QueryPart,​? extends QueryPart> replacement)
      Convenience method for $replace(Predicate, Function1).