How nuksee/ims works
IMS is a Windows desktop client for connecting to Informix, browsing database objects, and writing SQL with a result grid. The runtime starts in the WPF app, whose view model coordinates connections and feature tabs; the Informix ODBC provider performs server access. Core modules supply catalogue, SQL, completion, history, export, and monitoring behavior. The README says the session monitor is not started, despite monitor-related source files being present; its intended workflow is shown as a planned capability. Relationships are limited to documented or indexed references.
Main entry points: MainViewModel.cs Workspace coordinator · MainWindow.xaml.cs Main window · EditorTabViewModel.cs SQL editor · InformixOdbcSessionFactory.cs Session factory
Components 23
Desktop application
- App startup
src/Ims.App/App.xaml.cs - Main window
src/Ims.App/MainWindow.xaml.cs - Workspace coordinator
src/Ims.App/ViewModels/MainViewModel.cs - Connection dialog
src/Ims.App/Views/ConnectionDialog.xaml.cs - Object browser
src/Ims.App/ViewModels/ObjectTreeViewModel.cs - SQL editor
src/Ims.App/ViewModels/EditorTabViewModel.cs - Result grid
src/Ims.App/ViewModels/ResultSetViewModel.cs - Object details
src/Ims.App/ViewModels/ObjectDetailTabViewModel.cs - Session monitor UI
src/Ims.App/ViewModels/SessionMonitorTabViewModel.cs
Core capabilities
- SQL completion
src/Ims.Core/Completion/CompletionEngine.cs - SQL parsing
src/Ims.Core/Sql/SqlStatementSplitter.cs - Catalogue contract
src/Ims.Core/Catalog/ICatalogReader.cs - Result export
src/Ims.Core/Export/ResultExporter.cs - Monitor contract
src/Ims.Core/Monitoring/ISessionMonitor.cs
Informix provider
- Catalogue reader
src/Ims.Data.Informix/Catalog/InformixCatalogReader.cs - Session factory
src/Ims.Data.Informix/InformixOdbcSessionFactory.cs - ODBC session
src/Ims.Data.Informix/InformixOdbcSession.cs - Monitor queries
src/Ims.Data.Informix/Catalog/InformixCatalogReader.Sessions.cs - Credential store
src/Ims.Data.Informix/Security/WindowsCredentialStore.cs
Local state
- Saved connections
src/Ims.Core/Connections/ConnectionStore.cs - Query history
src/Ims.Core/History/QueryHistory.cs
Other components
- User
- Informix server
Connections 26
- User → Main window: uses
README.md - App startup → Workspace coordinator: composes
src/Ims.App/App.xaml.cs - App startup → Session factory: creates
src/Ims.App/App.xaml.cs - Main window → Workspace coordinator: coordinates
src/Ims.App/MainWindow.xaml.cs - Workspace coordinator → Connection dialog: requests credentials
src/Ims.App/ViewModels/MainViewModel.cs - Workspace coordinator → Saved connections: loads and saves
src/Ims.App/App.xaml.cs - Workspace coordinator → Credential store: retrieves secrets
src/Ims.App/ViewModels/MainViewModel.cs - Workspace coordinator → Session factory: opens sessions
src/Ims.App/ViewModels/MainViewModel.cs - Session factory → ODBC session: creates
src/Ims.Data.Informix/InformixOdbcSessionFactory.cs - ODBC session → Informix server: executes SQL
README.md - Workspace coordinator → Object browser: builds browser
src/Ims.App/ViewModels/MainViewModel.cs - Workspace coordinator → Catalogue contract: loads catalogue
src/Ims.App/ViewModels/MainViewModel.cs - Catalogue reader → Catalogue contract: implements
src/Ims.Data.Informix/Catalog/InformixCatalogReader.cs - Catalogue reader → Informix server: queries catalogue
src/Ims.Data.Informix/Catalog/InformixCatalogReader.cs - Workspace coordinator → SQL editor: creates tabs
src/Ims.App/ViewModels/MainViewModel.cs - Main window → SQL completion: requests suggestions
src/Ims.App/MainWindow.xaml.cs - SQL completion → SQL parsing: parses context
- SQL editor → ODBC session: runs statements
- SQL editor → Query history: records executions
- Main window → Result grid: displays results
src/Ims.App/MainWindow.xaml.cs - Main window → Result export: exports results
src/Ims.App/MainWindow.xaml.cs - Workspace coordinator → Object details: opens object details
src/Ims.App/ViewModels/MainViewModel.cs - Workspace coordinator → Session monitor UI: creates monitor tab
src/Ims.App/ViewModels/MainViewModel.cs - Session monitor UI → Monitor contract: requests snapshots
src/Ims.App/ViewModels/SessionMonitorTabViewModel.cs - Monitor queries → Monitor contract: implements
- Monitor queries → Informix server: reads session state
src/Ims.Data.Informix/Catalog/InformixCatalogReader.Sessions.cs