protected override QsiTableColumn ResolveDeclaredColumn(TableCompileContext context, IQsiDeclaredColumnNode column) { try { return(base.ResolveDeclaredColumn(context, column)); } catch (QsiException e) when(e.Error == QsiError.UnknownColumn || e.Error == QsiError.UnknownColumnIn) { if (OraclePseudoColumn.Contains(column.Name[0].Value)) { _pseudoTable ??= CreatePseudoTable(); return(_pseudoTable.Columns[0]); } throw; } }
protected override QsiTableColumn ResolveColumnReference(TableCompileContext context, IQsiColumnReferenceNode column) { try { return(base.ResolveColumnReference(context, column)); } catch (QsiException e) when(e.Error == QsiError.UnknownColumn || e.Error == QsiError.UnknownColumnIn) { if (OraclePseudoColumn.Contains(column.Name[0].Value, out var index)) { _pseudoTable ??= CreatePseudoTable(); return(_pseudoTable.Columns[index]); } throw; } }