Ferreteria/v0.3/class: Difference between revisions

From Woozle Writes Code
Jump to navigation Jump to search
No edit summary
m (20 revisions imported: moving this project here)
 
(17 intermediate revisions by one other user not shown)
Line 1: Line 1:
{| align=right
|-
|
===All Classes===
{{#ask: [[thing type::Ferreteria/class]]
[[version::v3]]
|format=broadtable
|limit=50
|offset=0
|link=all
|sort=
|order=asc
|headers=show
|searchlabel=... further results
|class=sortable wikitable smwtable
}}
|}
===Root Classes===
* {{l/version|class|cIOSource}} (TODO: rename to cDataSource)
* {{l/version|class|cFieldRow}}
* {{l/version|class|cPortalRow}}
===Notes===
Things in need of re-examination:
* interface ifSingleKeyedRow


==Data==
* Standard storage-PortalRow class expects the Table to have the table name (via {{l/ferreteria/class|tTableSource}}, but other constructions are possible.
===Rows===
{{hilite|(A) '''cIORow'''}}
* '''cIORowDisplay''' extends cIORow
** ''extended by [[WorkFerret]]; may be obsolete''
* (A) '''cIORow_internal''' extends cIORow
** (A) '''cIORowMemory''' extends cIORow_internal
*** '''fcStackTrace''' extends \ferreteria\data\cIORowMemory
* (A) '''cIORow_sourced''' extends cIORow
** (A) '''cIORowStandard''' extends cIORow_sourced implements ifSingleKeyedRow
*** ''extended by several EventPlex classes''
*** '''fcrUserAcct''' extends \ferreteria\data\cIORowStandard
*** '''fcrUserClient''' extends \ferreteria\data\cIORowStandard
*** '''fcrUserPermit''' extends \ferreteria\data\cIORowStandard
*** '''fcqrUserPerm''' extends ferreteria\data\cIORowStandard
*** '''fcrUserSession''' extends \ferreteria\data\cIORowStandard
*** [[FinanceFerret]]:
**** '''crAcct''' extends \ferreteria\data\cIORowStandard
**** '''crTxType''' extends \ferreteria\data\cIORowStandard
**** '''crTrxt''' extends \ferreteria\data\cIORowStandard
**** '''crTrxSummary''' extends \ferreteria\data\cIORowStandard
** '''fcrDropInModule''' extends ferreteria\data\cIORow_sourced
===Sources===
{{hilite|(A) '''cIOSource'''}}
* (A) '''cIOSource_internal''' extends cIOSource
** '''fcDropInManager''' extends cIOSource_internal
* (A) '''cIOSource_db''' extends cIOSource
** (A) '''cIOSource_db_keyed''' extends cIOSource_db
*** (A) '''cIOSource_standard_table''' extends cIOSource_db_keyed
**** '''fctUserSessions''' extends ferreteria\data\cIOSource_standard_table
**** '''ctPlex_EventTable''' extends cIOSource_standard_table
**** [[FinanceFerret]]:
***** '''fctUserAccts''' extends ferreteria\data\cIOSource_standard_table
***** '''fctUserClients''' extends ferreteria\data\cIOSource_standard_table
***** '''fctUserPerms''' extends ferreteria\data\cIOSource_standard_table
***** '''ctAccts''' extends \ferreteria\data\cIOSource_standard_table
***** '''ctTxTypes''' extends \ferreteria\data\cIOSource_standard_table
***** '''ctTrxts''' extends \ferreteria\data\cIOSource_standard_table
** (A) '''cIOSource_standard_query''' extends cIOSource_db
*** [[FinanceFerret]]: '''fcqtUserPerms''' extends ferreteria\data\cIOSource_standard_query
** '''ctEventPlex''' extends cIOSource_db


{{hilite|(T) '''tIOSource_internal'''}}
''rearrangement in progress''
* '''ctEventPlex'''
* '''cIOSource_internal'''


Should probably go away:
Core functionality:
* ifInsertableSource
* handle current row - {{l/version|class|cFieldRow}}
* ifSelectableSource
* handle multiple rows
** sequential - {{l/version|class|tSequentialAccess}}
*** status (how many rows found)
*** position row cursor
*** access current row
*** end-of-rowset flag
** indexed
 
Database sources:
* manage what's in the source (selected, sequential access)
 
Currently, Table (Source) objects define:
* name of single-row class ({{l/version|class|cIOSource}})
* name of database table or other SQL to access it ({{l/version|class|tQueryableSource}})
 
There are two types of accessible data, when dealing with databases:
* data that has been loaded into a black-box "resource" rowset, and can be accessed sequentially
* data that is being stored in memory, and can be accessed by index (core functionality)

Latest revision as of 16:42, 22 May 2022

All Classes

{{#ask: thing type::Ferreteria/class version::v3

format=broadtable limit=50 offset=0 link=all sort= order=asc headers=show searchlabel=... further results class=sortable wikitable smwtable

}}

Root Classes

Notes

Things in need of re-examination:

  • interface ifSingleKeyedRow
  • Standard storage-PortalRow class expects the Table to have the table name (via Template:L/ferreteria/class, but other constructions are possible.

rearrangement in progress

Core functionality:

  • handle current row - Template:L/version
  • handle multiple rows
    • sequential - Template:L/version
      • status (how many rows found)
      • position row cursor
      • access current row
      • end-of-rowset flag
    • indexed

Database sources:

  • manage what's in the source (selected, sequential access)

Currently, Table (Source) objects define:

There are two types of accessible data, when dealing with databases:

  • data that has been loaded into a black-box "resource" rowset, and can be accessed sequentially
  • data that is being stored in memory, and can be accessed by index (core functionality)