ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/examples/DBAdmin/DataModule.lfm
Revision: 315
Committed: Thu Feb 25 11:56:36 2021 UTC (3 years, 1 month ago) by tony
File size: 45521 byte(s)
Log Message:
Updated for IBX 4 release

File Contents

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