PostgresCodeGenerator

Classes > Nimblesite.DataProvider.Postgres > PostgresCodeGenerator

Postgres entry point to the shared ANTLR-based code generator.

[ExcludeFromCodeCoverage]
public static class PostgresCodeGenerator

Methods

GenerateCodeWithMetadata(string, string, SelectStatement, IReadOnlyList<DatabaseColumn>, GroupingConfig?, CodeGenerationConfig?)

public static Result<string, SqlError> GenerateCodeWithMetadata(string fileName, string sql, SelectStatement statement, IReadOnlyList<DatabaseColumn> columnMetadata, GroupingConfig? groupingConfig = null, CodeGenerationConfig? config = null)

Generates C# source for a SQL file using real database metadata.

Parameters:

Name Type Description
fileName String The SQL file base name.
sql String The SQL content.
statement SelectStatement The parsed statement metadata.
columnMetadata DatabaseColumn> Real column metadata from the database.
groupingConfig GroupingConfig Optional grouping configuration.
config CodeGenerationConfig Optional custom code generation configuration.

Returns: SqlError> - Result with generated source or an error.

GetColumnMetadataFromSqlAsync(string, string, IEnumerable<ParameterInfo>)

public static Task<Result<IReadOnlyList<DatabaseColumn>, SqlError>> GetColumnMetadataFromSqlAsync(string connectionString, string sql, IEnumerable<ParameterInfo> parameters)

Gets column metadata by executing the SQL query against the database.

Parameters:

Name Type Description
connectionString String Postgres connection string.
sql String SQL query to execute.
parameters ParameterInfo> Query parameters.

Returns: SqlError>> - Column metadata on success; `` on failure.