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.Md5, QOM.Median, QOM.Min<T>, 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.StAsBinary, 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.StGeomFromWKB, 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, QOM.UnmodifiableCollection<Q>, QOM.UnmodifiableList<Q>, 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, BuiltInDataType, 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

      @Experimental @Pro <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.

      This is a commercial jOOQ edition only feature.

    • $traverse

      @Experimental @Pro default <R> R $traverse(Supplier<R> supplier, BiFunction<? super R,? super QueryPart,? extends R> before)
      Traverser this QueryPart expression tree using a composable

      This is a commercial jOOQ edition only feature.

    • $replace

      @Experimental @NotNull @Pro @NotNull QueryPart $replace(Replacer replacer)
      Traverse a QueryPart hierarchy and recursively replace its elements by alternatives.

      This is a commercial jOOQ edition only feature.

    • $replace

      @Experimental @NotNull @Pro default @NotNull QueryPart $replace(Function<? super QueryPart,? extends QueryPart> replacer)
      Traverse a QueryPart hierarchy and recursively replace its elements by alternatives.

      See Replacer.replacer() for the contract that must be obeyed by the argument function.

      This is a commercial jOOQ edition only feature.