{ accesses: {}, analyzers: {}, configs: {}, functions: {}, models: {}, params: {}, tables: { place: 'DEFINE TABLE place TYPE ANY SCHEMALESS PERMISSIONS NONE', town: 'DEFINE TABLE town TYPE ANY SCHEMALESS PERMISSIONS NONE' }, users: {} }
Schemaless means that the table is free to accept any sort of data that we give it. If the tables were SCHEMAFULL, they would have been much more strict. A schemafull table will ignore input for any field except id unless they are defined in advance.
DEFINETABLEschemafull_townSCHEMAFULL; -- schemafull_town only has one defined field DEFINEFIELDpopulationONschemafull_townTYPEnumber;
-- So the query succeeds, but 'name' data is ignored CREATEschemafull_townSETname="Riverdale", population=75000; REMOVETABLEschemafull_town;
The empty input shows that place and town are schemaless, without any defined fields. That means that we could create a town with a name that is a completely different type, like a number.
We don't want people to create towns with names like 9999.999999, so we will create a schema on the next page to ensure that this won't happen. Let's first delete this unwanted town.