Return codes are generated by client software; error codes and failure codes are generated by the database.