All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.army.criteria.impl.PostgreQueries Maven / Gradle / Ivy

There is a newer version: 0.6.6
Show newest version
package io.army.criteria.impl;

import io.army.criteria.*;
import io.army.criteria.dialect.Hint;
import io.army.criteria.dialect.Window;
import io.army.criteria.impl.inner.*;
import io.army.criteria.impl.inner.postgre._PostgreCte;
import io.army.criteria.impl.inner.postgre._PostgreQuery;
import io.army.criteria.postgre.*;
import io.army.dialect.Dialect;
import io.army.dialect._Constant;
import io.army.dialect.postgre.PostgreDialect;

import javax.annotation.Nullable;

import io.army.mapping.MappingType;
import io.army.meta.TableMeta;
import io.army.util.ArrayUtils;
import io.army.util._Collections;
import io.army.util._Exceptions;

import java.util.ArrayList;
import java.util.List;
import java.util.function.BiFunction;
import java.util.function.Consumer;
import java.util.function.Function;
import java.util.function.Supplier;

abstract class PostgreQueries extends SimpleQueries.WithCteDistinctOnSimpleQueries<
        I,
        PostgreCtes,
        PostgreQuery._SelectSpec,
        Postgres.Modifier,
        PostgreQuery._PostgreSelectCommaSpec,
        PostgreQuery._FromSpec,
        PostgreQuery._TableSampleJoinSpec,
        Statement._AsClause>,
        PostgreQuery._JoinSpec,
        PostgreStatement._FuncColumnDefinitionAsClause>,
        PostgreQuery._TableSampleOnSpec,
        Statement._AsParensOnClause>,
        Statement._OnClause>,
        PostgreStatement._FuncColumnDefinitionAsClause>>,
        PostgreQuery._GroupBySpec,
        PostgreQuery._WhereAndSpec,
        PostgreQuery._GroupByCommaSpec,
        PostgreQuery._HavingSpec,
        PostgreQuery._HavingAndSpec,
        PostgreQuery._WindowSpec,
        PostgreQuery._OrderByCommaSpec,
        PostgreQuery._LimitSpec,
        PostgreQuery._OffsetSpec,
        PostgreQuery._FetchSpec,
        PostgreQuery._LockSpec,
        PostgreQuery._QueryWithComplexSpec>
        implements PostgreQuery,
        _PostgreQuery,
        PostgreQuery._WithSpec,
        PostgreQuery._PostgreSelectCommaSpec,
        PostgreQuery._TableSampleJoinSpec,
        PostgreQuery._RepeatableJoinClause,
        PostgreQuery._ParensJoinSpec,
        PostgreQuery._WhereAndSpec,
        PostgreQuery._HavingSpec,
        PostgreQuery._HavingAndSpec,
        PostgreQuery._WindowCommaSpec,
        PostgreQuery._GroupByCommaSpec,
        PostgreQuery._OrderByCommaSpec,
        PostgreQuery._FetchSpec {


    static PostgreQuery._WithSpec