mapping rules destroyed by backup / restore
-------------------------------------------

                 Key: CORE-6265
                 URL: http://tracker.firebirdsql.org/browse/CORE-6265
             Project: Firebird Core
          Issue Type: Bug
    Affects Versions: 3.0.5
         Environment: Windows 10 64-bit
            Reporter: Foodstuffs INCA team


Expected behaviour:  non-global mapping rules added with create mapping should 
be preserved by backup and restore with gbak.


Actual behaviour: after one backup / restore cycle, the mapping is still 
present, but after a second backup / restore it is gone.


Steps to reproduce:

1. Create database with mapping

PS C:\Users\PGMRSD1> c:\apps\firebird\isql.exe
Use CONNECT or CREATE DATABASE to specify a database
SQL> create database "c:\temp\mapping-backup-restore\FOO.FDB";
SQL> create role foo;
SQL> create mapping sjd_foo using plugin win_sspi from user "foodstuff\pgmrsd1" 
to role foo;
SQL> show mapping;
SJD_FOO USING PLUGIN WIN_SSPI FROM USER foodstuff\pgmrsd1 TO ROLE FOO
*** Global mapping ***
TRUSTED_AUTH USING PLUGIN WIN_SSPI FROM ANY USER TO USER
SQL> exit;


2. Back up database - verbose output shows mapping saved

PS C:\Users\PGMRSD1> c:\apps\firebird\gbak.exe -v -stat tdrw -b 
C:\temp\mapping-backup-restore\FOO.FDB 
C:\temp\mapping-backup-restore\FOO.FDB.bak
gbak: time     delta  reads  writes
gbak:    0.104  0.104     40      0 readied database 
C:\temp\mapping-backup-restore\FOO.FDB for backup
gbak:    0.107  0.002      0      0 creating file 
C:\temp\mapping-backup-restore\FOO.FDB.bak
gbak:    0.112  0.004      0      0 starting transaction
gbak:    0.115  0.003     21      1 database 
C:\temp\mapping-backup-restore\FOO.FDB has a page size of 8192 bytes.
gbak:    0.118  0.003      0      0 writing domains
...
gbak:    0.148  0.002      2      0 writing table constraints
gbak:    0.150  0.002      0      0 writing referential constraints
gbak:    0.152  0.002      1      0 writing check constraints
gbak:    0.154  0.001      0      0 writing SQL roles
gbak:    0.155  0.001      0      0     writing SQL role: FOO
gbak:    0.157  0.002      0      0 writing names mapping
gbak:    0.159  0.001      3      0     writing map for SJD_FOO
gbak:    0.199  0.002    104      1 total statistics


3. Restore database - verbose output shows mapping preserved

PS C:\Users\PGMRSD1> c:\apps\firebird\gbak.exe -v -stat tdrw -c 
C:\temp\mapping-backup-restore\FOO.FDB.bak 
C:\temp\mapping-backup-restore\BAR.FDB
gbak: time     delta  reads  writes
gbak:    0.004  0.004      0      0 opened file 
C:\temp\mapping-backup-restore\FOO.FDB.bak
gbak:    0.219  0.214      0      0 transportable backup -- data in XDR format
gbak:    0.222  0.002      0      0             backup file is compressed
gbak:    0.224  0.001      0      0 backup version is 10
gbak:    0.362  0.137      0    666 created database 
C:\temp\mapping-backup-restore\BAR.FDB, page_size 8192 bytes
gbak:    0.365  0.003      0      2 started transaction
gbak:    0.366  0.001      0      0     restoring SQL role: FOO
gbak:    0.368  0.001      0      0 restoring names mapping
gbak:    0.370  0.002      0      0     restoring map for SJD_FOO
gbak:    0.375  0.004      0     13 creating indexes
...
gbak:    0.418  0.006      0      3 finishing, closing, and going home
gbak:    0.421  0.002      0    728 total statistics
gbak:adjusting the ONLINE and FORCED WRITES flags


