primaryKeyStream
Schema- Specified by:
primaryKeyStreamin interfaceSchema
Serializable, Named, QueryPart, QueryPartInternal, SchemaSchema singleton, for
use in generated code.final Name$name()QOM.final QueryPartQueryPart hierarchy and recursively replace its
elements by alternatives.final <R> Rfinal voidClause[]protected final DSLContextcreate()Attachable.configuration()
and Configuration.dsl() instead.protected final DSLContextcreate(Configuration configuration) Attachable.configuration()
and Configuration.dsl() instead.protected final DSLContextAttachable.configuration()
and Configuration.dsl() instead.booleanbooleanbooleanbooleanbooleanbooleanQueryPart can be considered equal to
another QueryPart.final Stream<ForeignKey<?,?>> booleanfinal Catalogfinal Stringfinal CommentQueryPart.final Domain<?> null if no such domain exists.final Domain<?> null if no such domain exists.final List<ForeignKey<?,?>> final List<ForeignKey<?,?>> getForeignKeys(String name) final List<ForeignKey<?,?>> getForeignKeys(Name name) getIndexes(String name) getIndexes(Name name) final StringgetName()getPrimaryKeys(String name) getPrimaryKeys(Name name) final Sequence<?> getSequence(String name) null if no such sequence exists.final Sequence<?> getSequence(Name name) null if no such sequence exists.final SynonymgetSynonym(String name) null if no such synonym exists.final SynonymgetSynonym(Name name) null if no such synonym exists.final Table<?> null if no such table exists.final Table<?> null if no such table exists.final TriggergetTrigger(String name) null if no such trigger exists.final TriggergetTrigger(Name name) null if no such trigger exists.final UDT<?> null if no such UDT exists.final UDT<?> null if no such UDT exists.getUDTs()getUniqueKeys(String name) getUniqueKeys(Name name) final NameinthashCode()QueryPart.booleanrendersContent(Context<?> ctx) toString()QueryPart.protected final DataAccessExceptiontranslate(String sql,
SQLException e) clone, finalize, getClass, notify, notifyAll, wait, wait, wait$name, getComment, getCommentPart, getName, getQualifiedName, getUnqualifiedNameQueryPartInternalQueryPart can accept a Context object
in order to render a SQL string or to bind its variables.accept in interface QueryPartInternalSchemagetCatalog in interface SchemaSchemaSchemanull if no such table exists.Schemanull if no such table exists.SchemagetPrimaryKeys in interface SchemaSchemagetPrimaryKeys in interface SchemaSchemagetPrimaryKeys in interface SchemaSchemagetUniqueKeys in interface SchemaSchemagetUniqueKeys in interface SchemaSchemagetUniqueKeys in interface SchemaSchemagetForeignKeys in interface SchemaSchemagetForeignKeys in interface SchemaSchemagetForeignKeys in interface SchemaSchemagetIndexes in interface SchemaSchemagetIndexes in interface SchemaSchemagetIndexes in interface SchemaSchemaSchemanull if no such UDT exists.Schemanull if no such UDT exists.SchemagetDomains in interface SchemaSchemanull if no such domain exists.Schemanull if no such domain exists.SchemagetTriggers in interface SchemaSchemanull if no such trigger exists.getTrigger in interface SchemaSchemanull if no such trigger exists.getTrigger in interface SchemaSchemagetSynonyms in interface SchemaSchemanull if no such synonym exists.getSynonym in interface SchemaSchemanull if no such synonym exists.getSynonym in interface SchemaSchemagetSequences in interface SchemaSchemanull if no such sequence exists.getSequence in interface SchemaSchemanull if no such sequence exists.getSequence in interface SchemaSchematableStream in interface SchemaSchemaprimaryKeyStream in interface SchemaSchemauniqueKeyStream in interface SchemaSchemaforeignKeyStream in interface SchemaSchemaindexStream in interface SchemaSchemaSchemadomainStream in interface SchemaSchematriggerStream in interface SchemaSchemasynonymStream in interface SchemaSchemasequenceStream in interface SchemaQueryPartQueryPart 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:
Traverser.abort() traversal early when the result can
be produced early (e.g. when running
Traversers.containing(QueryPart), and a result has been
found).Traverser.recurse() into a
QueryPart subtree, or whether that is not necessary or even
undesirable, e.g. to prevent entering new subquery scopes.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.
QueryPartNamedNamedgetQualifiedName in interface NamedNamedgetUnqualifiedName in interface NamedNamed
This is the same as calling Named.getCommentPart() and then
Comment.getComment().
getComment in interface NamedNamedQueryPart.getCommentPart in interface NamedQueryPartQueryPart.
In general, QueryPart hash codes are the same as the hash
codes generated from QueryPart.toString(). This guarantees consistent
behaviour with QueryPart.equals(Object)
Some QueryPart implementations may choose to override this
behaviour for improved performance, as QueryPart.toString() is an
expensive operation, if called many times.
QueryPartQueryPart can be considered equal to
another QueryPart.
In general, QueryPart equality is defined in terms of
QueryPart.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 QueryPart.toString() is an
expensive operation, if called many times.
NamedQOM.
Subject to change in future jOOQ versions, use at your own risk.QueryPartInternalClauses that are represented by this query part.
QueryParts can specify several Clauses for which an
event will be emitted before (in forward
order) and after (in reverse order) visiting
the the query part through Context.visit(QueryPart)
This method is for JOOQ INTERNAL USE only. Do not reference directly
clauses in interface QueryPartInternalClauses represented by this query part or
null or an empty array if this query part does not
represent a clause.rendersContent in interface QueryPartInternaldeclaresFields in interface QueryPartInternaldeclaresTables in interface QueryPartInternaldeclaresWindows in interface QueryPartInternaldeclaresCTE in interface QueryPartInternaldeclaresParameters in interface QueryPartInternalgeneratesCast in interface QueryPartInternalQueryPartQueryPart.
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.
Attachable.configuration()
and Configuration.dsl() instead.Attachable.configuration()
and Configuration.dsl() instead.Attachable.configuration()
and Configuration.dsl() instead.