Code Monkey home page Code Monkey logo

litedbexplorer's People

Contributors

a44281071 avatar foggyfinder avatar ihtfw avatar josefnemec avatar julianpaulozzi avatar malmas18 avatar marcbarry avatar neilsb avatar pathogendavid avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

litedbexplorer's Issues

Search not working??

Ctrl+F not opening the search box and under the main menu its always grayed out
version 0..8.1+

Enhancement Request: Save/Load Query Files

This is a fantastic tool. Thanks much. Wondering if you had any plans to allow for saving/loading of queries within the tool? Would be convenient instead of copying/pasting.

Enhancement Request: Option to Save DB Passwords

Would be nice if when entering a password for a LiteDB, there were an option to save it, such that next time when accessing from Open Recent for example, it would just open right away without having to re-enter the password.

Thanks for your consideration. This is a great tool.

App crashes on selecting a collection.

2019-03-12 23:29:09.2506|ERROR:Unhandled exception: System.InvalidCastException: Unable to cast object of type 'LiteDB.EmptyPage' to type 'LiteDB.DataPage'.
at LiteDB.PageService.GetPage[T](UInt32 pageID)
at LiteDB.QueryCursor.Fetch(TransactionService trans, DataService data, BsonReader bsonReader)
at LiteDB.LiteEngine.d__9.MoveNext()
at LiteDB.LiteEngine.d__13.MoveNext()
at LiteDB.LiteCollection1.<Find>d__17.MoveNext() at System.Linq.Enumerable.WhereSelectEnumerableIterator2.MoveNext()
at LiteDbExplorer.CollectionReference.get_Items()
at LiteDbExplorer.Controls.CollectionListView.UpdateGridColumns(CollectionReference collectionReference)
at LiteDbExplorer.Controls.CollectionListView.OnCollectionReferenceChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
at System.Windows.DependencyObject.InvalidateProperty(DependencyProperty dp, Boolean preserveCurrentValue)
at System.Windows.Data.BindingExpressionBase.Invalidate(Boolean isASubPropertyChange)
at System.Windows.Data.BindingExpression.TransferValue(Object newValue, Boolean isASubPropertyChange)
at System.Windows.Data.BindingExpression.ScheduleTransfer(Boolean isASubPropertyChange)
at MS.Internal.Data.ClrBindingWorker.NewValueAvailable(Boolean dependencySourcesChanged, Boolean initialValue, Boolean isASubPropertyChange)
at MS.Internal.Data.PropertyPathWorker.UpdateSourceValueState(Int32 k, ICollectionView collectionView, Object newValue, Boolean isASubPropertyChange)
at MS.Internal.Data.ClrBindingWorker.OnSourcePropertyChanged(Object o, String propName)
at MS.Internal.Data.PropertyPathWorker.OnPropertyChanged(Object sender, PropertyChangedEventArgs e)
at System.Windows.WeakEventManager.ListenerList1.DeliverEvent(Object sender, EventArgs e, Type managerType) at System.ComponentModel.PropertyChangedEventManager.OnPropertyChanged(Object sender, PropertyChangedEventArgs args) at LiteDbExplorer.Store.OnPropertyChanged(String propertyName) at LiteDbExplorer.Store.set_SelectedCollection(CollectionReference value) at LiteDbExplorer.Store.SelectNode(Object value) at LiteDbExplorer.MainWindow.TreeDatabasese_SelectedItemChanged(Object sender, RoutedPropertyChangedEventArgs1 e)
at System.Windows.RoutedPropertyChangedEventArgs1.InvokeEventHandler(Delegate genericHandler, Object genericTarget) at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target) at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs) at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised) at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args) at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e) at System.Windows.Controls.TreeView.OnSelectedItemChanged(RoutedPropertyChangedEventArgs1 e)
at System.Windows.Controls.TreeView.ChangeSelection(Object data, TreeViewItem container, Boolean selected)
at System.Windows.Controls.TreeViewItem.Select(Boolean selected)
at System.Windows.Controls.TreeViewItem.OnGotFocus(RoutedEventArgs e)
at System.Windows.UIElement.IsFocused_Changed(DependencyObject d, DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
at System.Windows.DependencyObject.SetValue(DependencyPropertyKey key, Object value)
at System.Windows.Input.FocusManager.OnFocusedElementChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
at System.Windows.Input.FocusManager.SetFocusedElement(DependencyObject element, IInputElement value)
at System.Windows.Input.KeyboardNavigation.UpdateFocusedElement(DependencyObject focusTarget)
at System.Windows.FrameworkElement.OnGotKeyboardFocus(Object sender, KeyboardFocusChangedEventArgs e)
at System.Windows.Input.KeyboardFocusChangedEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
at System.Windows.Input.KeyboardDevice.ChangeFocus(DependencyObject focus, Int32 timestamp)
at System.Windows.Input.KeyboardDevice.TryChangeFocus(DependencyObject newFocus, IKeyboardInputProvider keyboardInputProvider, Boolean askOld, Boolean askNew, Boolean forceToNullIfFailed)
at System.Windows.Input.KeyboardDevice.Focus(DependencyObject focus, Boolean askOld, Boolean askNew, Boolean forceToNullIfFailed)
at System.Windows.Input.KeyboardDevice.Focus(IInputElement element)
at System.Windows.UIElement.Focus()
at System.Windows.Controls.TreeViewItem.OnMouseLeftButtonDown(MouseButtonEventArgs e)
at System.Windows.UIElement.OnMouseLeftButtonDownThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
at System.Windows.UIElement.OnMouseDownThunk(Object sender, MouseButtonEventArgs e)
at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
at System.Windows.Input.InputManager.ProcessStagingArea()
at System.Windows.Input.InputManager.ProcessInput(InputEventArgs input)
at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
at System.Windows.Application.RunDispatcher(Object ignore)
at System.Windows.Application.RunInternal(Window window)
at System.Windows.Application.Run(Window window)
at LiteDbExplorer.App.Main()

Application crashes when openend for a while

This is a:
Bug Report

Version:
0.8.4.3

Describe the bug
I have a LiteDB database file on a network share. I have a collection opened. After a while (not sure what the timeframe is, this happend after an hour or so) when I hit the refresh button the application will hang.

Steps to reproduce:

  1. Open a LiteDB database file from a share
  2. Open a collection
  3. Keep the app running in the background for x amount of time
  4. Hit the refresh button

What is expected:
Data will be refreshed

What is actually happening:
The app hangs and crashes
"The program LiteDbExplorer.exe version 0.8.4.3 stopped interacting with Windows and was closed"

Update not working on "shared" mode

This is a: (required)
Bug Report

Version: (required)
0.8.5.1

Describe the bug
Update\Save document editing is not working when working with "shared" mode in the database selection

Steps to reproduce: (required)
Open doc, edit click ok, open the doc again -> data not saved

What is actually happening: (required)

  • What is actually happening?

Any additional comments: (optional)

  • Any additional comments

Screenshots (optional)
If applicable, add screenshots to help explain your problem.

Incorrectly reporting its version number 0.8.5.2 ... says it's v0.8.5.1

This is a:
Bug Report

Version:
0.8.5.2

Steps to reproduce:
download and install v0.8.5.2 from releases page

What is expected:
that the app knows it is version 0.8.5.2

What is actually happening:
it thinks it is version 0.8.5.1 and prompts for updates ... after updating I'm still on version 0.8.5.1 :)
I think the version tag within the software is incorrectly set in this build. :)

