public TableFunctionModel( SqlObjectName name, MethodModel method, TableFunctionMetadata metadata, string methodInfoFieldName) : base(name, method) { Metadata = metadata; MethodInfoFieldName = methodInfoFieldName; }
/// <summary> /// Initializes a new instance of the <see cref="PostgreSqlTableFunction" /> class. /// </summary> /// <param name="dataSource">The data source.</param> /// <param name="tableFunctionName">Name of the table function.</param> /// <param name="functionArgumentValue">The function argument.</param> public PostgreSqlTableFunction(PostgreSqlDataSourceBase dataSource, PostgreSqlObjectName tableFunctionName, object functionArgumentValue) : base(dataSource) { if (dataSource == null) { throw new ArgumentNullException("dataSource", "dataSource is null."); } m_Table = dataSource.DatabaseMetadata.GetTableFunction(tableFunctionName); m_FunctionArgumentValue = functionArgumentValue; }
/// <summary> /// Generates table function model from schema data. /// </summary> /// <param name="dataContext">Data context model.</param> /// <param name="func">Function schema.</param> /// <param name="defaultSchemas">List of default database schema names.</param> private void BuildTableFunction(DataContextModel dataContext, TableFunction func, ISet <string> defaultSchemas) { var(name, isNonDefaultSchema) = ProcessObjectName(func.Name, defaultSchemas); var method = new MethodModel( _namingServices.NormalizeIdentifier(_options.DataModel.ProcedureNameOptions, (func.Name.Package != null ? $"{func.Name.Package}_" : null) + name.Name)) { Modifiers = Modifiers.Public, Summary = func.Description }; var metadata = new TableFunctionMetadata() { Name = name }; var funcModel = new TableFunctionModel( name, method, metadata, _namingServices.NormalizeIdentifier(_options.DataModel.TableFunctionMethodInfoFieldNameOptions, func.Name.Name)) { Error = func.SchemaError?.Message }; BuildParameters(func.Parameters, funcModel.Parameters); if (func.Result != null) { funcModel.Result = PrepareResultSetModel(func.Name, func.Result); } _interceptors.PreprocessTableFunction(_languageProvider.TypeParser, funcModel); if (isNonDefaultSchema && _options.DataModel.GenerateSchemaAsType) { GetOrAddAdditionalSchema(dataContext, func.Name.Schema !).TableFunctions.Add(funcModel); } else { dataContext.TableFunctions.Add(funcModel); } }
/// <summary> /// Initializes a new instance of the <see cref="OleDbSqlServerTableFunction" /> class. /// </summary> /// <param name="dataSource">The data source.</param> /// <param name="tableFunctionName">Name of the table function.</param> /// <param name="functionArgumentValue">The function argument.</param> public OleDbSqlServerTableFunction(OleDbSqlServerDataSourceBase dataSource, SqlServerObjectName tableFunctionName, object functionArgumentValue) : base(dataSource) { m_Table = dataSource.DatabaseMetadata.GetTableFunction(tableFunctionName); m_FunctionArgumentValue = functionArgumentValue; }