MCPcopy Create free account
hub / github.com/ElementsProject/lightning / print_columns

Function print_columns

plugins/sql.c:2133–2180  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2131}
2132
2133static void print_columns(const struct table_desc *td, const char *indent,
2134 const char *objsrc)
2135{
2136 for (size_t i = 0; i < tal_count(td->columns); i++) {
2137 const char *origin;
2138 if (td->columns[i]->sub) {
2139 const struct table_desc *subtd = td->columns[i]->sub;
2140
2141 if (!subtd->is_subobject) {
2142 const char *subindent;
2143
2144 subindent = tal_fmt(tmpctx, "%s ", indent);
2145 printf("%s- related table `%s`%s\n",
2146 indent, subtd->name, objsrc);
2147 printf("%s- `row` (reference to `%s.%s`, sqltype `INTEGER`)\n"
2148 "%s- `arrindex` (index within array, sqltype `INTEGER`)\n",
2149 subindent, td->name, primary_key_name(td),
2150 subindent);
2151 print_columns(subtd, subindent, "");
2152 } else {
2153 const char *subobjsrc;
2154
2155 subobjsrc = tal_fmt(tmpctx,
2156 ", from JSON object `%s%s`",
2157 json_prefix(tmpctx, td),
2158 td->columns[i]->jsonname);
2159 print_columns(subtd, indent, subobjsrc);
2160 }
2161 continue;
2162 }
2163
2164 if (streq(objsrc, "")
2165 && td->columns[i]->jsonname
2166 && !streq(td->columns[i]->dbname, td->columns[i]->jsonname)) {
2167 origin = tal_fmt(tmpctx, ", from JSON field `%s%s`",
2168 json_prefix(tmpctx, td),
2169 td->columns[i]->jsonname);
2170 } else
2171 origin = "";
2172 printf("%s- `%s` (type `%s`, sqltype `%s%s`%s%s)\n",
2173 indent, td->columns[i]->dbname,
2174 fieldtypemap[td->columns[i]->ftype].name,
2175 fieldtypemap[td->columns[i]->ftype].sqltype,
2176 streq(td->columns[i]->dbname, "created_index")
2177 ? " PRIMARY KEY" : "",
2178 origin, objsrc);
2179 }
2180}
2181
2182static bool print_one_table(const char *member,
2183 struct table_desc *td,

Callers 1

print_one_tableFunction · 0.85

Calls 2

primary_key_nameFunction · 0.85
json_prefixFunction · 0.85

Tested by

no test coverage detected