Any additional comments:
I love this product guys keep up the good work, and thanks so much !!!

Unable to click on Refresh button when switching between table tabs.

This is a: (required)
Bug Report

Version: (required)

  • 0.8.5.2

Describe the bug
When I have a table tab open and open another table tab, and then switch back to the previous table tab, I cannot click Refresh because it is grayed out.

Steps to reproduce: (required)

  • Open two or more table tabs by double clicking on table names on the left, and then switch between the opned tabs and notice that Refresh button is grayed out.

What is expected: (required)

  • I would expect to be able to click on the Refresh button when I switch between table tabs.

What is actually happening: (required)

  • I am unable to click on the Refresh button when I switch between table tabs.

A field with a null value causes LiteDbExplorer to crash

As described, setting a field value to null, or string.Empty causes LiteDbExplorer to crash. When viewing the collection with the offending record, select the row in the UI and the program terminates with a System.NullReferenceException

PS. Thank you for helping to keep this code-base alive!

Add checking for update

I'd thought to create a new issue about sorting but I noticed that it was already implemented in the last version 0.7.2.0.

I think it it will be useful to add checking for update and probably auto-updating also.

Enchancement Request: V5 Support

LiteDB V5 just recently came out. Would be great if you could release a version of the explorer that supports the opening of LiteDB V5 database files. Thanks in advance.

