Location and file names for mapped users' generated files (UNIX, Linux)

The generated files for some mapped users are created in a different default location, and are named differently.

If a mapped user is created with a non-OS surrogate UID and a home directory is not specified for this user, the working directory of the user is set to $ONEDB_HOME/users/server_servernumber/uid_UID. Generated files, such as explain output files and debug files are stored in the user's working directory.

Generated files are renamed to have a username_ prefix, where username is the name of mapped user. For example on server number 2, the sqexplain.out file for mapped user fred, who has a UID of 3000, would be $ONEDB_HOME/users/server_2/uid_3000/fred_sqexplain.out

If the length of the directory exceeds 256 bytes, the database server generates a warning, and files are generated in $ONEDB_HOME, instead.

If a CREATE USER or ALTER USER statement was used to specify the mapped user's home directory, then remote clients' files are generated in user's home directory and local clients' files are generated in the user's current working directory. File names changed to have a username_ prefix, where username is the name of the mapped user. Distinguishing the files of a specific mapped user is important, because multiple users can be mapped to the same surrogate UID.

If there are characters in a mapped user's name that interfere with file creation, characters are changed to '_'. For example, the generated files of mapped user foo/bar are renamed with the prefix foo_bar_.