Difference between revisions of "Ferreteria/v0.3/class"

from HTYP, the free directory anyone can edit if they can prove to me that they're not a spambot
Jump to navigation Jump to search
m (Woozle moved page Ferreteria/v3/class to Ferreteria/v0.3/class: version renumbering)
 
(16 intermediate revisions by the same 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 15:28, 3 February 2020

All Classes

Root Classes

Notes

Things in need of re-examination:

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

rearrangement in progress

Core functionality:

  • handle current row - cFieldRow
  • handle multiple rows
    • sequential - 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:

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)