Exemplo n.º 1
0
 public TableFunctionModel(
     SqlObjectName name,
     MethodModel method,
     TableFunctionMetadata metadata,
     string methodInfoFieldName)
     : base(name, method)
 {
     Metadata            = metadata;
     MethodInfoFieldName = methodInfoFieldName;
 }
Exemplo n.º 2
0
        /// <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;
        }
Exemplo n.º 3
0
        /// <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;
 }