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

File Contents

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