private string CreateProcedureCommandScriptText(Func <Tuple <NpgsqlCommand, string> > buildCommand, string procName) { var alreadyOpened = _connection.State == ConnectionState.Open; try { if (!alreadyOpened) { _connection.Open(); } var str1 = $"Command {procName} for table {_tableName.QuotedString}"; var cmd = buildCommand(); var str = CreateProcedureCommandText(cmd.Item1, cmd.Item2, procName); return(PostgreSqlBuilder.WrapScriptTextWithComments(str, str1)); } catch (Exception ex) { Debug.WriteLine($"Error during CreateProcedureCommand : {ex}"); throw; } finally { if (!alreadyOpened && _connection.State != ConnectionState.Closed) { _connection.Close(); } } }
public PostgreSqlObjectNames(DmTable tableDescription) { TableDescription = tableDescription; (_tableName, _) = PostgreSqlBuilder.GetParsers(TableDescription); SetDefaultNames(); }
public string CreatePopulateFromBaseTableScriptText() { var str = string.Concat("Populate tracking table ", _trackingName.QuotedString, " for existing data in table ", _tableName.QuotedString); return(PostgreSqlBuilder.WrapScriptTextWithComments(CreatePopulateFromBaseTableCommandText(), str)); }
public string DropTableScriptText() { var commandText = $"drop table if exists {_tableName.QuotedString}"; var str1 = $"Drop table {_tableName.QuotedString}"; return(PostgreSqlBuilder.WrapScriptTextWithComments(commandText, str1)); }
public PostgreSqlBuilderTable(DmTable tableDescription, DbConnection connection, DbTransaction transaction = null) { _connection = connection as NpgsqlConnection; _transaction = transaction as NpgsqlTransaction; _tableDescription = tableDescription; (_tableName, _) = PostgreSqlBuilder.GetParsers(_tableDescription); _mySqlDbMetadata = new PostgreSqlDbMetadata(); }
public string ScriptAddFilterColumn(DmColumn filterColumn) { var quotedColumnName = new ObjectNameParser(filterColumn.ColumnName, "\"", "\""); var str = string.Concat("Add new filter column, ", quotedColumnName.UnquotedString, ", to Tracking Table ", _trackingName.QuotedString); return(PostgreSqlBuilder.WrapScriptTextWithComments(AddFilterColumnCommandText(filterColumn), str)); }
private string DropTriggerText(DbCommandType triggerType) { var commandName = _postgreSqlObjectNames.GetCommandName(triggerType); var commandText = $"drop trigger if exists {commandName}"; var str1 = $"Drop trigger {commandName} for table {_tableName.QuotedString}"; return(PostgreSqlBuilder.WrapScriptTextWithComments(commandText, str1)); }
private string DropProcedureText(DbCommandType procType) { var commandName = _sqlObjectNames.GetCommandName(procType); var commandText = $"drop procedure if exists {commandName}"; var str1 = $"Drop procedure {commandName} for table {_tableName.QuotedString}"; return(PostgreSqlBuilder.WrapScriptTextWithComments(commandText, str1)); }
public string CreateTableScriptText() { var stringBuilder = new StringBuilder(); var tableNameScript = $"Create Table {_tableName.QuotedString}"; var tableScript = BuildTableCommand().CommandText; stringBuilder.Append(PostgreSqlBuilder.WrapScriptTextWithComments(tableScript, tableNameScript)); stringBuilder.AppendLine(); return(stringBuilder.ToString()); }
public PostgreSqlBuilderTrigger(DmTable tableDescription, DbConnection connection, DbTransaction transaction = null) { _connection = connection as NpgsqlConnection; _transaction = transaction as NpgsqlTransaction; _tableDescription = tableDescription; (_tableName, _trackingName) = PostgreSqlBuilder.GetParsers(_tableDescription); _postgreSqlObjectNames = new PostgreSqlObjectNames(_tableDescription); _schemaName = new NpgsqlConnectionStringBuilder(connection.ConnectionString).SearchPath ?? "public"; }
public string CreateForeignKeyConstraintsScriptText(DmRelation constraint) { var stringBuilder = new StringBuilder(); var constraintName = $"Create Constraint {constraint.RelationName} between parent {constraint.ParentTable.TableName.ToLowerInvariant()} and child {constraint.ChildTable.TableName.ToLowerInvariant()}"; var constraintScript = BuildForeignKeyConstraintsCommand(constraint).CommandText; stringBuilder.Append(PostgreSqlBuilder.WrapScriptTextWithComments(constraintScript, constraintName)); stringBuilder.AppendLine(); return(stringBuilder.ToString()); }
public string CreateDeleteTriggerScriptText() { var delTriggerName = string.Format(_postgreSqlObjectNames.GetCommandName(DbCommandType.DeleteTrigger), _tableName.UnquotedStringWithUnderScore); var createTrigger = new StringBuilder(); createTrigger.AppendLine( $"CREATE TRIGGER {delTriggerName} AFTER DELETE ON {_tableName.QuotedString} FOR EACH ROW "); createTrigger.AppendLine(); createTrigger.AppendLine(DeleteTriggerBodyText()); var str = $"Delete Trigger for table {_tableName.QuotedString}"; return(PostgreSqlBuilder.WrapScriptTextWithComments(createTrigger.ToString(), str)); }
public string CreateTableScriptText() { var str = string.Concat("Create Tracking Table ", _trackingName.QuotedString); return(PostgreSqlBuilder.WrapScriptTextWithComments(CreateTableCommandText(), str)); }