This sounds like a bug to me. Can you create bug report in the tracker 
at http://tracker.firebirdsql.org/browse/CORE

Mark

On 09-03-2020 03:50, FSPAPA INCA Team i...@foodstuffs-si.co.nz 
[firebird-support] wrote:
> 
> 
> Hi – I have another question re user mapping…
> 
> If I create a new database with a user->role mapping, I can back up and 
> restore it and the mapping is still present.
> 
> But if I back up the new copy and restore that, the mapping is gone… is 
> there an issue with the procedure I'm using or is this a bug?
> 
> (for context, we have Firebird databases here that have inherited a 
> regular backup/restore cycle from when we were using InterBase 5 or 6… 
> apparently they had a tendency to slow down if not refreshed this way, 
> but that is from before my time!)
> 
> Here's a demonstration using Firebird 3.0.5:
> 
> _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 role foo;
> 
> SQL> create mapping sjd_foo using plugin win_sspi from user 
> "foodstuff\pgmrsd1" to role foo;
> 
> SQL> exit;
> 
> _2. Check mapping___
> 
> PS C:\Users\PGMRSD1> c:\apps\firebird\isql.exe 
> C:\temp\mapping-backup-restore\FOO.FDB
> 
> Database: C:\temp\mapping-backup-restore\FOO.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;
> 
> _3. 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.122  0.003      6      0 writing shadow files
> 
> gbak:    0.123  0.001      0      0 writing character sets
> 
> gbak:    0.125  0.001      0      0 writing collations
> 
> gbak:    0.127  0.001      1      0 writing tables
> 
> gbak:    0.128  0.001      0      0 writing types
> 
> gbak:    0.131  0.002      5      0 writing filters
> 
> gbak:    0.132  0.001      2      0 writing id generators
> 
> gbak:    0.134  0.001      3      0 writing exceptions
> 
> gbak:    0.135  0.001      2      0 writing functions
> 
> gbak:    0.137  0.001      2      0 writing stored procedures
> 
> gbak:    0.139  0.002      2      0 writing packages
> 
> gbak:    0.141  0.001      2      0 writing triggers
> 
> gbak:    0.143  0.002      0      0 writing trigger messages
> 
> gbak:    0.145  0.002     12      0 writing security classes
> 
> 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
> 
> _4. 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.402  0.027      0     34 committing metadata
> 
> gbak:    0.404  0.002      0     10 fixing views dbkey length
> 
> gbak:    0.407  0.002      0      0 updating ownership of packages, 
> procedures and tables
> 
> gbak:    0.409  0.002      0      0 adding missing privileges
> 
> gbak:    0.411  0.002      0      0 adjusting system generators
> 
> 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
> 
> _5. 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;
> 
> _6. 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.137  0.002      6      0 writing shadow files
> 
> gbak:    0.141  0.003      0      0 writing character sets
> 
> gbak:    0.143  0.002      0      0 writing collations
> 
> gbak:    0.145  0.002      1      0 writing tables
> 
> gbak:    0.147  0.001      0      0 writing types
> 
> gbak:    0.150  0.002      5      0 writing filters
> 
> gbak:    0.152  0.001      2      0 writing id generators
> 
> gbak:    0.153  0.001      3      0 writing exceptions
> 
> gbak:    0.155  0.001      2      0 writing functions
> 
> gbak:    0.156  0.001      2      0 writing stored procedures
> 
> gbak:    0.159  0.002      2      0 writing packages
> 
> gbak:    0.160  0.001      2      0 writing triggers
> 
> gbak:    0.162  0.001      0      0 writing trigger messages
> 
> gbak:    0.165  0.002     12      0 writing security classes
> 
> 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
> 
> _7. 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.234  0.026      0     34 committing metadata
> 
> gbak:    0.237  0.002      0     10 fixing views dbkey length
> 
> gbak:    0.238  0.001      0      0 updating ownership of packages, 
> procedures and tables
> 
> gbak:    0.240  0.001      0      0 adding missing privileges
> 
> gbak:    0.242  0.001      0      0 adjusting system generators
> 
> 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
> 
> _8. 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;



-- 
Mark Rotteveel
  • [firebird-sup... FSPAPA INCA Team i...@foodstuffs-si.co.nz [firebird-support]
    • Re: [fir... Mark Rotteveel m...@lawinegevaar.nl [firebird-support]

Reply via email to