ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/examples/DBAdmin/DataModule.lfm
Revision: 274
Committed: Mon Feb 4 13:39:00 2019 UTC (5 years, 2 months ago) by tony
File size: 44255 byte(s)
Log Message:
Fixes merged

File Contents

# Content
1 object DBDataModule: TDBDataModule
2 OldCreateOrder = False
3 Height = 552
4 HorizontalOffset = 767
5 VerticalOffset = 395
6 Width = 730
7 object IBDatabase1: TIBDatabase
8 Connected = True
9 AfterConnect = IBDatabase1AfterConnect
10 AfterDisconnect = IBDatabase1AfterDisconnect
11 BeforeDisconnect = IBDatabase1BeforeDisconnect
12 OnLogin = IBDatabase1Login
13 CreateIfNotExists = False
14 AllowStreamedConnected = False
15 DatabaseName = 'employee'
16 Params.Strings = (
17 'lc_ctype=UTF8'
18 'user_name=SYSDBA'
19 'sql_role_name=RDB$ADMIN'
20 )
21 DefaultTransaction = CurrentTransaction
22 IdleTimer = 0
23 TraceFlags = []
24 UseDefaultSystemCodePage = False
25 left = 40
26 top = 24
27 end
28 object CurrentTransaction: TIBTransaction
29 Active = False
30 DefaultDatabase = IBDatabase1
31 Params.Strings = (
32 'read_committed'
33 'rec_version'
34 'nowait'
35 )
36 AfterTransactionEnd = CurrentTransactionAfterTransactionEnd
37 left = 168
38 top = 24
39 end
40 object ExecDDL: TIBSQL
41 Database = IBDatabase1
42 CaseSensitiveParameterNames = False
43 GenerateParamNames = False
44 UniqueParamNames = False
45 ParamCheck = True
46 SQL.Strings = (
47 ''
48 )
49 Transaction = CurrentTransaction
50 left = 152
51 top = 208
52 end
53 object DatabaseQuery: TIBQuery
54 AllowAutoActivateTransaction = False
55 Database = IBDatabase1
56 Transaction = CurrentTransaction
57 AfterOpen = DatabaseQueryAfterOpen
58 BeforeClose = DatabaseQueryBeforeClose
59 BufferChunks = 1000
60 CachedUpdates = False
61 CaseSensitiveParameterNames = False
62 EnableStatistics = False
63 GenerateParamNames = False
64 GeneratorField.ApplyOnEvent = gaeOnNewRecord
65 MasterDetailDelay = 0
66 SQL.Strings = (
67 'SELECT * FROM RDB$DATABASE, MON$DATABASE'
68 )
69 Params = <>
70 DataSetCloseAction = dcSaveChanges
71 left = 288
72 top = 24
73 end
74 object DBCharSet: TIBQuery
75 AllowAutoActivateTransaction = False
76 Database = IBDatabase1
77 Transaction = CurrentTransaction
78 AfterClose = DBCharSetAfterClose
79 BeforeOpen = DBCharSetBeforeOpen
80 AutoCommit = acCommitRetaining
81 BufferChunks = 1000
82 CachedUpdates = False
83 CaseSensitiveParameterNames = False
84 EnableStatistics = False
85 GenerateParamNames = False
86 GeneratorField.ApplyOnEvent = gaeOnNewRecord
87 MasterDetailDelay = 0
88 SQL.Strings = (
89 'Select Trim(A.RDB$CHARACTER_SET_NAME) as RDB$CHARACTER_SET_NAME'
90 ' From RDB$DATABASE A'
91 )
92 Params = <>
93 UpdateObject = UpdateCharSet
94 DataSetCloseAction = dcSaveChanges
95 left = 424
96 top = 32
97 end
98 object ShadowFiles: TIBQuery
99 AllowAutoActivateTransaction = False
100 Database = IBDatabase1
101 Transaction = CurrentTransaction
102 OnCalcFields = ShadowFilesCalcFields
103 BufferChunks = 1000
104 CachedUpdates = False
105 CaseSensitiveParameterNames = False
106 EnableStatistics = False
107 GenerateParamNames = False
108 GeneratorField.ApplyOnEvent = gaeOnNewRecord
109 MasterDetailDelay = 0
110 SQL.Strings = (
111 'Select * From RDB$Files Where RDB$Shadow_Number <> 0 '
112 'Order by RDB$Shadow_Number, RDB$FILE_SEQUENCE'
113 )
114 Params = <>
115 DataSetCloseAction = dcDiscardChanges
116 left = 32
117 top = 208
118 object ShadowFilesRDBFILE_NAME: TIBStringField
119 FieldKind = fkData
120 FieldName = 'RDB$FILE_NAME'
121 Index = 0
122 LookupCache = False
123 ProviderFlags = [pfInUpdate, pfInWhere]
124 ReadOnly = False
125 Required = False
126 Size = 253
127 end
128 object ShadowFilesRDBFILE_SEQUENCE: TSmallintField
129 FieldKind = fkData
130 FieldName = 'RDB$FILE_SEQUENCE'
131 Index = 1
132 LookupCache = False
133 Origin = 'RDB$FILES.RDB$FILE_SEQUENCE'
134 ProviderFlags = [pfInUpdate, pfInWhere]
135 ReadOnly = False
136 Required = False
137 end
138 object ShadowFilesRDBFILE_START: TIntegerField
139 FieldKind = fkData
140 FieldName = 'RDB$FILE_START'
141 Index = 2
142 LookupCache = False
143 Origin = 'RDB$FILES.RDB$FILE_START'
144 ProviderFlags = [pfInUpdate, pfInWhere]
145 ReadOnly = False
146 Required = False
147 end
148 object ShadowFilesRDBFILE_LENGTH: TIntegerField
149 FieldKind = fkData
150 FieldName = 'RDB$FILE_LENGTH'
151 Index = 3
152 LookupCache = False
153 Origin = 'RDB$FILES.RDB$FILE_LENGTH'
154 ProviderFlags = [pfInUpdate, pfInWhere]
155 ReadOnly = False
156 Required = False
157 end
158 object ShadowFilesRDBFILE_FLAGS: TSmallintField
159 FieldKind = fkData
160 FieldName = 'RDB$FILE_FLAGS'
161 Index = 4
162 LookupCache = False
163 Origin = 'RDB$FILES.RDB$FILE_FLAGS'
164 ProviderFlags = [pfInUpdate, pfInWhere]
165 ReadOnly = False
166 Required = False
167 end
168 object ShadowFilesRDBSHADOW_NUMBER: TSmallintField
169 FieldKind = fkData
170 FieldName = 'RDB$SHADOW_NUMBER'
171 Index = 5
172 LookupCache = False
173 Origin = 'RDB$FILES.RDB$SHADOW_NUMBER'
174 ProviderFlags = [pfInUpdate, pfInWhere]
175 ReadOnly = False
176 Required = False
177 end
178 object ShadowFilesFileMode: TStringField
179 FieldKind = fkCalculated
180 FieldName = 'FileMode'
181 Index = 6
182 LookupCache = False
183 ProviderFlags = [pfInUpdate, pfInWhere]
184 ReadOnly = False
185 Required = False
186 end
187 end
188 object SecGlobalAuth: TIBQuery
189 AllowAutoActivateTransaction = False
190 Database = IBDatabase1
191 Transaction = CurrentTransaction
192 BufferChunks = 1000
193 CachedUpdates = False
194 CaseSensitiveParameterNames = False
195 EnableStatistics = False
196 GenerateParamNames = False
197 GeneratorField.ApplyOnEvent = gaeOnNewRecord
198 MasterDetailDelay = 0
199 SQL.Strings = (
200 'Select count(*) as Mappings'
201 'From SEC$GLOBAL_AUTH_MAPPING A'
202 'Where SEC$MAP_NAME = ''AutoAdminImplementationMapping'''
203 )
204 Params = <>
205 DataSetCloseAction = dcDiscardChanges
206 left = 288
207 top = 112
208 end
209 object CharSetLookup: TIBQuery
210 AllowAutoActivateTransaction = False
211 Database = IBDatabase1
212 Transaction = CurrentTransaction
213 BufferChunks = 1000
214 CachedUpdates = False
215 CaseSensitiveParameterNames = False
216 EnableStatistics = False
217 GenerateParamNames = False
218 GeneratorField.ApplyOnEvent = gaeOnNewRecord
219 MasterDetailDelay = 0
220 SQL.Strings = (
221 'Select trim(A.RDB$CHARACTER_SET_NAME) as RDB$CHARACTER_SET_NAME'
222 ' From'
223 'RDB$CHARACTER_SETS A order by 1'
224 ''
225 )
226 Params = <>
227 DataSetCloseAction = dcDiscardChanges
228 left = 160
229 top = 104
230 end
231 object DBSecFiles: TIBQuery
232 AllowAutoActivateTransaction = False
233 Database = IBDatabase1
234 Transaction = CurrentTransaction
235 BufferChunks = 1000
236 CachedUpdates = False
237 CaseSensitiveParameterNames = False
238 EnableStatistics = False
239 GenerateParamNames = False
240 GeneratorField.ApplyOnEvent = gaeOnNewRecord
241 MasterDetailDelay = 0
242 SQL.Strings = (
243 'Select * From RDB$Files Where RDB$Shadow_Number is null or RDB$Shadow_Number = 0 '
244 'Order by RDB$FILE_SEQUENCE'
245 )
246 Params = <>
247 DataSetCloseAction = dcDiscardChanges
248 left = 32
249 top = 104
250 end
251 object UpdateCharSet: TIBUpdate
252 RefreshSQL.Strings = (
253 'Select Trim(A.RDB$CHARACTER_SET_NAME) as RDB$CHARACTER_SET_NAME'
254 ' From RDB$DATABASE A'
255 )
256 OnApplyUpdates = UpdateCharSetApplyUpdates
257 left = 424
258 top = 104
259 end
260 object IBDatabaseInfo: TIBDatabaseInfo
261 Database = IBDatabase1
262 left = 280
263 top = 200
264 end
265 object AttmtQuery: TIBQuery
266 AllowAutoActivateTransaction = False
267 Database = IBDatabase1
268 Transaction = CurrentTransaction
269 BufferChunks = 1000
270 CachedUpdates = False
271 CaseSensitiveParameterNames = False
272 EnableStatistics = False
273 GenerateParamNames = False
274 GeneratorField.ApplyOnEvent = gaeOnNewRecord
275 MasterDetailDelay = 0
276 SQL.Strings = (
277 'Select * from MON$ATTACHMENTS'
278 'Where MON$ATTACHMENT_ID = CURRENT_CONNECTION'
279 )
280 Params = <>
281 DataSetCloseAction = dcDiscardChanges
282 left = 544
283 top = 112
284 end
285 object TableNameLookup: TIBQuery
286 AllowAutoActivateTransaction = False
287 Database = IBDatabase1
288 Transaction = CurrentTransaction
289 BufferChunks = 1000
290 CachedUpdates = False
291 CaseSensitiveParameterNames = False
292 EnableStatistics = False
293 GenerateParamNames = False
294 GeneratorField.ApplyOnEvent = gaeOnNewRecord
295 MasterDetailDelay = 0
296 SQL.Strings = (
297 'SELECT r.RDB$RELATION_ID,'
298 ' trim(r.RDB$RELATION_NAME) as RDB$RELATION_NAME'
299 'FROM RDB$RELATIONS r'
300 )
301 Params = <>
302 DataSetCloseAction = dcDiscardChanges
303 left = 288
304 top = 283
305 end
306 object UserList: TIBQuery
307 AllowAutoActivateTransaction = False
308 Database = IBDatabase1
309 Transaction = CurrentTransaction
310 AfterInsert = UserListAfterInsert
311 AfterOpen = UserListAfterOpen
312 AfterPost = UserListAfterPost
313 AfterScroll = UserListAfterScroll
314 BeforeClose = UserListBeforeClose
315 BufferChunks = 1000
316 CachedUpdates = False
317 CaseSensitiveParameterNames = False
318 EnableStatistics = False
319 GenerateParamNames = False
320 GeneratorField.ApplyOnEvent = gaeOnNewRecord
321 MasterDetailDelay = 0
322 SQL.Strings = (
323 'Select A.SEC$DESCRIPTION, A.SEC$PLUGIN, A.SEC$ADMIN,'
324 'A.SEC$ACTIVE, Trim(A.SEC$USER_NAME) as SEC$USER_NAME, A.SEC$MIDDLE_NAME,'
325 'A.SEC$FIRST_NAME, A.SEC$LAST_NAME,'
326 'cast(NULL as VarChar(32)) as SEC$PASSWORD, CURRENT_CONNECTION,'
327 'case when Count(B.MON$ATTACHMENT_ID) > 0 then true else false end as LoggedIn,'
328 'case When C.SEC$USER is not null then true else false end as DBCreator'
329 'From SEC$USERS A'
330 'Left Outer Join MON$ATTACHMENTS B'
331 'On A.SEC$USER_NAME = B.MON$USER'
332 'Left Outer Join SEC$DB_CREATORS C on C.SEC$USER = A.SEC$USER_NAME'
333 'Group By A.SEC$DESCRIPTION, A.SEC$PLUGIN, A.SEC$ADMIN,'
334 'A.SEC$ACTIVE, A.SEC$USER_NAME, A.SEC$MIDDLE_NAME,'
335 'A.SEC$FIRST_NAME, A.SEC$LAST_NAME, C.SEC$USER'
336 )
337 Params = <>
338 UpdateObject = UpdateUsers
339 DataSetCloseAction = dcSaveChanges
340 left = 416
341 top = 352
342 object UserListSECPLUGIN: TIBStringField
343 FieldKind = fkData
344 FieldName = 'SEC$PLUGIN'
345 Index = 0
346 LookupCache = False
347 ProviderFlags = [pfInUpdate, pfInWhere]
348 ReadOnly = True
349 Required = False
350 Size = 31
351 end
352 object UserListSECADMIN: TBooleanField
353 FieldKind = fkData
354 FieldName = 'SEC$ADMIN'
355 Index = 1
356 LookupCache = False
357 ProviderFlags = [pfInUpdate, pfInWhere]
358 ReadOnly = False
359 Required = False
360 DisplayValues = 'True;False'
361 end
362 object UserListSECACTIVE: TBooleanField
363 FieldKind = fkData
364 FieldName = 'SEC$ACTIVE'
365 Index = 2
366 LookupCache = False
367 ProviderFlags = [pfInUpdate, pfInWhere]
368 ReadOnly = False
369 Required = False
370 DisplayValues = 'True;False'
371 end
372 object UserListSECMIDDLE_NAME: TIBStringField
373 FieldKind = fkData
374 FieldName = 'SEC$MIDDLE_NAME'
375 Index = 3
376 LookupCache = False
377 ProviderFlags = [pfInUpdate, pfInWhere]
378 ReadOnly = False
379 Required = False
380 Size = 32
381 end
382 object UserListSECFIRST_NAME: TIBStringField
383 FieldKind = fkData
384 FieldName = 'SEC$FIRST_NAME'
385 Index = 4
386 LookupCache = False
387 ProviderFlags = [pfInUpdate, pfInWhere]
388 ReadOnly = False
389 Required = False
390 Size = 32
391 end
392 object UserListSECLAST_NAME: TIBStringField
393 FieldKind = fkData
394 FieldName = 'SEC$LAST_NAME'
395 Index = 5
396 LookupCache = False
397 ProviderFlags = [pfInUpdate, pfInWhere]
398 ReadOnly = False
399 Required = False
400 Size = 32
401 end
402 object UserListLOGGEDIN: TBooleanField
403 FieldKind = fkData
404 FieldName = 'LOGGEDIN'
405 Index = 6
406 LookupCache = False
407 ProviderFlags = [pfInUpdate, pfInWhere]
408 ReadOnly = False
409 Required = True
410 DisplayValues = 'True;False'
411 end
412 object UserListCURRENT_CONNECTION: TIBLargeIntField
413 FieldKind = fkData
414 FieldName = 'CURRENT_CONNECTION'
415 Index = 7
416 LookupCache = False
417 ProviderFlags = [pfInUpdate, pfInWhere]
418 ReadOnly = False
419 Required = True
420 end
421 object UserListDBCREATOR: TBooleanField
422 FieldKind = fkData
423 FieldName = 'DBCREATOR'
424 Index = 8
425 LookupCache = False
426 ProviderFlags = [pfInUpdate, pfInWhere]
427 ReadOnly = False
428 Required = True
429 DisplayValues = 'True;False'
430 end
431 object UserListUSERID: TLongintField
432 FieldKind = fkCalculated
433 FieldName = 'USERID'
434 Index = 9
435 LookupCache = False
436 ProviderFlags = [pfInUpdate, pfInWhere]
437 ReadOnly = False
438 Required = False
439 end
440 object UserListGROUPID: TLongintField
441 FieldKind = fkCalculated
442 FieldName = 'GROUPID'
443 Index = 10
444 LookupCache = False
445 ProviderFlags = [pfInUpdate, pfInWhere]
446 ReadOnly = False
447 Required = False
448 end
449 object UserListSECPASSWORD: TIBStringField
450 FieldKind = fkData
451 FieldName = 'SEC$PASSWORD'
452 Index = 11
453 LookupCache = False
454 ProviderFlags = [pfInUpdate, pfInWhere]
455 ReadOnly = False
456 Required = False
457 Size = 32
458 end
459 object UserListSECUSER_NAME: TIBStringField
460 FieldKind = fkData
461 FieldName = 'SEC$USER_NAME'
462 Index = 12
463 LookupCache = False
464 ProviderFlags = [pfInUpdate, pfInWhere]
465 ReadOnly = False
466 Required = False
467 Size = 31
468 end
469 end
470 object UpdateUsers: TIBUpdate
471 RefreshSQL.Strings = (
472 'Select A.SEC$DESCRIPTION, A.SEC$PLUGIN, A.SEC$ADMIN,'
473 'A.SEC$ACTIVE, A.SEC$USER_NAME, A.SEC$MIDDLE_NAME,'
474 'A.SEC$FIRST_NAME, A.SEC$LAST_NAME,'
475 'cast(NULL as VarChar(32)) as SEC$PASSWORD, CURRENT_CONNECTION,'
476 'case when B.MON$ATTACHMENT_ID is not null then true else false end as LoggedIn,'
477 'case When C.SEC$USER is not null then true else false end as DBCreator'
478 'From SEC$USERS A'
479 'Left Outer Join MON$ATTACHMENTS B'
480 'On A.SEC$USER_NAME = B.MON$USER'
481 'Left Outer Join SEC$DB_CREATORS C on C.SEC$USER = A.SEC$USER_NAME'
482 'Where A.SEC$USER_NAME = :SEC$USER_NAME'
483 )
484 OnApplyUpdates = UpdateUsersApplyUpdates
485 left = 544
486 top = 360
487 end
488 object RoleNameList: TIBQuery
489 AllowAutoActivateTransaction = False
490 Database = IBDatabase1
491 Transaction = CurrentTransaction
492 AutoCommit = acCommitRetaining
493 BufferChunks = 1000
494 CachedUpdates = False
495 CaseSensitiveParameterNames = False
496 DataSource = UserListSource
497 EnableStatistics = False
498 GenerateParamNames = False
499 GeneratorField.ApplyOnEvent = gaeOnNewRecord
500 MasterDetailDelay = 0
501 SQL.Strings = (
502 'SELECT r.RDB$ROLE_NAME, r.RDB$OWNER_NAME, r.RDB$DESCRIPTION, r.RDB$SYSTEM_FLAG, '
503 'P.RDB$USER,RDB$PRIVILEGE, cast(:SEC$USER_NAME as VARCHAR(32)) as SEC$USER_NAME,'
504 'Case When RDB$PRIVILEGE is null then 0 else 1 End as GRANTED'
505 'FROM RDB$ROLES r'
506 'Left Outer JOIN ('
507 'Select RDB$RELATION_NAME, RDB$PRIVILEGE, RDB$USER From RDB$USER_PRIVILEGES '
508 'Where RDB$USER = :SEC$USER_NAME and RDB$PRIVILEGE = ''M'''
509 ') P On P.RDB$RELATION_NAME = r.RDB$ROLE_NAME '
510 ''
511 )
512 Params = <
513 item
514 DataType = ftUnknown
515 Name = 'SEC$USER_NAME'
516 ParamType = ptInput
517 end>
518 UpdateObject = UpdateUserRoles
519 DataSetCloseAction = dcSaveChanges
520 left = 424
521 top = 280
522 ParamData = <
523 item
524 DataType = ftUnknown
525 Name = 'SEC$USER_NAME'
526 ParamType = ptInput
527 end>
528 end
529 object UpdateUserRoles: TIBUpdate
530 RefreshSQL.Strings = (
531 'SELECT r.RDB$ROLE_NAME, r.RDB$OWNER_NAME, r.RDB$DESCRIPTION, r.RDB$SYSTEM_FLAG,'
532 'P.RDB$USER,RDB$PRIVILEGE, cast(:SEC$USER_NAME as VARCHAR(32)) as SEC$USER_NAME,'
533 'Case When RDB$PRIVILEGE is null then 0 else 1 End as GRANTED'
534 'FROM RDB$ROLES r'
535 'Left Outer JOIN ('
536 'Select RDB$RELATION_NAME, RDB$PRIVILEGE, RDB$USER From RDB$USER_PRIVILEGES'
537 'Where RDB$USER = :SEC$USER_NAME and RDB$PRIVILEGE = ''M'''
538 ') P On P.RDB$RELATION_NAME = r.RDB$ROLE_NAME'
539 'Where r.RDB$ROLE_NAME = :RDB$ROLE_NAME'
540 )
541 OnApplyUpdates = UpdateUserRolesApplyUpdates
542 left = 544
543 top = 288
544 end
545 object ApplicationProperties1: TApplicationProperties
546 OnException = ApplicationProperties1Exception
547 left = 528
548 top = 32
549 end
550 object UserTags: TIBQuery
551 AllowAutoActivateTransaction = False
552 Database = IBDatabase1
553 Transaction = CurrentTransaction
554 AfterInsert = UserTagsAfterInsert
555 BufferChunks = 1000
556 CachedUpdates = False
557 CaseSensitiveParameterNames = False
558 DataSource = UserListSource
559 EnableStatistics = False
560 GenerateParamNames = False
561 GeneratorField.ApplyOnEvent = gaeOnNewRecord
562 MasterDetailDelay = 0
563 SQL.Strings = (
564 'Select a.SEC$USER_NAME, A.SEC$KEY, A.SEC$VALUE'
565 'From'
566 'SEC$USER_ATTRIBUTES A'
567 'Where SEC$USER_NAME = :SEC$USER_NAME'
568 )
569 Params = <
570 item
571 DataType = ftUnknown
572 Name = 'SEC$USER_NAME'
573 ParamType = ptInput
574 end>
575 UpdateObject = TagsUpdate
576 DataSetCloseAction = dcSaveChanges
577 left = 424
578 top = 192
579 ParamData = <
580 item
581 DataType = ftUnknown
582 Name = 'SEC$USER_NAME'
583 ParamType = ptInput
584 end>
585 end
586 object TagsUpdate: TIBUpdate
587 RefreshSQL.Strings = (
588 'Select A.SEC$USER_NAME, A.SEC$KEY, A.SEC$VALUE From '
589 'SEC$USER_ATTRIBUTES A'
590 'Where SEC$USER_NAME = :SEC$USER_NAME'
591 ' and A.SEC$KEY = :SEC$KEY'
592 )
593 OnApplyUpdates = TagsUpdateApplyUpdates
594 left = 536
595 top = 200
596 end
597 object UserListSource: TDataSource
598 DataSet = UserList
599 left = 304
600 top = 360
601 end
602 object Attachments: TIBQuery
603 AllowAutoActivateTransaction = False
604 Database = IBDatabase1
605 Transaction = CurrentTransaction
606 AfterDelete = AttachmentsAfterDelete
607 AfterOpen = AttachmentsAfterOpen
608 BeforeOpen = AttachmentsBeforeOpen
609 BufferChunks = 1000
610 CachedUpdates = False
611 CaseSensitiveParameterNames = False
612 EnableStatistics = False
613 GenerateParamNames = False
614 GeneratorField.ApplyOnEvent = gaeOnNewRecord
615 MasterDetailDelay = 0
616 SQL.Strings = (
617 'SELECT *'
618 'FROM MON$ATTACHMENTS r'
619 'JOIN RDB$CHARACTER_SETS S On S.RDB$CHARACTER_SET_ID = r.MON$CHARACTER_SET_ID'
620 ''
621 )
622 Params = <>
623 UpdateObject = AttUpdate
624 DataSetCloseAction = dcDiscardChanges
625 left = 280
626 top = 433
627 object AttachmentsMONATTACHMENT_ID: TIBLargeIntField
628 FieldKind = fkData
629 FieldName = 'MON$ATTACHMENT_ID'
630 Index = 0
631 LookupCache = False
632 ProviderFlags = [pfInUpdate, pfInWhere]
633 ReadOnly = False
634 Required = False
635 end
636 object AttachmentsMONSERVER_PID: TIBIntegerField
637 FieldKind = fkData
638 FieldName = 'MON$SERVER_PID'
639 Index = 1
640 LookupCache = False
641 ProviderFlags = [pfInUpdate, pfInWhere]
642 ReadOnly = False
643 Required = False
644 end
645 object AttachmentsMONSTATE: TIBSmallintField
646 FieldKind = fkData
647 FieldName = 'MON$STATE'
648 Index = 2
649 LookupCache = False
650 ProviderFlags = [pfInUpdate, pfInWhere]
651 ReadOnly = False
652 Required = False
653 end
654 object AttachmentsMONATTACHMENT_NAME: TIBStringField
655 FieldKind = fkData
656 FieldName = 'MON$ATTACHMENT_NAME'
657 Index = 3
658 LookupCache = False
659 ProviderFlags = [pfInUpdate, pfInWhere]
660 ReadOnly = False
661 Required = False
662 Size = 255
663 end
664 object AttachmentsMONUSER: TIBStringField
665 FieldKind = fkData
666 FieldName = 'MON$USER'
667 Index = 4
668 LookupCache = False
669 ProviderFlags = [pfInUpdate, pfInWhere]
670 ReadOnly = False
671 Required = False
672 Size = 31
673 end
674 object AttachmentsMONROLE: TIBStringField
675 FieldKind = fkData
676 FieldName = 'MON$ROLE'
677 Index = 5
678 LookupCache = False
679 ProviderFlags = [pfInUpdate, pfInWhere]
680 ReadOnly = False
681 Required = False
682 Size = 31
683 end
684 object AttachmentsMONREMOTE_PROTOCOL: TIBStringField
685 FieldKind = fkData
686 FieldName = 'MON$REMOTE_PROTOCOL'
687 Index = 6
688 LookupCache = False
689 ProviderFlags = [pfInUpdate, pfInWhere]
690 ReadOnly = False
691 Required = False
692 Size = 10
693 end
694 object AttachmentsMONREMOTE_ADDRESS: TIBStringField
695 FieldKind = fkData
696 FieldName = 'MON$REMOTE_ADDRESS'
697 Index = 7
698 LookupCache = False
699 ProviderFlags = [pfInUpdate, pfInWhere]
700 ReadOnly = False
701 Required = False
702 Size = 255
703 end
704 object AttachmentsMONREMOTE_PID: TIBIntegerField
705 FieldKind = fkData
706 FieldName = 'MON$REMOTE_PID'
707 Index = 8
708 LookupCache = False
709 ProviderFlags = [pfInUpdate, pfInWhere]
710 ReadOnly = False
711 Required = False
712 end
713 object AttachmentsMONCHARACTER_SET_ID: TIBSmallintField
714 FieldKind = fkData
715 FieldName = 'MON$CHARACTER_SET_ID'
716 Index = 9
717 LookupCache = False
718 ProviderFlags = [pfInUpdate, pfInWhere]
719 ReadOnly = False
720 Required = False
721 end
722 object AttachmentsMONTIMESTAMP: TDateTimeField
723 FieldKind = fkData
724 FieldName = 'MON$TIMESTAMP'
725 Index = 10
726 LookupCache = False
727 ProviderFlags = [pfInUpdate, pfInWhere]
728 ReadOnly = False
729 Required = False
730 end
731 object AttachmentsMONGARBAGE_COLLECTION: TIBSmallintField
732 FieldKind = fkData
733 FieldName = 'MON$GARBAGE_COLLECTION'
734 Index = 11
735 LookupCache = False
736 ProviderFlags = [pfInUpdate, pfInWhere]
737 ReadOnly = False
738 Required = False
739 end
740 object AttachmentsMONREMOTE_PROCESS: TIBStringField
741 FieldKind = fkData
742 FieldName = 'MON$REMOTE_PROCESS'
743 Index = 12
744 LookupCache = False
745 ProviderFlags = [pfInUpdate, pfInWhere]
746 ReadOnly = False
747 Required = False
748 Size = 255
749 end
750 object AttachmentsMONSTAT_ID: TIBIntegerField
751 FieldKind = fkData
752 FieldName = 'MON$STAT_ID'
753 Index = 13
754 LookupCache = False
755 ProviderFlags = [pfInUpdate, pfInWhere]
756 ReadOnly = False
757 Required = False
758 end
759 object AttachmentsMONCLIENT_VERSION: TIBStringField
760 FieldKind = fkData
761 FieldName = 'MON$CLIENT_VERSION'
762 Index = 14
763 LookupCache = False
764 ProviderFlags = [pfInUpdate, pfInWhere]
765 ReadOnly = False
766 Required = False
767 Size = 255
768 end
769 object AttachmentsMONREMOTE_VERSION: TIBStringField
770 FieldKind = fkData
771 FieldName = 'MON$REMOTE_VERSION'
772 Index = 15
773 LookupCache = False
774 ProviderFlags = [pfInUpdate, pfInWhere]
775 ReadOnly = False
776 Required = False
777 Size = 255
778 end
779 object AttachmentsMONREMOTE_HOST: TIBStringField
780 FieldKind = fkData
781 FieldName = 'MON$REMOTE_HOST'
782 Index = 16
783 LookupCache = False
784 ProviderFlags = [pfInUpdate, pfInWhere]
785 ReadOnly = False
786 Required = False
787 Size = 255
788 end
789 object AttachmentsMONREMOTE_OS_USER: TIBStringField
790 FieldKind = fkData
791 FieldName = 'MON$REMOTE_OS_USER'
792 Index = 17
793 LookupCache = False
794 ProviderFlags = [pfInUpdate, pfInWhere]
795 ReadOnly = False
796 Required = False
797 Size = 255
798 end
799 object AttachmentsMONAUTH_METHOD: TIBStringField
800 FieldKind = fkData
801 FieldName = 'MON$AUTH_METHOD'
802 Index = 18
803 LookupCache = False
804 ProviderFlags = [pfInUpdate, pfInWhere]
805 ReadOnly = False
806 Required = False
807 Size = 255
808 end
809 object AttachmentsMONSYSTEM_FLAG: TIBSmallintField
810 FieldKind = fkData
811 FieldName = 'MON$SYSTEM_FLAG'
812 Index = 19
813 LookupCache = False
814 ProviderFlags = [pfInUpdate, pfInWhere]
815 ReadOnly = False
816 Required = True
817 end
818 object AttachmentsRDBCHARACTER_SET_NAME: TIBStringField
819 FieldKind = fkData
820 FieldName = 'RDB$CHARACTER_SET_NAME'
821 Index = 20
822 LookupCache = False
823 ProviderFlags = [pfInUpdate, pfInWhere]
824 ReadOnly = False
825 Required = False
826 Size = 31
827 end
828 object AttachmentsRDBFORM_OF_USE: TIBStringField
829 FieldKind = fkData
830 FieldName = 'RDB$FORM_OF_USE'
831 Index = 21
832 LookupCache = False
833 ProviderFlags = [pfInUpdate, pfInWhere]
834 ReadOnly = False
835 Required = False
836 Size = 31
837 end
838 object AttachmentsRDBNUMBER_OF_CHARACTERS: TIBIntegerField
839 FieldKind = fkData
840 FieldName = 'RDB$NUMBER_OF_CHARACTERS'
841 Index = 22
842 LookupCache = False
843 ProviderFlags = [pfInUpdate, pfInWhere]
844 ReadOnly = False
845 Required = False
846 end
847 object AttachmentsRDBDEFAULT_COLLATE_NAME: TIBStringField
848 FieldKind = fkData
849 FieldName = 'RDB$DEFAULT_COLLATE_NAME'
850 Index = 23
851 LookupCache = False
852 ProviderFlags = [pfInUpdate, pfInWhere]
853 ReadOnly = False
854 Required = False
855 Size = 31
856 end
857 object AttachmentsRDBCHARACTER_SET_ID: TIBSmallintField
858 FieldKind = fkData
859 FieldName = 'RDB$CHARACTER_SET_ID'
860 Index = 24
861 LookupCache = False
862 ProviderFlags = [pfInUpdate, pfInWhere]
863 ReadOnly = False
864 Required = False
865 end
866 object AttachmentsRDBSYSTEM_FLAG: TIBSmallintField
867 FieldKind = fkData
868 FieldName = 'RDB$SYSTEM_FLAG'
869 Index = 25
870 LookupCache = False
871 ProviderFlags = [pfInUpdate, pfInWhere]
872 ReadOnly = False
873 Required = True
874 end
875 object AttachmentsRDBDESCRIPTION: TIBMemoField
876 FieldKind = fkData
877 FieldName = 'RDB$DESCRIPTION'
878 Index = 26
879 LookupCache = False
880 ProviderFlags = [pfInUpdate, pfInWhere]
881 ReadOnly = False
882 Required = False
883 BlobType = ftMemo
884 Size = 8
885 Transliterate = False
886 DisplayTextAsClassName = False
887 end
888 object AttachmentsRDBFUNCTION_NAME: TIBStringField
889 FieldKind = fkData
890 FieldName = 'RDB$FUNCTION_NAME'
891 Index = 27
892 LookupCache = False
893 ProviderFlags = [pfInUpdate, pfInWhere]
894 ReadOnly = False
895 Required = False
896 Size = 31
897 end
898 object AttachmentsRDBBYTES_PER_CHARACTER: TIBSmallintField
899 FieldKind = fkData
900 FieldName = 'RDB$BYTES_PER_CHARACTER'
901 Index = 28
902 LookupCache = False
903 ProviderFlags = [pfInUpdate, pfInWhere]
904 ReadOnly = False
905 Required = False
906 end
907 object AttachmentsRDBSECURITY_CLASS: TIBStringField
908 FieldKind = fkData
909 FieldName = 'RDB$SECURITY_CLASS'
910 Index = 29
911 LookupCache = False
912 ProviderFlags = [pfInUpdate, pfInWhere]
913 ReadOnly = False
914 Required = False
915 Size = 31
916 end
917 object AttachmentsRDBOWNER_NAME: TIBStringField
918 FieldKind = fkData
919 FieldName = 'RDB$OWNER_NAME'
920 Index = 30
921 LookupCache = False
922 ProviderFlags = [pfInUpdate, pfInWhere]
923 ReadOnly = False
924 Required = False
925 Size = 31
926 end
927 end
928 object AttUpdate: TIBUpdate
929 OnApplyUpdates = AttUpdateApplyUpdates
930 left = 376
931 top = 432
932 end
933 object AdminUserQuery: TIBSQL
934 Database = IBDatabase1
935 CaseSensitiveParameterNames = False
936 GenerateParamNames = False
937 UniqueParamNames = False
938 ParamCheck = True
939 SQL.Strings = (
940 'Select A.SEC$ADMIN From SEC$USERS A'
941 'Where SEC$USER_NAME = CURRENT_USER'
942 )
943 Transaction = CurrentTransaction
944 left = 424
945 top = 496
946 end
947 object DBTables: TIBQuery
948 AllowAutoActivateTransaction = False
949 Database = IBDatabase1
950 Transaction = CurrentTransaction
951 BufferChunks = 1000
952 CachedUpdates = False
953 CaseSensitiveParameterNames = False
954 EnableStatistics = False
955 GenerateParamNames = False
956 GeneratorField.ApplyOnEvent = gaeOnNewRecord
957 MasterDetailDelay = 0
958 SQL.Strings = (
959 'Select Trim(A.RDB$RELATION_NAME) as RDB$RELATION_NAME, 1 as Selected'
960 ' From RDB$RELATIONS A'
961 ' Where RDB$SYSTEM_FLAG = 0'
962 ' order by 1'
963 )
964 Params = <>
965 UpdateObject = DBTablesUpdate
966 DataSetCloseAction = dcDiscardChanges
967 left = 520
968 top = 488
969 end
970 object DBTablesUpdate: TIBUpdate
971 RefreshSQL.Strings = (
972 ''
973 )
974 OnApplyUpdates = DBTablesUpdateApplyUpdates
975 left = 592
976 top = 480
977 end
978 object AuthMappings: TIBQuery
979 AllowAutoActivateTransaction = False
980 Database = IBDatabase1
981 Transaction = CurrentTransaction
982 BufferChunks = 1000
983 CachedUpdates = False
984 CaseSensitiveParameterNames = False
985 EnableStatistics = False
986 GenerateParamNames = False
987 GeneratorField.ApplyOnEvent = gaeOnNewRecord
988 MasterDetailDelay = 0
989 SQL.Strings = (
990 'SELECT r.RDB$DB_KEY, cast(''Local'' as VarChar(6)) as MAPTYPE, r.RDB$MAP_NAME,'
991 ' Case'
992 ' When r.RDB$MAP_USING = ''P'' and r.RDB$MAP_PLUGIN is not null then cast (''Plugin '' || r.RDB$MAP_PLUGIN as VarChar(20))'
993 ' When r.RDB$MAP_USING = ''P'' and r.RDB$MAP_PLUGIN is null then ''Any Plugin'''
994 ' When r.RDB$MAP_USING = ''S'' then ''Any Plugin Serverwide'''
995 ' When r.RDB$MAP_USING = ''M'' then ''Mapping'''
996 ' When r.RDB$MAP_USING = ''*'' then ''*'''
997 ' else'
998 ' ''Using '' || r.RDB$MAP_USING || '','' || coalesce(r.RDB$MAP_PLUGIN,'''') End as MAP_USING,'
999 ' r.RDB$MAP_USING, r.RDB$MAP_PLUGIN,'
1000 ' r.RDB$MAP_DB, r.RDB$MAP_FROM_TYPE, r.RDB$MAP_FROM,'
1001 ' Trim(r.RDB$MAP_FROM_TYPE) || '': '' || Trim(r.RDB$MAP_FROM) as MAP_FROM,'
1002 ' r.RDB$MAP_TO_TYPE,'
1003 ' T.RDB$TYPE_NAME as MAP_TO_TYPE, r.RDB$MAP_TO,'
1004 ' Trim(T.RDB$TYPE_NAME) || '': '' || Trim(r.RDB$MAP_TO) as MAP_TO,'
1005 ' r.RDB$SYSTEM_FLAG, r.RDB$DESCRIPTION'
1006 'FROM RDB$AUTH_MAPPING r'
1007 'JOIN RDB$TYPES T On T.RDB$TYPE = r.RDB$MAP_TO_TYPE and T.RDB$FIELD_NAME = ''RDB$MAP_TO_TYPE'''
1008 'UNION'
1009 'SELECT r.RDB$DB_KEY, ''Global'', r.SEC$MAP_NAME,'
1010 ' Case'
1011 ' When r.SEC$MAP_USING = ''P'' and r.SEC$MAP_PLUGIN is not null then cast (''Plugin '' || r.SEC$MAP_PLUGIN as VarChar(20))'
1012 ' When r.SEC$MAP_USING = ''P'' and r.SEC$MAP_PLUGIN is null then ''Any Plugin'''
1013 ' When r.SEC$MAP_USING = ''S'' then ''Any Plugin Serverwide'''
1014 ' When r.SEC$MAP_USING = ''M'' then ''Mapping'''
1015 ' When r.SEC$MAP_USING = ''*'' then ''*'''
1016 ' else'
1017 ' ''Using '' || r.SEC$MAP_USING || '','' || coalesce(r.SEC$MAP_PLUGIN,'''') End as MAP_USING,'
1018 ' r.SEC$MAP_USING, r.SEC$MAP_PLUGIN,'
1019 ' r.SEC$MAP_DB, r.SEC$MAP_FROM_TYPE, r.SEC$MAP_FROM,'
1020 ' Trim(r.SEC$MAP_FROM_TYPE) || '': '' || Trim(r.SEC$MAP_FROM) as MAP_FROM,'
1021 ' r.SEC$MAP_TO_TYPE,'
1022 ' T.RDB$TYPE_NAME as MAP_TO_TYPE,r.SEC$MAP_TO,'
1023 ' Trim(T.RDB$TYPE_NAME) || '': '' || Trim(r.SEC$MAP_TO) as MAP_TO,'
1024 ' null,null'
1025 'FROM SEC$GLOBAL_AUTH_MAPPING r'
1026 'JOIN RDB$TYPES T On T.RDB$TYPE = r.SEC$MAP_TO_TYPE and T.RDB$FIELD_NAME = ''RDB$MAP_TO_TYPE'''
1027 ''
1028 )
1029 Params = <>
1030 DataSetCloseAction = dcDiscardChanges
1031 left = 657
1032 top = 118
1033 end
1034 object AccessRights: TIBQuery
1035 AllowAutoActivateTransaction = False
1036 Database = IBDatabase1
1037 Transaction = CurrentTransaction
1038 OnCalcFields = AccessRightsCalcFields
1039 BufferChunks = 1000
1040 CachedUpdates = False
1041 CaseSensitiveParameterNames = False
1042 EnableStatistics = False
1043 GenerateParamNames = False
1044 GeneratorField.ApplyOnEvent = gaeOnNewRecord
1045 MasterDetailDelay = 0
1046 SQL.Strings = (
1047 'with recursive AccessRight as ('
1048 'Select UP.RDB$USER as SUBJECT_NAME,'
1049 ' UP.RDB$USER_TYPE as SUBJECT_TYPE,'
1050 ' UP.RDB$OBJECT_TYPE as OBJECT_TYPE,'
1051 ' UP.RDB$RELATION_NAME as OBJECT_NAME,'
1052 ' T2.RDB$TYPE_NAME as OBJECT_TYPE_NAME,'
1053 ' UP.RDB$GRANTOR as GRANTOR,'
1054 ' UP.RDB$GRANT_OPTION as GRANT_OPTION,'
1055 ' List(Trim(UP.RDB$PRIVILEGE)) as Granted_Privileges,'
1056 ' count (C.RDB$DB_KEY) as ChildCount'
1057 ' From RDB$USER_PRIVILEGES UP'
1058 ' JOIN RDB$TYPES T2 On T2.RDB$TYPE = UP.RDB$OBJECT_TYPE and T2.RDB$FIELD_NAME = ''RDB$OBJECT_TYPE'''
1059 ' Left Outer JOIN RDB$USER_PRIVILEGES C On C.RDB$USER_TYPE = UP.RDB$OBJECT_TYPE and C.RDB$USER = UP.RDB$RELATION_NAME'
1060 ' Where UP.RDB$USER <> ''SYSDBA'''
1061 ' Group BY UP.RDB$USER,UP.RDB$USER_TYPE,UP.RDB$OBJECT_TYPE,'
1062 ' UP.RDB$RELATION_NAME, UP.RDB$GRANTOR, UP.RDB$GRANT_OPTION,'
1063 ' T2.RDB$TYPE_NAME'
1064 ' ),'
1065 ''
1066 ' AccessRights as ('
1067 ' select cast(Trim(SUBJECT_NAME) || SUBJECT_TYPE as Char(33)) as ID,SUBJECT_TYPE, SUBJECT_NAME,'
1068 ' OBJECT_TYPE, OBJECT_NAME, OBJECT_TYPE_NAME, Granted_Privileges,GRANTOR, GRANT_OPTION,'
1069 ' cast(NULL as Char(33) ) as Parent, ChildCount'
1070 ' From AccessRight'
1071 ' UNION all'
1072 ' Select Trim(B.SUBJECT_NAME) || B.SUBJECT_TYPE as ID, B.SUBJECT_TYPE, B.SUBJECT_NAME,'
1073 ' B.OBJECT_TYPE, B.OBJECT_NAME, B.OBJECT_TYPE_NAME, B.Granted_Privileges, B.GRANTOR, B.GRANT_OPTION,'
1074 ' A.ID as Parent,B.ChildCount'
1075 ' From AccessRight B'
1076 ' JOIN AccessRights A On A.OBJECT_TYPE = B.SUBJECT_TYPE and A.OBJECT_NAME = B.SUBJECT_NAME'
1077 ' )'
1078 ''
1079 'Select *'
1080 'From ('
1081 'Select A.ID as ID, Trim(A.SUBJECT_NAME )as SUBJECT_NAME, A.SUBJECT_TYPE as SUBJECT_TYPE,'
1082 ' case When A.Parent is NULL then Trim(T.RDB$TYPE_NAME) || A.SUBJECT_TYPE Else A.Parent End as Parent,'
1083 ' sum(A.ChildCount) as ChildCount'
1084 ' from AccessRights A'
1085 ' JOIN RDB$TYPES T On T.RDB$TYPE = A.SUBJECT_TYPE and RDB$FIELD_NAME = ''RDB$OBJECT_TYPE'''
1086 ' Group By A.ID, A.SUBJECT_NAME, A.SUBJECT_TYPE, A.Parent, T.RDB$TYPE_NAME'
1087 'UNION'
1088 'SELECT Trim(r.RDB$TYPE_NAME) || r.RDB$TYPE as ID, Trim(r.RDB$TYPE_NAME) || ''S'' as SUBJECT_NAME,-r.RDB$TYPE,'
1089 ' NULL,1'
1090 'FROM RDB$TYPES r Where RDB$FIELD_NAME = ''RDB$OBJECT_TYPE'''
1091 'and Exists(Select * from RDB$USER_PRIVILEGES Where RDB$USER_TYPE = r.RDB$TYPE)'
1092 ''
1093 ' )'
1094 ''
1095 )
1096 Params = <>
1097 DataSetCloseAction = dcDiscardChanges
1098 left = 648
1099 top = 264
1100 object AccessRightsID: TIBStringField
1101 FieldKind = fkData
1102 FieldName = 'ID'
1103 Index = 0
1104 LookupCache = False
1105 ProviderFlags = [pfInUpdate, pfInWhere]
1106 ReadOnly = False
1107 Required = False
1108 Size = 37
1109 end
1110 object AccessRightsSUBJECT_NAME: TIBStringField
1111 FieldKind = fkData
1112 FieldName = 'SUBJECT_NAME'
1113 Index = 1
1114 LookupCache = False
1115 ProviderFlags = [pfInUpdate, pfInWhere]
1116 ReadOnly = False
1117 Required = False
1118 Size = 32
1119 end
1120 object AccessRightsSUBJECT_TYPE: TIBSmallintField
1121 FieldKind = fkData
1122 FieldName = 'SUBJECT_TYPE'
1123 Index = 2
1124 LookupCache = False
1125 ProviderFlags = [pfInUpdate, pfInWhere]
1126 ReadOnly = False
1127 Required = False
1128 end
1129 object AccessRightsPARENT: TIBStringField
1130 FieldKind = fkData
1131 FieldName = 'PARENT'
1132 Index = 3
1133 LookupCache = False
1134 ProviderFlags = [pfInUpdate, pfInWhere]
1135 ReadOnly = False
1136 Required = False
1137 Size = 37
1138 end
1139 object AccessRightsCHILDCOUNT: TIBLargeIntField
1140 FieldKind = fkData
1141 FieldName = 'CHILDCOUNT'
1142 Index = 4
1143 LookupCache = False
1144 ProviderFlags = [pfInUpdate, pfInWhere]
1145 ReadOnly = False
1146 Required = False
1147 end
1148 object AccessRightsImageIndex: TLongintField
1149 FieldKind = fkCalculated
1150 FieldName = 'ImageIndex'
1151 Index = 5
1152 LookupCache = False
1153 ProviderFlags = [pfInUpdate, pfInWhere]
1154 ReadOnly = False
1155 Required = False
1156 end
1157 object AccessRightsDisplayName: TStringField
1158 FieldKind = fkCalculated
1159 FieldName = 'DisplayName'
1160 Index = 6
1161 LookupCache = False
1162 ProviderFlags = [pfInUpdate, pfInWhere]
1163 ReadOnly = False
1164 Required = False
1165 Size = 64
1166 end
1167 end
1168 object SubjectAccessRights: TIBQuery
1169 AllowAutoActivateTransaction = False
1170 Database = IBDatabase1
1171 Transaction = CurrentTransaction
1172 BeforeOpen = SubjectAccessRightsBeforeOpen
1173 BufferChunks = 1000
1174 CachedUpdates = False
1175 CaseSensitiveParameterNames = False
1176 EnableStatistics = False
1177 GenerateParamNames = False
1178 GeneratorField.ApplyOnEvent = gaeOnNewRecord
1179 MasterDetailDelay = 0
1180 SQL.Strings = (
1181 'Select UP.RDB$USER as SUBJECT_NAME,'
1182 ' UP.RDB$USER_TYPE as SUBJECT_TYPE,'
1183 ' T1.RDB$TYPE_NAME as SUBJECT_TYPE_NAME,'
1184 ' UP.RDB$OBJECT_TYPE as OBJECT_TYPE,'
1185 ' case T2.RDB$TYPE_NAME'
1186 ' When ''RELATION'' then ''TABLE'''
1187 ' When ''FIELD'' then ''DOMAIN'''
1188 ' Else T2.RDB$TYPE_NAME End as OBJECT_TYPE_NAME,'
1189 ' UP.RDB$RELATION_NAME as OBJECT_NAME,'
1190 ' List(DISTINCT Trim(RDB$PRIVILEGE)) as Granted_Privileges,'
1191 ' UC.Update_Columns,'
1192 ' RC.Reference_Columns,'
1193 ' UP.RDB$GRANTOR as GrantedBy,'
1194 ' coalesce(UP.RDB$GRANT_OPTION,0) as GRANT_OPTION'
1195 ' From RDB$USER_PRIVILEGES UP'
1196 ' JOIN RDB$TYPES T1 On T1.RDB$TYPE = UP.RDB$USER_TYPE and T1.RDB$FIELD_NAME = ''RDB$OBJECT_TYPE'''
1197 ' JOIN RDB$TYPES T2 On T2.RDB$TYPE = UP.RDB$OBJECT_TYPE and T2.RDB$FIELD_NAME = ''RDB$OBJECT_TYPE'''
1198 ' Left Outer JOIN ('
1199 ' Select RDB$USER, RDB$USER_TYPE, RDB$OBJECT_TYPE, RDB$RELATION_NAME,'
1200 ' List(Trim(RDB$FIELD_NAME)) as Update_Columns'
1201 ' From RDB$USER_PRIVILEGES Where RDB$PRIVILEGE = ''U'''
1202 ' Group By RDB$USER, RDB$USER_TYPE, RDB$OBJECT_TYPE, RDB$RELATION_NAME) UC'
1203 ' On UC.RDB$USER = UP.RDB$USER and UC.RDB$USER_TYPE = UP.RDB$USER_TYPE and'
1204 ' UC.RDB$OBJECT_TYPE = UP.RDB$OBJECT_TYPE and UC.RDB$RELATION_NAME = UP.RDB$RELATION_NAME'
1205 ' Left Outer JOIN ('
1206 ' Select RDB$USER, RDB$USER_TYPE, RDB$OBJECT_TYPE, RDB$RELATION_NAME,'
1207 ' List(Trim(RDB$FIELD_NAME)) as Reference_Columns'
1208 ' From RDB$USER_PRIVILEGES Where RDB$PRIVILEGE = ''R'''
1209 ' Group By RDB$USER, RDB$USER_TYPE, RDB$OBJECT_TYPE, RDB$RELATION_NAME) RC'
1210 ' On RC.RDB$USER = UP.RDB$USER and RC.RDB$USER_TYPE = UP.RDB$USER_TYPE and'
1211 ' RC.RDB$OBJECT_TYPE = UP.RDB$OBJECT_TYPE and RC.RDB$RELATION_NAME = UP.RDB$RELATION_NAME'
1212 ' Where Trim(UP.RDB$USER) || UP.RDB$USER_TYPE = :ID and'
1213 ' (not (UP.RDB$OBJECT_TYPE in (0,9,13)) or'
1214 ' (UP.RDB$OBJECT_TYPE in (0,13) and'
1215 ' not Exists(Select * from RDB$RELATIONS Where RDB$RELATION_NAME = UP.RDB$RELATION_NAME and RDB$SYSTEM_FLAG <> 0)) or'
1216 ' (UP.RDB$OBJECT_TYPE = 9 and UP.RDB$RELATION_NAME not Similar to ''RDB$%|SEC$%|MON$%|SQL$%'')'
1217 ' )'
1218 ' Group BY UP.RDB$USER,UP.RDB$USER_TYPE,UP.RDB$OBJECT_TYPE,'
1219 ' UP.RDB$RELATION_NAME, UP.RDB$GRANTOR, RDB$GRANT_OPTION,T1.RDB$TYPE_NAME,'
1220 ' T2.RDB$TYPE_NAME, UC.Update_Columns, RC.Reference_Columns'
1221 ''
1222 )
1223 Params = <
1224 item
1225 DataType = ftUnknown
1226 Name = 'ID'
1227 ParamType = ptInput
1228 end>
1229 DataSetCloseAction = dcDiscardChanges
1230 left = 648
1231 top = 336
1232 ParamData = <
1233 item
1234 DataType = ftUnknown
1235 Name = 'ID'
1236 ParamType = ptInput
1237 end>
1238 end
1239 object IBXServicesConnection1: TIBXServicesConnection
1240 Connected = False
1241 AfterConnect = IBXServicesConnection1AfterConnect
1242 OnLogin = IBXServicesConnection1Login
1243 Params.Strings = (
1244 'sql_role_name=RDB$ADMIN'
1245 )
1246 TraceFlags = []
1247 left = 640
1248 top = 48
1249 end
1250 object IBStatisticalService1: TIBXStatisticalService
1251 ServicesConnection = IBXServicesConnection1
1252 TraceFlags = []
1253 Options = [HeaderPages]
1254 left = 48
1255 top = 287
1256 end
1257 object IBConfigService1: TIBXConfigService
1258 ServicesConnection = IBXServicesConnection1
1259 TraceFlags = []
1260 left = 168
1261 top = 283
1262 end
1263 object IBServerProperties1: TIBXServerProperties
1264 ServicesConnection = IBXServicesConnection1
1265 TraceFlags = []
1266 left = 40
1267 top = 365
1268 end
1269 object IBLogService1: TIBXLogService
1270 ServicesConnection = IBXServicesConnection1
1271 TraceFlags = []
1272 left = 168
1273 top = 365
1274 end
1275 object IBSecurityService1: TIBXSecurityService
1276 ServicesConnection = IBXServicesConnection1
1277 TraceFlags = []
1278 UserID = 0
1279 GroupID = 0
1280 AdminRole = False
1281 left = 36
1282 top = 437
1283 end
1284 object IBValidationService1: TIBXValidationService
1285 ServicesConnection = IBXServicesConnection1
1286 TraceFlags = []
1287 OnGetNextLine = IBValidationService1GetNextLine
1288 Options = [ValidateFull]
1289 left = 632
1290 top = 416
1291 end
1292 object IBOnlineValidationService1: TIBXOnlineValidationService
1293 ServicesConnection = IBXServicesConnection1
1294 TraceFlags = []
1295 OnGetNextLine = IBValidationService1GetNextLine
1296 left = 40
1297 top = 503
1298 end
1299 object LegacyUserList: TIBXServicesUserList
1300 FieldDefs = <
1301 item
1302 Name = 'UserID'
1303 DataType = ftInteger
1304 Precision = -1
1305 end
1306 item
1307 Name = 'GroupID'
1308 DataType = ftInteger
1309 Precision = -1
1310 end
1311 item
1312 Name = 'SEC$USER_NAME'
1313 DataType = ftString
1314 Precision = -1
1315 Size = 31
1316 end
1317 item
1318 Name = 'SEC$FIRST_NAME'
1319 DataType = ftString
1320 Precision = -1
1321 Size = 32
1322 end
1323 item
1324 Name = 'SEC$MIDDLE_NAME'
1325 DataType = ftString
1326 Precision = -1
1327 Size = 32
1328 end
1329 item
1330 Name = 'SEC$LAST_NAME'
1331 DataType = ftString
1332 Precision = -1
1333 Size = 32
1334 end
1335 item
1336 Name = 'SEC$PASSWORD'
1337 DataType = ftString
1338 Precision = -1
1339 Size = 32
1340 end
1341 item
1342 Name = 'SEC$ADMIN'
1343 DataType = ftBoolean
1344 Precision = -1
1345 end
1346 item
1347 Name = 'SEC$PLUGIN'
1348 DataType = ftString
1349 Size = 21
1350 end
1351 item
1352 Name = 'SEC$ACTIVE'
1353 DataType = ftBoolean
1354 end
1355 item
1356 Name = 'LOGGEDIN'
1357 DataType = ftBoolean
1358 end
1359 item
1360 Name = 'DBCREATOR'
1361 DataType = ftBoolean
1362 end>
1363 AfterOpen = LegacyUserListAfterOpen
1364 BeforeClose = LegacyUserListBeforeClose
1365 AfterInsert = UserListAfterInsert
1366 AfterPost = LegacyUserListAfterPost
1367 Source = IBSecurityService1
1368 left = 167
1369 top = 438
1370 end
1371 object InLimboList: TIBXServicesLimboTransactionsList
1372 FieldDefs = <
1373 item
1374 Name = 'TransactionID'
1375 DataType = ftInteger
1376 Precision = -1
1377 end
1378 item
1379 Name = 'TransactionType'
1380 DataType = ftString
1381 Precision = -1
1382 Size = 16
1383 end
1384 item
1385 Name = 'HostSite'
1386 DataType = ftString
1387 Precision = -1
1388 Size = 256
1389 end
1390 item
1391 Name = 'RemoteSite'
1392 DataType = ftString
1393 Precision = -1
1394 Size = 256
1395 end
1396 item
1397 Name = 'DatabasePath'
1398 DataType = ftString
1399 Precision = -1
1400 Size = 256
1401 end
1402 item
1403 Name = 'State'
1404 DataType = ftString
1405 Precision = -1
1406 Size = 32
1407 end
1408 item
1409 Name = 'RecommendedAction'
1410 DataType = ftString
1411 Precision = -1
1412 Size = 32
1413 end
1414 item
1415 Name = 'RequestedAction'
1416 DataType = ftString
1417 Precision = -1
1418 Size = 32
1419 end>
1420 Source = IBLimboTrans
1421 left = 296
1422 top = 496
1423 end
1424 object IBLimboTrans: TIBXLimboTransactionResolutionService
1425 ServicesConnection = IBXServicesConnection1
1426 TraceFlags = []
1427 GlobalAction = CommitGlobal
1428 left = 176
1429 top = 496
1430 end
1431 object ConfigDataset: TMemDataset
1432 FieldDefs = <
1433 item
1434 Name = 'ParamDescription'
1435 DataType = ftString
1436 Size = 256
1437 end
1438 item
1439 Name = 'ParamValue'
1440 DataType = ftInteger
1441 end>
1442 AfterClose = ConfigDatasetAfterClose
1443 left = 528
1444 top = 424
1445 end
1446 end