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

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