The libraries that made Source Control for Oracle awesome!

Making Source Control for Oracle

  • We avoided writing new code whenever a library was available
  • We preferred free or open-source libraries
  • Which allowed us to build a new product from scratch super fast

GOLD Parser and BSN

  • It took over a year to do scripts folder support in SQL Compare using Antlr and we didn't have that long
  • We used GOLD to parse the oracle documentation and output an auto-generated grammar and c# classes
  • Used BSN attributes to remove glue code

Ookii.dialogs

  • Exposes Vista style folder browse dialog
  • Easy to use - same interface as FolderBrowserDialog
using (VistaFolderBrowserDialog browseDialog = new VistaFolderBrowserDialog())
{ if (browseDialog.ShowDialog() == DialogResult.OK)    {     m_Path.Text = browseDialog.SelectedPath;    } }

Before


After


SQL Source Control Engine

  • Reused as much as possible
  • Refactored out SQL Compare dependency
  • Ninject

Mah Apps Metro

  • Metro style WPF theme pack
  • Wrote our own styles based on bootstrap metro

Before


After


Avalon Edit

  • Easily customizable syntax highlighting
  • Modular and easy to use
  • Good alternative to WPF rich text box


Before


After


Google diff match patch

  • Implements Myer's diff algorithm
  • Better results than the SQL Compare algorithm
  • Made support happy

Before


After


Task Parallel Library

  • Massively simplifies threading
  • Available for .NET 3.5 as a targeting pack
  • Includes concurrent data structures such as BlockingCollection (to implement the producer consumer pattern)


test

By David

test

  • 710