Help us shape the future of Go! Take the 2026 Go Developer Survey

diff

package
v1.26.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 10, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

Package diff provides functionality for the TDTP framework.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DiffOptions

type DiffOptions struct {
	// KeyFields - поля для идентификации строк (по умолчанию primary key)
	KeyFields []string

	// IgnoreFields - игнорировать эти поля при сравнении
	IgnoreFields []string

	// CaseSensitive - учитывать регистр при сравнении строк
	CaseSensitive bool
}

DiffOptions опции для сравнения

type DiffResult

type DiffResult struct {
	Added    [][]string    // Добавленные строки (есть в B, нет в A)
	Removed  [][]string    // Удалённые строки (есть в A, нет в B)
	Modified []ModifiedRow // Изменённые строки
	Stats    DiffStats     // Статистика
	Schema   packet.Schema // Схема данных
}

DiffResult представляет результат сравнения двух TDTP пакетов

func (*DiffResult) FormatJSON

func (r *DiffResult) FormatJSON() (string, error)

FormatJSON форматирует результат diff в JSON

func (*DiffResult) FormatText

func (r *DiffResult) FormatText() string

FormatText форматирует результат в текстовый вид

func (*DiffResult) IsEqual

func (r *DiffResult) IsEqual() bool

IsEqual проверяет идентичность данных

type DiffStats

type DiffStats struct {
	TotalInA       int // Всего строк в A
	TotalInB       int // Всего строк в B
	AddedCount     int // Количество добавленных
	RemovedCount   int // Количество удалённых
	ModifiedCount  int // Количество изменённых
	UnchangedCount int // Количество неизменённых
}

DiffStats содержит статистику сравнения

type Differ

type Differ struct {
	// contains filtered or unexported fields
}

Differ выполняет сравнение TDTP пакетов

func NewDiffer

func NewDiffer(options DiffOptions) *Differ

NewDiffer создаёт новый Differ

func (*Differ) Compare

func (d *Differ) Compare(packetA, packetB *packet.DataPacket) (*DiffResult, error)

Compare сравнивает два TDTP пакета

type FieldChange

type FieldChange struct {
	FieldName string
	OldValue  string
	NewValue  string
}

FieldChange представляет изменение одного поля

type ModifiedRow

type ModifiedRow struct {
	Key     string              // Значение ключевого поля
	OldRow  []string            // Старые значения
	NewRow  []string            // Новые значения
	Changes map[int]FieldChange // Изменения по индексам полей
}

ModifiedRow представляет изменённую строку

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL