If you wrap a CREATE PACKAGE
statement, you hide the package API from other developers. You may want to wrap the package body, but not the package header so users can see the package prototypes and other public variables that are defined in the package body. To allow users to see what prototypes the package contains, use EDBWrap to obfuscate only the CREATE PACKAGE BODY
statement in the edbwrap input file, omitting the 'CREATE PACKAGE
' statement. The package header source will be stored plaintext, while the package body source and package functions and procedures will be stored obfuscated.
The entire source file is wrapped into one unit. Any psql
meta-commands included in the wrapped file will not be recognized when the file is executed; executing an obfuscated file that contains a psql meta-command will cause a syntax error. edbwrap
does not validate SQL source code - if the plaintext form contains a syntax error, edbwrap
will not complain. Instead, the server will report an error and abort the entire file when you try to execute the obfuscated form.