ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/examples/DBAdmin/DataModule.lfm
Revision: 158
Committed: Thu Mar 1 11:23:33 2018 UTC (6 years, 1 month ago) by tony
File size: 41419 byte(s)
Log Message:
Repository resync

File Contents

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