Comments Not Ignored

This is a: (required)
Bug Report

Version: (required)
0.8.4.3

Describe the bug
Looks like the editor correctly highlights lines preceded with a double-dash, i.e. "--" in green, or between "/" and "/", thereby indicating they are recognized as comments. However, when pushing F5, the tool does attempt to run that as code and the comment does not get ignored, hence the following error would appear:

Error on Query 1:
'db.--'
Command 'db.--' is not a valid shell command.

Would be great to ignore commented out lines/blocks

Steps to reproduce: (required)
Do Find Top 100 on a table, then comment out the line of code in the query editor with "--". Notice the text turns green (this is good). Push F5 - the tool attempts to execute the query and you hit a syntax error.

What is expected: (required)
Comments are ignored. Both for --comment and /* comment */

What is actually happening: (required)
Query error due to comment syntax

Multiple viable DialogHosts Bug

When you try to add a field within a field that is of the Document type, the application throws the following error: "Multiple viable DialogHosts, Specify a unique Identifier on each DialogHost, especially where multiple Windows are a concern."

Steps to reproduce the problem:

  1. Create a new database.
  2. Create a collection.
  3. Add a new document.
  4. Add a Document field.
  5. Try to add any field to the created document.

capture-1

Json Export

Trying to export data in JSON

Until now my litedb file was around 30mb and I was able to export. Now file is doubled and getting errors exporting.

Can you help me with this issue? I see its memory problems. My desktop has 16GB Ram if this is needed
This is what I have in logs file:

