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;
            }
        }
Пример #2
0
        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;
            }
        }