{"id":364,"date":"2014-02-10T10:59:59","date_gmt":"2014-02-10T10:59:59","guid":{"rendered":"http:\/\/it.tuxie.eu\/?p=364"},"modified":"2014-02-10T11:11:47","modified_gmt":"2014-02-10T11:11:47","slug":"how-firebird-3-0alpha2-stores-data","status":"publish","type":"post","link":"http:\/\/it.tuxie.eu\/?p=364","title":{"rendered":"How Firebird 3.0 alpha 2 stores data"},"content":{"rendered":"<p>5th part (<a href=\"http:\/\/it.tuxie.eu\/?p=254\">Oracle<\/a>, <a href=\"http:\/\/it.tuxie.eu\/?p=291\">DB2<\/a>, <a href=\"http:\/\/it.tuxie.eu\/?p=316\">MySQL<\/a>, <a href=\"http:\/\/it.tuxie.eu\/?p=334\">PostgreSQL<\/a>) of my series \u201eHow xxx stores data\u201c with an idea of insider (system administrator) who wants to be rich (selling valid credit card numbers). Firebird is excellent RDBM &#8211; nevermind it is not so famous in Czech republic (*facepalm*).<\/p>\n<p><!--more--><\/p>\n<p>I will continue with recently installed Firebird from .tar.gz archive. And of course i will show connecting into existing database + create table.<\/p>\n<p><strong>1) Preparing data<\/strong><\/p>\n<p><span style=\"font-family: courier new,courier; font-size: 12px;\">root@deb73:\/opt# <span style=\"color: #ff0000;\"><strong>\/opt\/fb30-alpha\/bin\/isql<\/strong><\/span><\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Use CONNECT or CREATE DATABASE to specify a database<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt; <span style=\"color: #ff0000;\"><strong>connect \/opt\/fb30-alpha\/examples\/empbuild\/employee.fdb user SYSDBA password lala;<\/strong><\/span><\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Database:\u00a0 \/opt\/fb30-alpha\/examples\/empbuild\/employee.fdb, User: SYSDBA<\/span><\/p>\n<p><span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt; <span style=\"color: #ff0000;\"><strong>show tables;<\/strong><\/span><\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 COUNTRY\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CUSTOMER\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 DEPARTMENT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 EMPLOYEE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 EMPLOYEE_PROJECT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 JOB\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 PROJECT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 PROJ_DEPT_BUDGET\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 SALARY_HISTORY\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 SALES\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><\/p>\n<p><span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt; <span style=\"color: #ff0000;\"><strong>create table acc_test(noo smallint, accno varchar(25));<\/strong><\/span><\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt; <\/span><\/p>\n<p>As you can see, I was forced to changed name of first column (as &#8222;no&#8220; is reserved word in Firebird) into &#8222;noo&#8220;:<\/p>\n<p><span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt; <strong>create table acc_test (no smallint,accno varchar (25));<\/strong><\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Statement failed, SQLSTATE = 42000<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Dynamic SQL Error<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-SQL error code = -104<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-Token unknown &#8211; line 1, column 24<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-no<\/span><\/p>\n<p>There are few ways how to insert data into this table. Typing as monkey or some batch processing. Let\u00b4s have a file <strong>\/root\/fbfill.txt<\/strong> containing:<\/p>\n<p><span style=\"font-family: courier new,courier; font-size: 12px;\"><code>CONNECT \"\/opt\/fb30-alpha\/examples\/empbuild\/employee.fdb\" USER \"SYSDBA\" PASSWORD \"lala\";<\/code><\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">insert into acc_test values (01,&#8217;4255-8613-9716-5076&#8242;);<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">insert into acc_test values (02,&#8217;4531-2930-4967-2232&#8242;);<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">insert into acc_test values (03,&#8217;4548-7929-1826-4899&#8242;);<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">insert into acc_test values (04,&#8217;4691-3746-9407-0405&#8242;);<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">insert into acc_test values (05,&#8217;4649-1103-3295-2551&#8242;);<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">insert into acc_test values (06,&#8217;4997-5257-8004-9774&#8242;);<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">insert into acc_test values (07,&#8217;4692-4078-2653-8573&#8242;);<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">insert into acc_test values (08,&#8217;4044-8832-9347-1412&#8242;);<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">insert into acc_test values (09,&#8217;4688-8299-4664-4385&#8242;);<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">insert into acc_test values (10,&#8217;4339-4136-0219-4499&#8242;);<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">insert into acc_test values (11,&#8217;4016-7845-2950-8098&#8242;);<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">insert into acc_test values (12,&#8217;4961-6591-9364-9979&#8242;);<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">insert into acc_test values (13,&#8217;4787-0768-3223-3820&#8242;);<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">insert into acc_test values (14,&#8217;4582-2114-8843-1397&#8242;);<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">insert into acc_test values (15,&#8217;4549-3001-8407-0658&#8242;);<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">insert into acc_test values (16,&#8217;4464-3676-8558-3399&#8242;);<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">insert into acc_test values (17,&#8217;4804-1261-5366-8044&#8242;);<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">insert into acc_test values (18,&#8217;4284-1059-8455-5702&#8242;);<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">insert into acc_test values (19,&#8217;4127-1856-7120-0292&#8242;);<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">insert into acc_test values (20,&#8217;4633-7926-0863-2443&#8242;);<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">commit;<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">EXIT;<\/span><\/p>\n<p>And let\u00b4s run it!<\/p>\n<p><span style=\"font-family: courier new,courier; font-size: 12px;\">root@deb73:\/opt\/fb30-alpha\/bin# <span style=\"color: #ff0000;\"><strong>.\/isql &lt; \/root\/fbfill.txt<\/strong><\/span><\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Use CONNECT or CREATE DATABASE to specify a database<\/span><\/p>\n<p><span style=\"font-family: courier new,courier; font-size: 12px;\">root@deb73:~# <span style=\"color: #ff0000;\"><strong>\/opt\/fb30-alpha\/bin\/isql<\/strong><\/span><\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Use CONNECT or CREATE DATABASE to specify a database<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt; <span style=\"color: #ff0000;\"><strong>connect \/opt\/fb30-alpha\/examples\/empbuild\/employee.fdb user SYSDBA password lala;<\/strong><\/span><\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">Database:\u00a0 \/opt\/fb30-alpha\/examples\/empbuild\/employee.fdb, User: SYSDBA<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt; <\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt; <span style=\"color: #ff0000;\"><strong>show tables;<\/strong><\/span><\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 <strong>ACC_TEST<\/strong>\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 COUNTRY\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 CUSTOMER\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 DEPARTMENT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 EMPLOYEE\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 EMPLOYEE_PROJECT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 JOB\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 PROJECT\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 PROJ_DEPT_BUDGET\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 SALARY_HISTORY\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 SALES\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt; <span style=\"color: #ff0000;\"><strong>select * from acc_test;<\/strong><\/span><\/span><\/p>\n<p><span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0 NOO ACCNO\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">======= ========================= <\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0\u00a0 1 4255-8613-9716-5076\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0\u00a0 2 4531-2930-4967-2232\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0\u00a0 3 4548-7929-1826-4899\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0\u00a0 4 4691-3746-9407-0405\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0\u00a0 5 4649-1103-3295-2551\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0\u00a0 6 4997-5257-8004-9774\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0\u00a0 7 4692-4078-2653-8573\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0\u00a0 8 4044-8832-9347-1412\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0\u00a0 9 4688-8299-4664-4385\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0 10 4339-4136-0219-4499\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0 11 4016-7845-2950-8098\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0 12 4961-6591-9364-9979\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0 13 4787-0768-3223-3820\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0 14 4582-2114-8843-1397\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0 15 4549-3001-8407-0658\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0 16 4464-3676-8558-3399\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0 17 4804-1261-5366-8044\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0 18 4284-1059-8455-5702\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0 19 4127-1856-7120-0292\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">\u00a0\u00a0\u00a0\u00a0 20 4633-7926-0863-2443\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0<\/span><\/p>\n<p><span style=\"font-family: courier new,courier; font-size: 12px;\">SQL&gt; <\/span><\/p>\n<p>Done.<\/p>\n<p><strong>2) Analyzing data physical layer<\/strong><\/p>\n<p>From all examples, Firebird is most streightforward. No tablespaces, no additional container nor other complications. We are specifying database file also in connection string =<\/p>\n<p><span style=\"font-family: courier new,courier; font-size: 12px;\">root@deb73:\/opt\/fb30-alpha\/examples\/empbuild# <span style=\"color: #ff0000;\"><strong>ls -la<\/strong><\/span><\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">total 1312<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">drwxr-xr-x\u00a0 2 root\u00a0\u00a0\u00a0\u00a0 root\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 4096 Jan 27 16:14 .<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">dr-xr-xr-x 12 root\u00a0\u00a0\u00a0\u00a0 root\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 4096 Jan 27 16:14 ..<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">-rw-rw&#8212;-\u00a0 1 firebird firebird 1335296 Feb 10 11:48 employee.fdb<\/span><\/p>\n<p>With high expectations I\u00b4m running command and waiting for 0 results:<\/p>\n<p><span style=\"font-family: courier new,courier; font-size: 12px;\">root@deb73:\/opt\/fb30-alpha\/examples\/empbuild# <span style=\"color: #ff0000;\"><strong>time strings -a employee.fdb | grep &#8222;[0-9]\\{4\\}\\-[0-9]\\{4\\}\\-[0-9]\\{4\\}\\-[0-9]\\{4\\}&#8220;<\/strong><\/span><\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">4633-7926-0863-2443<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">4127-1856-7120-0292<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">4284-1059-8455-5702<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">4804-1261-5366-8044<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">4464-3676-8558-3399<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">4549-3001-8407-0658<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">4582-2114-8843-1397<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">4787-0768-3223-3820<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">4961-6591-9364-9979<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">4016-7845-2950-8098<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">4339-4136-0219-4499<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">4688-8299-4664-4385<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">4044-8832-9347-1412<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">4692-4078-2653-8573<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">4997-5257-8004-9774<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">4649-1103-3295-2551<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">4691-3746-9407-0405<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">4548-7929-1826-4899<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">4531-2930-4967-2232<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">4255-8613-9716-5076<\/span><\/p>\n<p><span style=\"font-family: courier new,courier; font-size: 12px;\">real\u00a0\u00a0 \u00a00m0.123s<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">user\u00a0\u00a0 \u00a00m0.012s<\/span><br \/>\n<span style=\"font-family: courier new,courier; font-size: 12px;\">sys\u00a0\u00a0 \u00a00m0.000s<\/span><\/p>\n<p>Sorry, Firebird, in my testing of basic security, you failed. Score for now &#8211; only MySQL (MariaDB, TokuDB) is storing in binary (or just not-plain-readable-text). On opposite side is standing Oracle, DB2, PostgreSQL and Firebird. Pathetic.<\/p>\n<p>-a-<\/p>\n","protected":false},"excerpt":{"rendered":"<p>5th part (Oracle, DB2, MySQL, PostgreSQL) of my series \u201eHow xxx stores data\u201c with an idea of insider (system administrator) who wants to be rich (selling valid credit card numbers). Firebird is excellent RDBM &#8211; nevermind it is not so &hellip; <a href=\"http:\/\/it.tuxie.eu\/?p=364\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[7,16],"tags":[],"_links":{"self":[{"href":"http:\/\/it.tuxie.eu\/index.php?rest_route=\/wp\/v2\/posts\/364"}],"collection":[{"href":"http:\/\/it.tuxie.eu\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/it.tuxie.eu\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/it.tuxie.eu\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/it.tuxie.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=364"}],"version-history":[{"count":0,"href":"http:\/\/it.tuxie.eu\/index.php?rest_route=\/wp\/v2\/posts\/364\/revisions"}],"wp:attachment":[{"href":"http:\/\/it.tuxie.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=364"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/it.tuxie.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=364"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/it.tuxie.eu\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=364"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}