I did some testing and there is a "sort-of" limit than can be overcome with a simple filter.
A text field up to 100,000 characters (a-z and A-Z) exports without changes. A field with 100,020 characters or more adds Chr$(13)\n after every 97th character. (According to Notepad ++ v. 5.8.2 (UNICODE))
The same happened with fields containing 200k, 300k, 500k and 1,000,000 characters. The files with multiples of 100k consisted entirely of lower and uppercase letters. The 200k+ files consisted of a copy/paste of the 100k file done in Windows XP Notepad saved as a file, then those files copied and pasted to new Sesame records, so the text was identical--just more of it.
The extra characters in 100,020 and 100,050-character files consisted of 0-9, i.e., the files only contained alphanumeric characters and no control characters.
All exports were done from the same field in the same database, just different records. Even the 1,000,000-character field exported without truncation.
The exported version of the 100,020-character field is 103122 characters long, i.e., 3102 added characters, 1035 lines, the final one being partial, 1034 lines with Chr$(13)\n.
I tried re-importing the 200k field but it only took the first 97 characters. I loaded the same file into Notepad ++ and used Extended replace to replace \r\\n (note the 2 slashes before n) with nothing. The entire 200k field then imported.
So, if any individual field exceeds 100,000 characters, the CSV file must be run through a filter before being imported. Exports and Imports of million-plus character fields should be possible, since the same characters were added at the same interval for all fields over 100,000 characters. When exporting text fields containing blank lines, Sesame adds the characters \n but they are not preceded by Chr$(13) and the end-of-record separator won't be preceded by the \n characters, so the filter will not affect anything else.
Another interesting application of this is that a simple uuencode/decode combo should enable storing binary data or images in a Sesame text field.
|