On 10/07/2015 11:29 AM, Helen Borrie wrote: > Does anyone have a 2.5.4 on Linux nearby, to test this: > > ExternalFileAccess = Restrict /whatever/externalfiles > > -- create external table > > recreate table ext_log external file '/whatever/log_me.txt' > (stamp char(24), message char(100), CRLF char(2)); > commit; > -- trigger to autofill some fields > recreate trigger bi_ext_log for ext_log > active before insert > as > begin > if (new.stamp is null) then > begin > new.stamp = cast (current_timestamp as char(24)); > new.crlf = ascii_char(13) || ascii_char(10); > -- take out the ascii_char(13) || if you want to > end > end > commit; > --insert some data > insert into ext_log (message) values('Shall I compare thee to a summer''s > day? Thou art more lovely and more temperate.') > insert into ext_log (message) values('Rough winds do shake the darling buds > of May And summer''s lease hath all too short a date.')
Exactly this test certainly does not pass on linux - you try to have external file in /whatever, which is out of enabled subtree /whatever/externalfiles. I have ExternalFileAccess = Restrict /mnt/stg in firebird.conf and result of test is: SQL> recreate table ext_log external file '/mnt/log_me.txt' CON> (stamp char(24), message char(100), CRLF char(2)); SQL> set term }; SQL> recreate trigger bi_ext_log for ext_log CON> active before insert CON> as CON> begin CON> if (new.stamp is null) then CON> begin CON> new.stamp = cast (current_timestamp as char(24)); CON> new.crlf = ascii_char(13) || ascii_char(10); CON> -- take out the ascii_char(13) || if you want to CON> end CON> end} SQL> set term ;} SQL> commit; SQL> insert into ext_log (message) values('Shall I compare thee to a summer''s day? Thou art more lovely and more temperate.'); Statement failed, SQLSTATE = 28000 Access to external file "/mnt/log_me.txt" is denied by server administrator SQL> As expected. If I change test slightly: SQL> recreate table ext_log external file '/mnt/stg/log_me.txt' CON> (stamp char(24), message char(100), CRLF char(2)); SQL> insert into ext_log (message) values('Shall I compare thee to a summer''s day? Thou art more lovely and more temperate.'); SQL> it does pass OK - also as expected. ------------------------------------------------------------------------------ Full-scale, agent-less Infrastructure Monitoring from a single dashboard Integrate with 40+ ManageEngine ITSM Solutions for complete visibility Physical-Virtual-Cloud Infrastructure monitoring from one console Real user monitoring with APM Insights and performance trend reports Learn More http://pubads.g.doubleclick.net/gampad/clk?id=247754911&iu=/4140 Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel