data-anonymization icon indicating copy to clipboard operation
data-anonymization copied to clipboard

PG::SyntaxError: ERROR: zero-length delimited identifier at or near

Open edgarv09 opened this issue 6 years ago • 3 comments

Trying to use this gem in postgres with postgis extension am getting this error. using BlackList

PG::SyntaxError: ERROR:  zero-length delimited identifier at or near """"
LINE 1: ... "users" SET "name" = $1, "email" = $2 WHERE "users"."" = $3
                                                                ^
: UPDATE "users" SET "name" = $1, "email" = $2 WHERE "users"."" = $3 (ActiveRecord::StatementInvalid)

the same for another table

 ERROR -- : PG::SyntaxError: ERROR:  zero-length delimited identifier at or near """"
LINE 1: ...T "name" = $1, "phone" = $2 WHERE "basic_quotations"."" = $3
                                                                ^
: UPDATE "basic_quotations" SET "name" = $1, "phone" = $2 WHERE "basic_quotations"."" = $3 (ActiveRecord::StatementInvalid)

E, [2019-01-24T16:21:34.655710 #27117] ERROR -- : /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql_adapter.rb:611:in `async_exec_params'
  /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql_adapter.rb:611:in `block (2 levels) in exec_no_cache'
  /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activesupport-5.2.2/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads'
  /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activesupport-5.2.2/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
  /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activesupport-5.2.2/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads'
  /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql_adapter.rb:610:in `block in exec_no_cache'
  /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract_adapter.rb:579:in `block (2 levels) in log'
  /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize'
  /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract_adapter.rb:578:in `block in log'
  /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activesupport-5.2.2/lib/active_support/notifications/instrumenter.rb:23:in `instrument'
  /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract_adapter.rb:569:in `log'
  /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql_adapter.rb:609:in `exec_no_cache'
  /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql_adapter.rb:598:in `execute_and_clear'
  /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/database_statements.rb:94:in `exec_delete'
  /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract/database_statements.rb:162:in `update'
  /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract/query_cache.rb:21:in `update'
  /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/composite_primary_keys-11.1.0/lib/composite_primary_keys/persistence.rb:38:in `_update_record'
  /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activerecord-5.2.2/lib/active_record/persistence.rb:479:in `update_columns'
  /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/data-anonymization-0.8.3/lib/strategy/blacklist.rb:15:in `process_record'
  /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/data-anonymization-0.8.3/lib/strategy/base.rb:191:in `process_record_if'
  /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/data-anonymization-0.8.3/lib/strategy/base.rb:120:in `block in process_table'
  /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activerecord-5.2.2/lib/active_record/relation/delegation.rb:71:in `each'
  /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activerecord-5.2.2/lib/active_record/relation/delegation.rb:71:in `each'
  /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/data-anonymization-0.8.3/lib/strategy/base.rb:117:in `process_table'
  /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/data-anonymization-0.8.3/lib/strategy/base.rb:101:in `process'
  /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/data-anonymization-0.8.3/lib/core/database.rb:68:in `block in anonymize'
  /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/data-anonymization-0.8.3/lib/core/database.rb:66:in `each'
  /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/data-anonymization-0.8.3/lib/core/database.rb:66:in `anonymize'
  /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/data-anonymization-0.8.3/lib/core/database.rb:46:in `anonymize'
  /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/data-anonymization-0.8.3/lib/core/dsl.rb:10:in `database'
  rdbms_whitelist_generated.rb:7:in `<main>'
E, [2019-01-24T16:21:34.656483 #27117] ERROR -- : PG::SyntaxError: ERROR:  zero-length delimited identifier at or near """"
LINE 1: ... "users" SET "name" = $1, "email" = $2 WHERE "users"."" = $3
                                                                ^
: UPDATE "users" SET "name" = $1, "email" = $2 WHERE "users"."" = $3 (ActiveRecord::StatementInvalid)

edgarv09 avatar Jan 24 '19 21:01 edgarv09

Please share your Anonymization Definition file to help further.

  • Sunit

On 25-Jan-2019, at 3:05 AM, Edgar Villamarin [email protected] wrote:

Trying to use this gem in postgres with postgis extension am getting this error.

PG::SyntaxError: ERROR: zero-length delimited identifier at or near """" LINE 1: ... "users" SET "name" = $1, "email" = $2 WHERE "users"."" = $3 ^ : UPDATE "users" SET "name" = $1, "email" = $2 WHERE "users"."" = $3 (ActiveRecord::StatementInvalid) the same for another table

ERROR -- : PG::SyntaxError: ERROR: zero-length delimited identifier at or near """" LINE 1: ...T "name" = $1, "phone" = $2 WHERE "basic_quotations"."" = $3 ^ : UPDATE "basic_quotations" SET "name" = $1, "phone" = $2 WHERE "basic_quotations"."" = $3 (ActiveRecord::StatementInvalid) E, [2019-01-24T16:21:34.655710 #27117] ERROR -- : /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql_adapter.rb:611:in async_exec_params' /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql_adapter.rb:611:in block (2 levels) in exec_no_cache' /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activesupport-5.2.2/lib/active_support/dependencies/interlock.rb:48:in block in permit_concurrent_loads' /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activesupport-5.2.2/lib/active_support/concurrency/share_lock.rb:187:in yield_shares' /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activesupport-5.2.2/lib/active_support/dependencies/interlock.rb:47:in permit_concurrent_loads' /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql_adapter.rb:610:in block in exec_no_cache' /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract_adapter.rb:579:in block (2 levels) in log' /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/2.4.0/monitor.rb:214:in mon_synchronize' /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract_adapter.rb:578:in block in log' /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activesupport-5.2.2/lib/active_support/notifications/instrumenter.rb:23:in instrument' /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract_adapter.rb:569:in log' /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql_adapter.rb:609:in exec_no_cache' /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql_adapter.rb:598:in execute_and_clear' /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activerecord-5.2.2/lib/active_record/connection_adapters/postgresql/database_statements.rb:94:in exec_delete' /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract/database_statements.rb:162:in update' /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activerecord-5.2.2/lib/active_record/connection_adapters/abstract/query_cache.rb:21:in update' /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/composite_primary_keys-11.1.0/lib/composite_primary_keys/persistence.rb:38:in _update_record' /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activerecord-5.2.2/lib/active_record/persistence.rb:479:in update_columns' /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/data-anonymization-0.8.3/lib/strategy/blacklist.rb:15:in process_record' /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/data-anonymization-0.8.3/lib/strategy/base.rb:191:in process_record_if' /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/data-anonymization-0.8.3/lib/strategy/base.rb:120:in block in process_table' /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activerecord-5.2.2/lib/active_record/relation/delegation.rb:71:in each' /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/activerecord-5.2.2/lib/active_record/relation/delegation.rb:71:in each' /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/data-anonymization-0.8.3/lib/strategy/base.rb:117:in process_table' /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/data-anonymization-0.8.3/lib/strategy/base.rb:101:in process' /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/data-anonymization-0.8.3/lib/core/database.rb:68:in block in anonymize' /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/data-anonymization-0.8.3/lib/core/database.rb:66:in each' /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/data-anonymization-0.8.3/lib/core/database.rb:66:in anonymize' /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/data-anonymization-0.8.3/lib/core/database.rb:46:in anonymize' /Users/edgarLH/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/data-anonymization-0.8.3/lib/core/dsl.rb:10:in database' rdbms_whitelist_generated.rb:7:in `

' E, [2019-01-24T16:21:34.656483 #27117] ERROR -- : PG::SyntaxError: ERROR: zero-length delimited identifier at or near """" LINE 1: ... "users" SET "name" = $1, "email" = $2 WHERE "users"."" = $3 ^ : UPDATE "users" SET "name" = $1, "email" = $2 WHERE "users"."" = $3 (ActiveRecord::StatementInvalid) — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.

sunitparekh avatar Jan 25 '19 04:01 sunitparekh

Yeahh!!, sure.

rdbms_whitelist_generated.rb.txt

edgarv09 avatar Jan 28 '19 14:01 edgarv09

For Blacklist strategy, it requires Primary Key field and if my guess is right it is failing without it.

primary_key

Please have a look at the sample here https://github.com/sunitparekh/data-anonymization/blob/master/examples/blacklist_dsl.rb

let me know if you still face issue.

On Mon, Jan 28, 2019 at 8:23 PM Edgar Villamarin [email protected] wrote:

Yeahh!!, sure.

rdbms_whitelist_generated.rb.txt https://github.com/sunitparekh/data-anonymization/files/2803490/rdbms_whitelist_generated.rb.txt

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/sunitparekh/data-anonymization/issues/71#issuecomment-458161938, or mute the thread https://github.com/notifications/unsubscribe-auth/AAK2ulQ3AtOZXGAzqLvvMG0YEjguADjJks5vHw7egaJpZM4aRwYx .

-- thanks & regards, Sunit Parekh +91 99237 00662 [email protected]

sunitparekh avatar Jan 28 '19 18:01 sunitparekh