4. Confirm mapping present in restored database

PS C:\Users\PGMRSD1> c:\apps\firebird\isql.exe 
C:\temp\mapping-backup-restore\BAR.FDB
Database: C:\temp\mapping-backup-restore\BAR.FDB, User: PGMRSD1
SQL> show users;
Users in the database
  1 #PGMRSD1
SQL> show roles;
       FOO
SQL> show mapping;
SJD_FOO USING PLUGIN WIN_SSPI FROM USER foodstuff\pgmrsd1 TO ROLE FOO
*** Global mapping ***
TRUSTED_AUTH USING PLUGIN WIN_SSPI FROM ANY USER TO USER
SQL> exit;


5. Back up database - verbose output does not show mapping

PS C:\Users\PGMRSD1> c:\apps\firebird\gbak.exe -v -stat tdrw -b 
C:\temp\mapping-backup-restore\BAR.FDB 
C:\temp\mapping-backup-restore\BAR.FDB.bak
gbak: time     delta  reads  writes
gbak:    0.124  0.124     40      0 readied database 
C:\temp\mapping-backup-restore\BAR.FDB for backup
gbak:    0.126  0.002      0      0 creating file 
C:\temp\mapping-backup-restore\BAR.FDB.bak
gbak:    0.130  0.003      0      0 starting transaction
gbak:    0.133  0.003     21      1 database 
C:\temp\mapping-backup-restore\BAR.FDB has a page size of 8192 bytes.
gbak:    0.135  0.002      0      0 writing domains
...
gbak:    0.168  0.003      2      0 writing table constraints
gbak:    0.170  0.002      0      0 writing referential constraints
gbak:    0.172  0.001      1      0 writing check constraints
gbak:    0.174  0.001      0      0 writing SQL roles
gbak:    0.175  0.001      0      0     writing SQL role: FOO
gbak:    0.177  0.002      0      0 writing names mapping
gbak:    0.218  0.041      3      0 closing file, committing, and finishing. 
512 bytes written
gbak:    0.221  0.002    104      1 total statistics


6. Restore database - verbose output does not show mapping

PS C:\Users\PGMRSD1> c:\apps\firebird\gbak.exe -v -stat tdrw -c 
C:\temp\mapping-backup-restore\BAR.FDB.bak 
C:\temp\mapping-backup-restore\BAZ.FDB
gbak: time     delta  reads  writes
gbak:    0.005  0.005      0      0 opened file 
C:\temp\mapping-backup-restore\BAR.FDB.bak
gbak:    0.072  0.067      0      0 transportable backup -- data in XDR format
gbak:    0.074  0.001      0      0             backup file is compressed
gbak:    0.076  0.001      0      0 backup version is 10
gbak:    0.196  0.120      0    666 created database 
C:\temp\mapping-backup-restore\BAZ.FDB, page_size 8192 bytes
gbak:    0.200  0.003      0      2 started transaction
gbak:    0.202  0.002      0      0     restoring SQL role: FOO
gbak:    0.208  0.005      0      9 creating indexes
...
gbak:    0.247  0.005      0      3 finishing, closing, and going home
gbak:    0.249  0.001      0    724 total statistics
gbak:adjusting the ONLINE and FORCED WRITES flags


7. Confirm mapping not present in restored database

PS C:\Users\PGMRSD1> c:\apps\firebird\isql.exe 
C:\temp\mapping-backup-restore\BAZ.FDB
Database: C:\temp\mapping-backup-restore\BAZ.FDB, User: PGMRSD1
SQL> show users;
Users in the database
  1 #PGMRSD1
SQL> show roles;
       FOO
SQL> show mapping;
*** Global mapping ***
TRUSTED_AUTH USING PLUGIN WIN_SSPI FROM ANY USER TO USER
SQL> exit;



-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://tracker.firebirdsql.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to