2019-03-11 19:42:27.1148|ERROR:Unhandled exception: System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
at System.Text.StringBuilder.ToString()
at LiteDB.JsonSerializer.Serialize(BsonValue value, Boolean pretty, Boolean writeBinary)
at LiteDbExplorer.Modules.DatabaseInteractions.ExportDocuments(ICollection`1 documents)
at LiteDbExplorer.Modules.DatabaseInteractions.ExportSelectedDocuments()
at LiteDbExplorer.MainWindow.ExportCommand_Executed(Object sender, ExecutedRoutedEventArgs e)
at System.Windows.Input.CommandBinding.OnExecuted(Object sender, ExecutedRoutedEventArgs e)
at System.Windows.Input.CommandManager.ExecuteCommandBinding(Object sender, ExecutedRoutedEventArgs e, CommandBinding commandBinding)
at System.Windows.Input.CommandManager.FindCommandBinding(CommandBindingCollection commandBindings, Object sender, RoutedEventArgs e, ICommand command, Boolean execute)
at System.Windows.Input.CommandManager.FindCommandBinding(Object sender, RoutedEventArgs e, ICommand command, Boolean execute)
at System.Windows.Input.CommandManager.OnExecuted(Object sender, ExecutedRoutedEventArgs e)
at System.Windows.UIElement.OnExecutedThunk(Object sender, ExecutedRoutedEventArgs e)
at System.Windows.Input.ExecutedRoutedEventArgs.InvokeEventHandler(Delegate genericHandler, Object target)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
at System.Windows.Input.RoutedCommand.ExecuteImpl(Object parameter, IInputElement target, Boolean userInitiated)
at System.Windows.Input.RoutedCommand.ExecuteCore(Object parameter, IInputElement target, Boolean userInitiated)
at System.Windows.Input.CommandManager.TransferEvent(IInputElement newSource, ExecutedRoutedEventArgs e)
at System.Windows.Input.CommandManager.OnExecuted(Object sender, ExecutedRoutedEventArgs e)
at System.Windows.UIElement.OnExecutedThunk(Object sender, ExecutedRoutedEventArgs e)
at System.Windows.Input.ExecutedRoutedEventArgs.InvokeEventHandler(Delegate genericHandler, Object target)
at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
at System.Windows.UIElement.RaiseEvent(RoutedEventArgs args, Boolean trusted)
at System.Windows.Input.RoutedCommand.ExecuteImpl(Object parameter, IInputElement target, Boolean userInitiated)
at System.Windows.Input.RoutedCommand.ExecuteCore(Object parameter, IInputElement target, Boolean userInitiated)
at MS.Internal.Commands.CommandHelpers.CriticalExecuteCommandSource(ICommandSource commandSource, Boolean userInitiated)
at System.Windows.Controls.MenuItem.InvokeClickAfterRender(Object arg)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.DispatcherOperation.InvokeImpl()
at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
at System.Windows.Threading.DispatcherOperation.Invoke()
at System.Windows.Threading.Dispatcher.ProcessQueue()
at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
at System.Windows.Application.RunDispatcher(Object ignore)
at System.Windows.Application.RunInternal(Window window)
at System.Windows.Application.Run(Window window)
at LiteDbExplorer.App.Main()

Collection context menu is wrong

Environment

  • Version: 0.7.0.0

Expected behaviour

The correct behavior is to show a context menu with options:

  • Add collection
  • Rename collection
  • Drop collection

Actual behaviour

When you right click on any collection from a database you see the same context menu when you right click on a database.

litedbviewer1

litedbviewer2

Help wanted: Need a real large database for 'local only' dev and tests

I need a more real-world large database file to check and test performance and memory issues (like #10 and #11).
The ones I use today do not seem to be large enough.

The file will be for local use and development only, will not be added to the repository and will not be shared in any other way.

Any question, comment on this issue.
Thanks.

Numbers in the template cause crash [fix]

The following line causes the app to crash:

Log.Information("{0}, {1}", hostContext.HostingEnvironment.ApplicationName, hostContext.HostingEnvironment.EnvironmentName);

Exception:

2019-03-26 03:26:42.9336|ERROR:Unhandled exception: System.ArgumentException: '0' is not a valid value for property 'Name'.
   at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
   at System.Windows.DependencyObject.SetValue(DependencyProperty dp, Object value)
   at LiteDbExplorer.Controls.CollectionListView.AddGridColumn(String key)
   at LiteDbExplorer.Controls.CollectionListView.UpdateGridColumns(CollectionReference collectionReference)
   at LiteDbExplorer.Controls.CollectionListView.OnCollectionReferenceChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
   at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
   at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
   at System.Windows.DependencyObject.InvalidateProperty(DependencyProperty dp, Boolean preserveCurrentValue)
   at System.Windows.Data.BindingExpressionBase.Invalidate(Boolean isASubPropertyChange)
   at System.Windows.Data.BindingExpression.TransferValue(Object newValue, Boolean isASubPropertyChange)
   at System.Windows.Data.BindingExpression.Activate(Object item)
   at System.Windows.Data.BindingExpression.AttachToContext(AttachAttempt attempt)
   at System.Windows.Data.BindingExpression.MS.Internal.Data.IDataBindEngineClient.AttachToContext(Boolean lastChance)
   at MS.Internal.Data.DataBindEngine.Task.Run(Boolean lastChance)
   at MS.Internal.Data.DataBindEngine.Run(Object arg)
   at MS.Internal.Data.DataBindEngine.OnLayoutUpdated(Object sender, EventArgs e)
   at System.Windows.ContextLayoutManager.fireLayoutUpdateEvent()
   at System.Windows.ContextLayoutManager.UpdateLayout()
   at System.Windows.ContextLayoutManager.UpdateLayoutCallback(Object arg)
   at System.Windows.Media.MediaContext.InvokeOnRenderCallback.DoWork()
   at System.Windows.Media.MediaContext.FireInvokeOnRenderCallbacks()
   at System.Windows.Media.MediaContext.RenderMessageHandlerCore(Object resizedCompositionTarget)
   at System.Windows.Media.MediaContext.RenderMessageHandler(Object resizedCompositionTarget)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.DispatcherOperation.InvokeImpl()
   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
   at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at System.Windows.Application.Run(Window window)
   at LiteDbExplorer.App.Main()

Fix:
In CollectionListView.AddGridColumn(..), I changed Name = key to Name = "key_" + key and it works.

Support lazy loading to avoid crashes

Hi there,

Thanks for your work on this viewer! I've just started using it Yesterday and would love to continue to do so, but unfortunately I'm experiencing constant crashes because of memory / data management. I'm using LiteDb to store huge amounts of data that I don't want in my SQL server. Introducing some lazy loading should most probably help with most of these issues.

Ps: this applies both of items in the collection and inner denormalized items inside items.

Thanks again!

Cannot edit _id

It seems it's impossible to edit _id field which would be very useful. I have classes with Id field of type uint but when I add record manually in LiteDbExplorer it automatically generates _id of incompatible type which I cannot delete nor edit. So it basically makes impossible to add new record in DB using LiteDbExplorer.

Database Version 6

I am not able to open my DBLite file.

Getting:

Failed to open database: Invalid database version: 6

Can you do smth on this?

Thank you in advance

There is bug with exit command

If there is a data file opened, sometimes when click exit menu, the program gives no response. And it seems it's taking much and much memory. When the data file is so large that the memory can not contain it, a crash will appear soon.

Copying entries crashed application

This is a:
Bug Report

Version:

  • 0.8.4.3

Describe the bug
Copying entries to the clipboard crashed the application.

Steps to reproduce:
Open a database file and copy any number of entries (either by mouse or by CTRL+C)

What is expected:
Entries are copied in json format to the clipboard and the application does not crash

What is actually happening:
Entries are copied to the clipboard, but the application crashes.

I might have time to attempt to fix the bug myself and create a pull request for it - if a newer version has not fixed it yet.
I feel like contributing to this awesome project is a good thing to do!

Unable to start the app due to the damaged settings file

Due a problem of my PC (hardware failure), some files were damaged, and the settings file of LiteDbExporer was among them. For that, it's impossible to start the app because a NullReferenceException. The problem is pretty easy to reproduce: feed the settings with a malformed JSON. The app will find the file, but won't create the Settings instance, hence the exception.

My suggestion is to check this particular condition, and reinit the settings.

Can't open/work with db when file open in another application

Hi - I recently updated and now have lost some functionality :(

I used to be able to have my dev app having the .db file open and also open that file in your app. I never had any problems with this (ie. it being open in both simultaneously)

However, now when I try to open the .db file when it is open in my app, i get "file open to another program" or something similar.

I use to be able to examine any db changes my app was making in real time.

Shame to lose functionality for an update? Can it return?

thanks + love you app btw!

Editing GUID results in property being saved as string

This is a: Bug

Version: 0.8.2.0

Steps to reproduce: Edit a record which contains a field of type Guid. Edit the Guid field and save the record

What is expected: Guid to be saved and Field Type to remain as Guid.

What is actually happening: Correct value is saved, but data type is a string

Any additional comments: May be worth disabling editing of Guids until this is resolved.

suggest for large field data string.

for middle main list view.

  • add max height/width for grid. if field data string is too large.
  • add sub string for field data string, improve performance. in this place, we don't need to look at such details.

for right document preview.

  • add Expander for large field data string. we can add a CheckBox to auto collapse/expand dazzling string.

for document editor.

  • again, If we have Expander, it would be better.

Problem to run LiteDbExplorer

Hi,
I'm trying to launch LiteDB_7.0.2 but Windows returns "windows cannot access the specified device path or file you may not have appropriate permissions" error.
I have tried to run LiteDB as Administrator but it not works. Same error even on LiteDB_7.0.1

Add possibility to save Decimal values

Please add possibility to save decimal values like
"Amount": {"$numberDecimal": "1"}
after saving value drops $numberDecimal attribute:
"Amount": "2"
Thank you

Cannot save changes to the contents of an Array[]

LiteDbExplorer 0.7.2.0 seems to allow the user to view, and edit the contents of an Array[], but not to save / persist those changes. Is this expected behaviour?

To recreate, create a new database using LiteDbExplorer, and add a collection document called Person. Add a field called Names as an Array. Use LiteDbExplorer to add the following items to the array field.

0: "Bob"
1: "Alice"

Click OK to exit the Array Editor window.

The Document Editor window will show the Names field value as [Array] 0 Names. I believe this should now be 2 Names.

Click OK to exit the Document Editor window, the changes to the array are not saved. The names Alice and Bob are lost, and the Names array is empty.

Thanks!

Won't Open Database, No Error

This is a:
Bug Report

Version:
0.8.6.1

Steps to reproduce:
I downloaded the release, ran the executable, and no matter how I try to open a database nothing happens. I've tried using the 'Open' on the start page, File->Open in the menu, and closing the start page and dragging my database onto the form.

What is expected:
At bare minimum, I'd expect an error dialog or even an entry in the error log. The error log is empty and there is no UI indication whatsoever as to what has happened.

What is actually happening:
There are no errors, no dialog, nothing. All attempts to open the database simply act as though nothing happened.

Any additional comments:
The database I'm trying to open (and only one I have handy) was created using LiteDB v5.0.5. It only has 4 collections and a couple dozen rows/documents. It's 155,648 bytes in size.

Poor performance - 0.8.1.0

introduction:

Select an document item in list view, main window will be fake death for 40 second. (to load DataPreview?)
Select an field item in data preview, main window will be fake death for 10 second, too.
Change window size, when data preview visible also fake deth, too.
Max field string is XML content (should I move it to FileStorage?)

detail:

LiteDbExplorer version: 0.8.1.0 portable
PC: 【I5 M560 2.67GHz】【6G DDR3】【HDD】
Document: FileSize=100KB, DocumentCount=1419, HierarchicalDepth=4, MaxStringLength(XML)=183,392

Date Time Display Format

This is a: Bug Report (arguably)

Version: 0.8.2.0

Steps to reproduce: View a document with a Date Time

What is expected: DateTime in Local or Universal Format

What is actually happening: DateTime displayed in Forced US Format

Any additional comments:

Presently the DateTime values within the app are shown in US Date format, irrespective of the users culture and locale settings, due to the use of the CultureInfo.InvariantCulture in the ToString calls.

It would be a better user experience if dates were displayed in the ISO format, or use the users currently system Culture settings. Allowing the user to choose to display format in the settings would be even better.

Same formatting concerns also exist for other data types (e.g. French use a "," instead of a "." in decimals) which would also be worth considering.

Show timer on queries

This is a:
Feature Request

Version:

  • 8.4.4

Describe the bug
Showing a timer on how long a query/action takes on the database.
It can be interesting to see how long a query takes to execute on the database, currently this information isn't shown.

Currently only the amount of records records are shown and the last performed query.

Can large data file be loaded by pages?

The project is great, thanks for all your work.

Here, I have a problem about large data file.
Size of my files is 100MB-25GB, while the largest collection can not be load into memory totaly to view.So, can you add some paging features like mongodb clients?

@julianpaulozzi

dbexplorer is crashing everytime

This is a: (required)
Bug Report

Version: (required)

  • 0.8.6.1

Describe the bug
Cant open dbexplorer.

Steps to reproduce: (required)

  • Open dbexplorer...

What is expected: (required)

  • the error dont expect something

What is actually happening: (required)

  • LiteDB is crashing when i start it

Any additional comments: (optional)

  • Any additional comments

Screenshots (optional)
Screenshot_1
Screenshot_2

OutOfMemoryException

Hello,
As the Table has a HUGE amount of records, "LiteDbExplorer" Can't load all records because it will results "OutOfMemoryException".
The only thing that can fix it is Paging (as i did it in my app lel, however i am using DevExpress components)

Thanks for the work.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.