class Holder: int_field=fields.IntField(nullable=False) int_field_nullable=fields.IntField(nullable=True) int_field_sqlname=fields.IntField(sql_name='not_int_field_sqlname') smallint_field=fields.SmallIntField() bigint_field=fields.BigIntField() context_int_field=fields.IntField(context_used='int_context') sequence_int_field=sequences.SequenceIntField(sequence=field_test_seq) row_enum_int_field=fields.RowEnumIntField(context_used='row_context') numeric_field=fields.NumericField(precision=6, scale=2) numeric_field_from_floats=fields.NumericField(precision=6, scale=2, allow_floats=True) numeric_field_inexact_quantize=fields.NumericField(precision=6, scale=2, inexact_quantize=True) real_field=fields.RealField() boolean_field=fields.BooleanField() text_field=fields.TextField() varchar_field=fields.VarCharField(max_length=5) varchar_field_truncate=fields.VarCharField(max_length=5, silent_truncate=True) char_field=fields.CharField(max_length=3) timestamp_field=fields.TimestampField(tz=True) timestamp_notz_field=fields.TimestampField(tz=False) utcnowtimestamp_field=fields.UTCNowTimestampField() time_field=fields.TimeField() utcnowtime_field=fields.UTCNowTimeField() date_field=fields.DateField() todaydate_field=fields.TodayDateField() blob_field=fields.BlobField()
class SimpleTransactionView(views.SQLView, view_name='simple_view', version='0.0.1', query=SIMPLEVIEW_QUERY, schema=accounting): tid = fields.IntField(context_used='tid') creator = fields.CharField(max_length=3) creation_ts = fields.TimestampField(tz=False) t_rev = fields.BooleanField() narrative = fields.TextField() row_id = fields.IntField() account = fields.IntField() amount = fields.NumericField(precision=8, scale=2, allow_floats=True)
class JournalTable(tables.SQLTable, table_name='journals', version='11.0', schema=accounting): tid = fields.IntField(context_used='tid') row_id = fields.RowEnumIntField(context_used='row_id', starting_number=1) account = fields.IntField() amount = fields.NumericField(precision=8, scale=2, allow_floats=True) journals_cons_pk = constraints.PrimaryKeyConstraint( column_names=('tid', 'row_id')) journals_cons_fk = constraints.ForeignKeyConstraint( column_names=('tid', ), foreign_table='transactions', foreign_schema=accounting)
class SetAccountTotal(example_schema.AccountingTransaction): account = fields.IntField() desired_sum = fields.NumericField(precision=8, scale=2, allow_floats=True) current_sum = fields.NumericField(precision=8, scale=2, allow_floats=True, inexact_quantize=True, query=SumAccountQuery) def _pre_insert_hook(self, context, cursor): super()._pre_insert_hook(context, cursor) if self.transaction is None: self.transaction = example_schema.TransactionTable() if self.journal_list is None: self.journal_list = example_schema.JournalList() self.transaction.narrative = 'Adjusting account {} to {}'.format(self.account, self.desired_sum) self.transaction.creator = 'SYS' self.transaction.t_rev = False posting_needed = self.desired_sum - self.current_sum self.journal_list._clear() self.journal_list._append(example_schema.JournalTable(account=self.account, amount=posting_needed)) self.journal_list._append(example_schema.JournalTable(account=9999, amount=-posting_needed)) return True
class SampleView( views.SQLView, view_name='sample_view', query='SELECT trans_id AS tid, amount AS amount FROM sample_table' ): tid = fields.IntField() amount = fields.NumericField(precision=6, scale=2, allow_floats=True)
class TransactionTable(tables.SQLTable, table_name='transactions', version='2', schema=accounting): tid = fields.IntField(context_used='tid') creator = fields.CharField(max_length=3) creation_ts = fields.TimestampField(tz=False, context_used='creation_ts') t_rev = fields.BooleanField(sql_name='t_rev') narrative = fields.TextField() transactions_cons_pk = constraints.PrimaryKeyConstraint( column_names=('tid'))
class SimpleQuery(queries.SQLQuery, query='SELECT {alpha}+{beta} AS answer;', record_type=SingleIntRow): alpha = fields.IntField() beta = fields.IntField()
class ComplexQuery(queries.SQLQuery, query=complex_query_text, record_type=ComplexQueryRecord): alpha = fields.IntField() beta = fields.IntField()
class QueryTransaction(transactions.SQLTransaction): tid = fields.IntField() total_transaction_count = fields.IntField(query=TransactionCountQuery) row_count = transactions.SQLTransactionField(JournalRowCountResultTID)
class SumAccountQuery(queries.SQLQuery, query=SUM_ACCOUNT_QUERY): account = fields.IntField()
class FailRecord(views.SQLView, view_name='sample_view_fail'): ok_name = fields.IntField() _create_view_sql = fields.IntField()
class SampleSpecialTable(tables.SQLTable, table_name='sample_special_table'): trans_id = fields.IntField(context_used='trans_id') value = fields.IntField() narrative = fields.TextField(context_used='special_text') pk = constraints.PrimaryKeyConstraint(column_names=('trans_id'))
class FailRecord(records.SQLRecord): ok_name = fields.IntField() _context_values_stored = fields.IntField()
class FailRecord(transactions.SQLTransaction): ok_name = fields.IntField() _insert_new = fields.IntField()
class CollidingFields2(records.SQLRecord): _records = fields.IntField()
class CollidingFields(records.SQLRecord): _append = fields.IntField()
class SimpleRecord(records.SQLRecord): foo = fields.IntField() bar = fields.TextField() baz = fields.IntField()
class JournalRowCountQueryTID(queries.SQLQuery, query=JOURNAL_ROW_COUNT_QUERY_BY_TID, record_type=JournalRowCount): tid = fields.IntField()
class JournalRowCount(records.SQLRecord): creator = fields.CharField(max_length=3) tid = fields.IntField() row_count = fields.IntField()
class SampleRecord(records.SQLRecord): trans_id = fields.IntField(context_used='trans_id') flag = fields.BooleanField() amount = fields.NumericField(precision=6, scale=2, allow_floats=True) narrative = fields.TextField()
class OKRecord(records.SQLRecord): ok_name = fields.IntField() insert_sql = fields.IntField()
class SampleTransaction(transactions.SQLTransaction): trans_id = fields.IntField() special_text = SpecialTextField() view = transactions.SQLTransactionField(sample_view_class) data = transactions.SQLTransactionField(sample_special_table_class)
class FailRecord2(records.SQLRecord): ok_name = fields.IntField() _fields = fields.IntField()
class FailRecord2(tables.SQLTable, table_name='sample_table_class'): ok_name = fields.IntField() _schema = fields.IntField()
class EnumTestTable(tables.SQLTable, table_name='enum_test'): tid = fields.IntField(context_used='tid') traffic_light = TrafficLightField()
class SingleIntRow(records.SQLRecord): answer = fields.IntField()
class FailRecord2(views.SQLView, view_name='sample_view'): ok_name = fields.IntField() _query = fields.IntField()
class ComplexQueryRecord(records.SQLRecord): x = fields.IntField() x_alpha = fields.IntField() y = fields.IntField() y_beta = fields.IntField()
class Holder: query_field = fields.IntField(query=SimpleQuery)
class FailRecord2(sample_transaction_class): ok_name = fields.IntField() _isolation_level = transactions.SQLTransactionField( sample_table_class)