SYMBOL INDEX (217 symbols across 39 files) FILE: ctx/args.go constant confPathDefault (line 12) | confPathDefault = "/nxs-data-anonymizer.conf" type Args (line 18) | type Args struct function ArgsRead (line 28) | func ArgsRead() (Args, error) { function argsHelp (line 126) | func argsHelp(args *getopt.Set) { function argsVersion (line 139) | func argsVersion() { FILE: ctx/conf.go type confOpts (line 10) | type confOpts struct type progressConf (line 23) | type progressConf struct type filterConf (line 28) | type filterConf struct type columnFilterConf (line 32) | type columnFilterConf struct type linkConf (line 38) | type linkConf struct type variableFilterConf (line 43) | type variableFilterConf struct type securityConf (line 48) | type securityConf struct type securityPolicyConf (line 54) | type securityPolicyConf struct type securityExceptionsConf (line 59) | type securityExceptionsConf struct type securityDefaultsConf (line 64) | type securityDefaultsConf struct type securityDefaultsTypeConf (line 69) | type securityDefaultsTypeConf struct type mysqlConf (line 74) | type mysqlConf struct function confRead (line 82) | func confRead(confPath string) (confOpts, error) { FILE: ctx/context.go type Ctx (line 23) | type Ctx struct type DBCtx (line 32) | type DBCtx struct type DBType (line 38) | type DBType constant DBTypeMySQL (line 41) | DBTypeMySQL DBType = "mysql" constant DBTypePgSQL (line 42) | DBTypePgSQL DBType = "pgsql" type LogFormat (line 45) | type LogFormat constant LogFormatJSON (line 48) | LogFormatJSON LogFormat = "json" constant LogFormatPlain (line 49) | LogFormatPlain LogFormat = "plain" type progressCtx (line 52) | type progressCtx struct type SecurityCtx (line 57) | type SecurityCtx struct function AppCtxInit (line 63) | func AppCtxInit() (any, error) { function tmpLogError (line 281) | func tmpLogError(msg string, err error) { function logInit (line 288) | func logInit(file, level string, ft LogFormat) (*logrus.Logger, error) { FILE: doc/examples/drop/MySQL/input.sql type `authors` (line 25) | CREATE TABLE `authors` ( type `posts` (line 53) | CREATE TABLE `posts` ( FILE: doc/examples/drop/MySQL/output.sql type `authors` (line 25) | CREATE TABLE `authors` ( type `posts` (line 53) | CREATE TABLE `posts` ( FILE: doc/examples/filters/MySQL/input.sql type `test_tbl` (line 25) | CREATE TABLE `test_tbl` ( FILE: doc/examples/filters/MySQL/output.sql type `test_tbl` (line 25) | CREATE TABLE `test_tbl` ( FILE: doc/examples/links/MySQL/input.sql type `authors` (line 25) | CREATE TABLE `authors` ( type `posts` (line 54) | CREATE TABLE `posts` ( FILE: doc/examples/links/MySQL/output.sql type `authors` (line 25) | CREATE TABLE `authors` ( type `posts` (line 54) | CREATE TABLE `posts` ( FILE: doc/examples/security/MySQL/input.sql type `authors` (line 25) | CREATE TABLE `authors` ( type `posts` (line 54) | CREATE TABLE `posts` ( FILE: doc/examples/security/MySQL/output.sql type `authors` (line 25) | CREATE TABLE `authors` ( type `posts` (line 54) | CREATE TABLE `posts` ( FILE: doc/examples/variables/MySQL/input.sql type `authors` (line 25) | CREATE TABLE `authors` ( type `posts` (line 53) | CREATE TABLE `posts` ( FILE: doc/examples/variables/MySQL/output.sql type `authors` (line 25) | CREATE TABLE `authors` ( type `posts` (line 53) | CREATE TABLE `posts` ( FILE: ds/mysql/mysql.go type MySQL (line 10) | type MySQL struct method Close (line 39) | func (m *MySQL) Close() error { method DBCleanup (line 44) | func (m *MySQL) DBCleanup() error { type Settings (line 14) | type Settings struct function Connect (line 22) | func Connect(s Settings) (MySQL, error) { FILE: interfaces/anonymizer.go type Anonymizer (line 8) | type Anonymizer interface FILE: main.go function main (line 16) | func main() { function sigHandlerTerm (line 46) | func sigHandlerTerm(sig appctx.Signal) { FILE: misc/security.go type SecurityPolicyTablesType (line 3) | type SecurityPolicyTablesType method String (line 11) | func (v SecurityPolicyTablesType) String() string { constant SecurityPolicyTablesUnknown (line 6) | SecurityPolicyTablesUnknown SecurityPolicyTablesType = "unknown" constant SecurityPolicyTablesPass (line 7) | SecurityPolicyTablesPass SecurityPolicyTablesType = "pass" constant SecurityPolicyTablesSkip (line 8) | SecurityPolicyTablesSkip SecurityPolicyTablesType = "skip" function SecurityPolicyTablesTypeFromString (line 15) | func SecurityPolicyTablesTypeFromString(v string) SecurityPolicyTablesTy... type SecurityPolicyColumnsType (line 26) | type SecurityPolicyColumnsType method String (line 34) | func (v SecurityPolicyColumnsType) String() string { constant SecurityPolicyColumnsUnknown (line 29) | SecurityPolicyColumnsUnknown SecurityPolicyColumnsType = "unknown" constant SecurityPolicyColumnsPass (line 30) | SecurityPolicyColumnsPass SecurityPolicyColumnsType = "pass" constant SecurityPolicyColumnsRandomize (line 31) | SecurityPolicyColumnsRandomize SecurityPolicyColumnsType = "randomize" function SecurityPolicyColumnsTypeFromString (line 38) | func SecurityPolicyColumnsTypeFromString(v string) SecurityPolicyColumns... FILE: misc/template.go type TemlateRes (line 15) | type TemlateRes struct function TemplateExec (line 21) | func TemplateExec(tpl string, d any) (TemlateRes, error) { FILE: misc/token.go function TokenGen (line 9) | func TokenGen(tokenLen int64) string { FILE: misc/values.go type ValueType (line 3) | type ValueType method String (line 22) | func (v ValueType) String() string { constant ValueTypeUnknown (line 6) | ValueTypeUnknown ValueType = "unkonwn" constant ValueTypeTemplate (line 7) | ValueTypeTemplate ValueType = "template" constant ValueTypeCommand (line 8) | ValueTypeCommand ValueType = "command" function ValueTypeFromString (line 11) | func ValueTypeFromString(v string) ValueType { FILE: modules/anonymizers/mysql/.testdata/mysql_test.dos.in.sql type `table1` (line 25) | CREATE TABLE `table1` ( type `table2` (line 55) | CREATE TABLE `table2` ( type `table3` (line 85) | CREATE TABLE `table3` ( FILE: modules/anonymizers/mysql/.testdata/mysql_test.dos.out.sql type `table1` (line 25) | CREATE TABLE `table1` ( type `table2` (line 55) | CREATE TABLE `table2` ( type `table3` (line 85) | CREATE TABLE `table3` ( FILE: modules/anonymizers/mysql/.testdata/mysql_test.in.sql type `table1` (line 25) | CREATE TABLE `table1` ( type `table2` (line 55) | CREATE TABLE `table2` ( type `table3` (line 85) | CREATE TABLE `table3` ( FILE: modules/anonymizers/mysql/.testdata/mysql_test.out.sql type `table1` (line 25) | CREATE TABLE `table1` ( type `table2` (line 55) | CREATE TABLE `table2` ( type `table3` (line 85) | CREATE TABLE `table3` ( FILE: modules/anonymizers/mysql/dh.go function dhSecurityInsertInto (line 11) | func dhSecurityInsertInto(usrCtx any, deferred, token []byte) ([]byte, e... function dhSecurityInsertIntoTableNameSearch (line 21) | func dhSecurityInsertIntoTableNameSearch(usrCtx any, deferred, token []b... function dhSecurityInsertIntoValues (line 31) | func dhSecurityInsertIntoValues(usrCtx any, deferred, token []byte) ([]b... function dhSecurityInsertIntoValueSearch (line 45) | func dhSecurityInsertIntoValueSearch(usrCtx any, deferred, token []byte)... function dhSecurityValuesEnd (line 58) | func dhSecurityValuesEnd(usrCtx any, deferred, token []byte) ([]byte, er... function dhCreateTableName (line 73) | func dhCreateTableName(usrCtx any, deferred, token []byte) ([]byte, erro... function dhCreateTableFieldName (line 81) | func dhCreateTableFieldName(usrCtx any, deferred, token []byte) ([]byte,... function checkGenerated (line 91) | func checkGenerated(t []byte) bool { function dhCreateTableColumnAdd (line 99) | func dhCreateTableColumnAdd(usrCtx any, deferred, token []byte) ([]byte,... function dhInsertIntoTableName (line 130) | func dhInsertIntoTableName(usrCtx any, deferred, token []byte) ([]byte, ... function dhCreateTableValues (line 159) | func dhCreateTableValues(usrCtx any, deferred, token []byte) ([]byte, er... function dhCreateTableValuesString (line 177) | func dhCreateTableValuesString(usrCtx any, deferred, token []byte) ([]by... function dhCreateTableValuesEnd (line 191) | func dhCreateTableValuesEnd(usrCtx any, deferred, token []byte) ([]byte,... function dhCreateTableValuesStringEnd (line 226) | func dhCreateTableValuesStringEnd(usrCtx any, deferred, token []byte) ([... function rowDataGen (line 254) | func rowDataGen(uctx *userCtx) []byte { function securityPolicyCheck (line 289) | func securityPolicyCheck(uctx *userCtx, tname string) bool { FILE: modules/anonymizers/mysql/mysql.go type MySQL (line 15) | type MySQL struct method Run (line 176) | func (m *MySQL) Run(ctx context.Context, w io.Writer) error { type InitOpts (line 20) | type InitOpts struct type RulesOpts (line 27) | type RulesOpts struct type SecurityOpts (line 34) | type SecurityOpts struct type userCtx (line 40) | type userCtx struct type securityCtx (line 49) | type securityCtx struct type optKind (line 57) | type optKind struct type columnType (line 62) | type columnType method String (line 71) | func (c columnType) String() string { constant columnTypeNone (line 65) | columnTypeNone columnType = "none" constant columnTypeString (line 66) | columnTypeString columnType = "string" constant columnTypeNum (line 67) | columnTypeNum columnType = "numeric" constant columnTypeBinary (line 68) | columnTypeBinary columnType = "binary" function userCtxInit (line 113) | func userCtxInit(s InitOpts) (*userCtx, error) { function Init (line 163) | func Init(r io.Reader, s InitOpts) (*MySQL, error) { FILE: modules/anonymizers/mysql/mysql_test.go function TestMySQL (line 13) | func TestMySQL(t *testing.T) { function TestMySQLDos (line 84) | func TestMySQLDos(t *testing.T) { FILE: modules/anonymizers/pgsql/.testdata/pgsql_test.dos.in.sql type public (line 27) | CREATE TABLE public.list_types ( type public (line 48) | CREATE TABLE public.list_types2 ( type public (line 69) | CREATE TABLE public.list_types3 ( FILE: modules/anonymizers/pgsql/.testdata/pgsql_test.dos.out.sql type public (line 27) | CREATE TABLE public.list_types ( type public (line 48) | CREATE TABLE public.list_types2 ( type public (line 69) | CREATE TABLE public.list_types3 ( FILE: modules/anonymizers/pgsql/.testdata/pgsql_test.in.sql type public (line 27) | CREATE TABLE public.list_types ( type public (line 48) | CREATE TABLE public.list_types2 ( type public (line 69) | CREATE TABLE public.list_types3 ( FILE: modules/anonymizers/pgsql/.testdata/pgsql_test.out.sql type public (line 27) | CREATE TABLE public.list_types ( type public (line 48) | CREATE TABLE public.list_types2 ( type public (line 69) | CREATE TABLE public.list_types3 ( FILE: modules/anonymizers/pgsql/dh.go function dhSecurityCopy (line 12) | func dhSecurityCopy(usrCtx any, deferred, token []byte) ([]byte, error) { function dhCopyValuesEnd (line 22) | func dhCopyValuesEnd(usrCtx any, deferred, token []byte) ([]byte, error) { function dhCreateTableName (line 37) | func dhCreateTableName(usrCtx any, deferred, token []byte) ([]byte, erro... function dhCreateTableDesc (line 47) | func dhCreateTableDesc(usrCtx any, deferred, token []byte) ([]byte, erro... function dhTableName (line 78) | func dhTableName(usrCtx any, deferred, token []byte) ([]byte, error) { function dhFieldName (line 104) | func dhFieldName(usrCtx any, deferred, token []byte) ([]byte, error) { function dhTableCopyTail (line 124) | func dhTableCopyTail(usrCtx any, deferred, token []byte) ([]byte, error) { function dhValue (line 137) | func dhValue(usrCtx any, deferred, token []byte) ([]byte, error) { function dhValueEnd (line 155) | func dhValueEnd(usrCtx any, deferred, token []byte) ([]byte, error) { function rowDataGen (line 188) | func rowDataGen(filter *relfilter.Filter) []byte { function securityPolicyCheck (line 216) | func securityPolicyCheck(uctx *userCtx, tname string) bool { FILE: modules/anonymizers/pgsql/pgsql.go type PgSQL (line 14) | type PgSQL struct method Run (line 102) | func (p *PgSQL) Run(ctx context.Context, w io.Writer) error { type InitOpts (line 19) | type InitOpts struct type RulesOpts (line 26) | type RulesOpts struct type SecurityOpts (line 33) | type SecurityOpts struct type userCtx (line 39) | type userCtx struct type securityCtx (line 47) | type securityCtx struct function userCtxInit (line 55) | func userCtxInit(s InitOpts) (*userCtx, error) { function Init (line 89) | func Init(r io.Reader, s InitOpts) (*PgSQL, error) { FILE: modules/anonymizers/pgsql/pgsql_test.go function TestPgSQL (line 13) | func TestPgSQL(t *testing.T) { function TestPgSQLDos (line 84) | func TestPgSQLDos(t *testing.T) { FILE: modules/filters/relfilter/column.go type columns (line 5) | type columns struct method add (line 29) | func (c *columns) add(name string, rt string, pts [][]string, r *Colum... method getNameByIndex (line 64) | func (c *columns) getNameByIndex(index int) string { method delByName (line 71) | func (c *columns) delByName(name string) { type column (line 10) | type column struct type columnTypes (line 15) | type columnTypes struct function columnsInit (line 22) | func columnsInit() columns { FILE: modules/filters/relfilter/filter.go type InitOpts (line 13) | type InitOpts struct type TypeRuleOpts (line 28) | type TypeRuleOpts struct type ColumnRuleOpts (line 33) | type ColumnRuleOpts struct type VariableRuleOpts (line 39) | type VariableRuleOpts struct type LinkOpts (line 44) | type LinkOpts struct type Filter (line 49) | type Filter struct method TableCreate (line 235) | func (filter *Filter) TableCreate(name string) { method TableNameGet (line 244) | func (filter *Filter) TableNameGet() string { method TableRulesLookup (line 249) | func (filter *Filter) TableRulesLookup(name string) map[string]ColumnR... method ColumnAdd (line 257) | func (filter *Filter) ColumnAdd(name string, rt string) { method ColumnGetName (line 280) | func (filter *Filter) ColumnGetName(index int) string { method ValueAdd (line 284) | func (filter *Filter) ValueAdd(b string) { method ValuePop (line 294) | func (filter *Filter) ValuePop() Row { method Apply (line 306) | func (filter *Filter) Apply() error { method applyRules (line 401) | func (filter *Filter) applyRules(tname string, rls []applyRule) error { method applyColumnFilter (line 527) | func (filter *Filter) applyColumnFilter(cn string, cr ColumnRuleOpts, ... method applyLinkFilter (line 572) | func (filter *Filter) applyLinkFilter(cn string, cr ColumnRuleOpts, u ... method rowCleanup (line 609) | func (filter *Filter) rowCleanup() { type Row (line 58) | type Row struct type rules (line 62) | type rules struct type typeRule (line 77) | type typeRule struct type tableData (line 82) | type tableData struct type rowValue (line 89) | type rowValue struct type linkValues (line 93) | type linkValues struct type execFilterOpts (line 108) | type execFilterOpts struct constant uniqueAttempts (line 113) | uniqueAttempts = 5 constant envVarGlobalPrefix (line 116) | envVarGlobalPrefix = "ENVVARGLOBAL_" constant envVarTable (line 117) | envVarTable = "ENVVARTABLE" constant envVarColumnPrefix (line 118) | envVarColumnPrefix = "ENVVARCOLUMN_" constant envVarCurColumn (line 119) | envVarCurColumn = "ENVVARCURCOLUMN" constant envVarColumnTypeRAW (line 120) | envVarColumnTypeRAW = "ENVVARCOLUMNTYPERAW" constant envVarColumnTypeGroupPrefix (line 121) | envVarColumnTypeGroupPrefix = "ENVVARCOLUMNTYPEGROUP_" type applyRule (line 124) | type applyRule struct function Init (line 132) | func Init(opts InitOpts) (*Filter, error) { function execFilter (line 613) | func execFilter(f execFilterOpts, td any, tde []string) (string, bool, e... FILE: modules/filters/relfilter/filter_test.go function TestExecFilter (line 9) | func TestExecFilter(t *testing.T) { function TestFilterApply (line 44) | func TestFilterApply(t *testing.T) { function TestFilterApplyDropFunction (line 50) | func TestFilterApplyDropFunction(t *testing.T) { function TestFilterApplyNullFunction (line 85) | func TestFilterApplyNullFunction(t *testing.T) { function TestLinkFilterApply (line 120) | func TestLinkFilterApply(t *testing.T) { function TestLinkFilterApplyDropFunction (line 211) | func TestLinkFilterApplyDropFunction(t *testing.T) { function testFilterTableInit (line 281) | func testFilterTableInit(f *Filter) { function testLinkFilterTable1Init (line 294) | func testLinkFilterTable1Init(f *Filter) { function testLinkFilterTable2Init (line 307) | func testLinkFilterTable2Init(f *Filter) { FILE: modules/progress_reader/progress_reader.go type ProgressReader (line 5) | type ProgressReader struct method Read (line 21) | func (pr *ProgressReader) Read(dst []byte) (int, error) { method Bytes (line 33) | func (pr *ProgressReader) Bytes() int64 { function Init (line 14) | func Init(r io.Reader) *ProgressReader { FILE: routines/anonymizer/anonymizer.go type anonymizeOpts (line 17) | type anonymizeOpts struct function Runtime (line 26) | func Runtime(app appctx.App) error { function anonymize (line 105) | func anonymize(st anonymizeOpts) error { function progressLog (line 125) | func progressLog(l *logrus.Logger, b int64, h bool) {