Hello, I'm looking on FB 3.0 and doing some thinking comparing with FB 2.5.
In 2.5 there is an index on RDB$USERS.RDB$USER_NAME and that field is defined as VARCHAR. In 3.0 there is no index on SEC$USERS.SEC$USER_NAME and it is defined as CHAR. Looking further in 3.0, PLG$SRP.PLG$USER_NAME and PLG$USERS.PLG$USER_NAME both has indexes and are defined as VARCHAR. RDB$AUTH_MAPPING.RDB$MAP_NAME also has an index but is defined as CHAR. I'm curious about why there is no index on SEC$USERS.SEC$USER_NAME (*) and about the reason as to why there is a difference between the usage of VARCHAR and CHAR on tables that seems related. And if there would have been an index, would a UNIQUE INDEX on SEC$USERS (SEC$USER_NAME, SEC$PLUGIN) been correct? If these kinds of question don't belong here then I apologize, else it would be most appreciated if anyone with some insight and time over care to enlighten me. (*) I first thought that it had to do with SEC$USERS being a virtual table materialized on execution for that transaction. Then I read a little in UserManagement.h about getting users list for SEC$USERS from security database for deferred work, and although I realize that "security database" here can be any database I got uncertain. So being a Delphi guy only I probably miss the point but I have to ask probably stupid question with obvious answers. Regards, Magnus Johansson ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel