0

I found some information about the encryption and embedded password features in Interbase 2009, but it does not prevent database users to see the source code. Is it possible to hide the stored procedures and triggers codes from all user including SYSDBA too? If not at least I can hide it from some users.

Johan
  • 74,508
  • 24
  • 191
  • 319
Colin Jong
  • 63
  • 1
  • 6

2 Answers2

1

Figured out how to do it:

update rdb$Triggers set rdb$Trigger_source = ""
where
    rdb$system_flag = 0
    and rdb$trigger_name not like "CHECK%";

update rdb$procedures set rdb$procedure_source="";
Colin Jong
  • 63
  • 1
  • 6
  • WARNING: The source code will be permanently removed. The source code will only appear again if the stored procedure or trigger are altered. – Colin Jong Jul 06 '12 at 06:48
  • That sounds like what I remember. I would keep a development database with the full source code (and I keep ddl text files as well). Then just remove the source as you describe in your distribution copy - never from your own copy. – Patrick Moloney Jul 10 '12 at 01:24
  • This will work. You can also `REVOKE` the `SELECT` privilege from the system tables, which removes visibility without removing the source code. – Craig Stuntz Jul 15 '12 at 11:43
  • Craig, that is neat - and I wasn't aware of that. But in this case the sysdba could simply Grant the Select again, right? – Patrick Moloney Nov 08 '12 at 01:03
0

Last I heard it could not be hidden. However, the source code of the procedures could be removed from the system tables. I forget the details of doing this, but that is the approach that has worked for a long time.

Patrick Moloney
  • 642
  • 5
  • 14