Implementation also includes changes in GPRE, but this utility is not complete - only commands, used in ISQL,
are working in code generator for new API.
New interface IUtl is added - it performs tasks, related with database objects (attachment, transaction, etc.),
but not requiring routing in YValve, i.e. client only tasks.
Added virtual table sec$user_attributes with parsed user's attributes
Implemented CORE-2004: Ability to alter user inactive/active
Implemented CORE-2063: Added CREATE OR ALTER USER operator
Implemented CORE-3931: Ability to set comment for the user
That packet may contain database name, command line for service and/or some other important and critical information.
To avoid such attack wire encryption is started before attaching database or service manager, right after connect.
Also should fix a number of issues found in Alpha1 regarding services attach.
This struct lost its main value (group various blr-related properties in a single parameter).
And since openCursor/fetch already split the message/buffer, it does not make sense anymore to have it.
1. Never allocate empty statement - always use att->prepare() to create statement interface
2. Separated IStatement into 2 parts - statement itself and resultset.
3. Added stmt->openCursor() (and att->openCursor() for unprepared statements) to create IResultSet.
4. Always use IMessageMetadata (former IParametersMetadata) to pass message fromat info from client,
therefore avoiding need in BLR generation in client applications.
Also some cleanups, the most important are:
- meaningful ctor on Jrd::Lock, helping to avoid code dup
- avoid unneeded h-file dependencies, making boot build engine dependent