From the CryptDB paper , I understood that the onion layers once decrypted are not re-encrypted. Only columns which are queried infrequently will be re-encrypted to higher onion layers. But if we know which type of functions are to be used, then why have that higher layer of functionality if it has to be decrypted and not re-encrypted? After the first query itself, data will be present in a lower onion layer.
If all columns are present in a state where some data is leaked from the encrypted DB (e.g., the duplicates) is it still secure? Even if users are not logged in, lots of information about the data can be understood?