diff --git a/adapter/lib/active_record/connection_adapters/monetdb_adapter_config.rb b/adapter/lib/active_record/connection_adapters/monetdb_adapter_config.rb index e866ff9e43678142a5bb31cc6ea44684e7c11758..822b7380e157e16294657aacda0e1728f2d3915d 100644 --- a/adapter/lib/active_record/connection_adapters/monetdb_adapter_config.rb +++ b/adapter/lib/active_record/connection_adapters/monetdb_adapter_config.rb @@ -4,4 +4,10 @@ MDB_SYS_SCHEMA = "sys." # explicitly specifying system schema #MDB_NON_SYSTEM_TABLES_ONLY = "" # initial value [before fix] - I.T. MDB_NON_SYSTEM_TABLES_ONLY = "and system = false" # ignoring columns from system tables (in order not to mix in 'default_schema' and other fields from sys.users to OLDS users table) -MDB_LOG_USER_QUERIES = false \ No newline at end of file +MDB_LOG_USER_QUERIES = false + +# NOTE: critical fix: lib/MonetDBData.rb, line 280: +# fields << f.gsub(/\\/, '').gsub(/^"/,'').gsub(/"$/,'').gsub(/\"/, '') +# should be +# fields << f.gsub(/\\n/, "\n").gsub(/\\/, '').gsub(/^"/,'').gsub(/"$/,'').gsub(/\"/, '') +# in order to treat line breaks correctly \ No newline at end of file diff --git a/lib/MonetDBData.rb b/lib/MonetDBData.rb index 93c4917c0d961ccd884d0e8312b75b58ceb24f01..2ad7b4eb5603db8f70d6d9c29e5c59d1e2f828ce 100644 --- a/lib/MonetDBData.rb +++ b/lib/MonetDBData.rb @@ -277,7 +277,8 @@ class MonetDBData tuple = tuple.to_s.gsub(/^\[\s+/,'') tuple.split(/,\t/).each do |f| - fields << f.gsub(/\\/, '').gsub(/^"/,'').gsub(/"$/,'').gsub(/\"/, '') + #fields << f.gsub(/\\/, '').gsub(/^"/,'').gsub(/"$/,'').gsub(/\"/, '') + fields << f.gsub(/\\n/, "\n").gsub(/\\/, '').gsub(/^"/,'').gsub(/"$/,'').gsub(/\"/, '') end return fields.freeze