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

File Contents

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