Ferreteria/v0.42/sql/node: Difference between revisions
Jump to navigation
Jump to search
(Created page with "==About== * '''table purpose''': root for all data * '''record purpose''': a thing that has values * '''Module''': {{l/version|odata}} ==History== * '''2017-03-12''' started *...") |
(concept explanation from 0.41 (no changes)) |
||
Line 3: | Line 3: | ||
* '''record purpose''': a thing that has values | * '''record purpose''': a thing that has values | ||
* '''Module''': {{l/version|odata}} | * '''Module''': {{l/version|odata}} | ||
==Concept== | |||
Every '''node''' | |||
* is a record in the node table | |||
* can have zero or more '''leaf'''s | |||
** There's generally no point to having zero, but no reason to forbid it. | |||
* can have a (node) '''type''' which points to a handler-class | |||
** so that when we're looking at a group of unspecified nodes, we know how to handle each one | |||
==History== | ==History== | ||
* '''2017-03-12''' started | * '''2017-03-12''' started |
Revision as of 01:36, 24 January 2020
About
- table purpose: root for all data
- record purpose: a thing that has values
- Module: Template:L/version
Concept
Every node
- is a record in the node table
- can have zero or more leafs
- There's generally no point to having zero, but no reason to forbid it.
- can have a (node) type which points to a handler-class
- so that when we're looking at a group of unspecified nodes, we know how to handle each one
History
- 2017-03-12 started
- 2017-04-09 decided there really should be a WhenMade timestamp; can always remove later
- 2017-08-05 renamed Class to Type for consistency with tf_leaf: records use "types", code maps these to "classes"
- 2020-01-16 redesigning for v0.4 (copied from Ferreteria/sql/tf node)
- 2020-01-23 copying from v0.41 to v0.42 essentially unaltered
Fields
- Type: name of node type; code should know how to map these to node-handler classes
SQL
CREATE TABLE `node` (
`ID` INT(4) NOT NULL AUTO_INCREMENT,
`Type` VARCHAR(255) NOT NULL COMMENT "name of node type",
`WhenMade` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY(`ID`)
) ENGINE=InnoDB;