ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/trunk/examples/DBAdmin/DataModule.lfm
Revision: 209
Committed: Wed Mar 14 12:48:51 2018 UTC (6 years, 1 month ago) by tony
File size: 42242 byte(s)
Log Message:
Fixes Merged

File Contents

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