Module: Oinky

Defined in:
lib/oinky/error.rb,
lib/oinky.rb,
lib/oinky/dsl.rb,
lib/oinky/query.rb,
lib/oinky/testsup.rb,
lib/oinky/version.rb,
lib/oinky/compiler.rb,
lib/oinky/compiler.rb,
lib/oinky/modelbase.rb,
lib/oinky/normalize.rb,
lib/oinky/oc_builder.rb,
lib/oinky/rb_emitter.rb,
lib/oinky/cpp_emitter.rb

Overview

This is the oinky model compiler. Given a model specification, it can generate a set of accessor classes and basic migration routines in a target language.

The purpose of this compiler is to permit the model to be defined exactly once, in one language. It can generate code in any language. There should be NO REASON WHATSOEVER to EVER MODIFY THE GENERATED CODE!!! That is always the wrong thing to do. Alter the generator if need be.

Defined Under Namespace

Modules: Detail, Internal, Model, RowSet, Test Classes: ColumnSelector, DB, ExHash, Index, OinkyException, OpenSelector, Table, ValuesEnumerator

Constant Summary collapse

ValueTypes =
column_types.select{|x| x != :variant}
VERSION =
"0.1.0"
@@implicit_cursor_cleanup =

By default, we never free cursors explicitly, which allows the GC to free database instances more aggressively. These accessors allow the bahavior to be changed. See the comment in the CursorBase initializer.

true

Class Method Summary collapse

Class Method Details

.implicit_cursor_cleanupObject



1120
1121
1122
# File 'lib/oinky.rb', line 1120

def self.implicit_cursor_cleanup
  @@implicit_cursor_cleanup
end

.implicit_cursor_cleanup=(x) ⇒ Object



1123
1124
1125
# File 'lib/oinky.rb', line 1123

def self.implicit_cursor_cleanup=(x)
  @@implicit_cursor_cleanup = x
end

.select(cols) ⇒ Object



736
737
738
# File 'lib/oinky.rb', line 736

def self.select(cols)
  OpenSelector.new(cols)
end

.select_allObject



739
740
741
# File 'lib/oinky.rb', line 739

def self.select_all
  select(nil)
end