MCPcopy
hub / github.com/jOOQ/jOOQ / accept0

Method accept0

jOOQ/src/main/java/org/jooq/impl/SelectQueryImpl.java:1806–2181  ·  view source on GitHub ↗
(Context<?> context)

Source from the content-addressed store, hash-verified

1804
1805
1806 @SuppressWarnings({ "unchecked", "rawtypes" })
1807 final void accept0(Context<?> context) {
1808
1809
1810
1811
1812
1813
1814
1815 boolean topLevelCte = false;
1816
1817 // Subquery scopes are started in AbstractContext
1818 if (context.subqueryLevel() == 0) {
1819 context.scopeStart(this);
1820
1821 if (topLevelCte |= (context.data(DATA_TOP_LEVEL_CTE) == null))
1822 context.data(DATA_TOP_LEVEL_CTE, new TopLevelCte());
1823 }
1824
1825 SQLDialect dialect = context.dialect();
1826
1827 switch (getRenderTable(context.settings())) {
1828 case NEVER: {
1829 context.data(DATA_RENDER_TABLE, false);
1830 break;
1831 }
1832
1833 case WHEN_MULTIPLE_TABLES: {
1834 if (knownTableSource()) {
1835 Iterator<Table<?>> it = concat(
1836 joinedTables(getFrom()),
1837 context.scopeParts((Class<Table<?>>) (Class) Table.class)
1838 ).iterator();
1839
1840 // [#15996] At least 2 tables are in scope
1841 if (!it.hasNext() || it.next() != null && !it.hasNext())
1842 context.data(DATA_RENDER_TABLE, false);
1843 }
1844
1845 break;
1846 }
1847
1848 case WHEN_AMBIGUOUS_COLUMNS: {
1849 if (knownTableSource() && !hasAmbiguousNamesInTables(concat(
1850 joinedTables(getFrom()),
1851 context.scopeParts((Class<Table<?>>) (Class) Table.class)
1852 )))
1853 context.data(DATA_RENDER_TABLE, false);
1854
1855 break;
1856 }
1857 }
1858
1859 // [#2791] [#9981] TODO: We have an automatic way of pushing / popping
1860 // these values onto the scope stack. Use that, instead
1861 Object renderTrailingLimit = context.data(DATA_RENDER_TRAILING_LIMIT_IF_APPLICABLE);
1862 Object transformRownumToLimit = context.data(DATA_TRANSFORM_ROWNUM_TO_LIMIT);
1863 Name[] selectAliases = (Name[]) context.data(DATA_SELECT_ALIASES);

Callers 1

acceptMethod · 0.95

Calls 15

knownTableSourceMethod · 0.95
getFromMethod · 0.95
getSelectMethod · 0.95
pushWindowMethod · 0.95
getLimitMethod · 0.95
isBlankMethod · 0.95
joinedTablesMethod · 0.80
isApplicableMethod · 0.80

Tested by

no test coverage detected