Convert messages.content to JSONB. This is a very disruptive change.
This commit is contained in:
		| @@ -158,7 +158,7 @@ class TfElement extends LitElement { | ||||
| 	async fetch_new_message(id) { | ||||
| 		let messages = await tfrpc.rpc.query( | ||||
| 			` | ||||
| 				SELECT messages.* | ||||
| 				SELECT id, previous, author, sequence, timestamp, hash, json(content), signature | ||||
| 				FROM messages | ||||
| 				JOIN json_each(?) AS following ON messages.author = following.value | ||||
| 				WHERE messages.id = ? | ||||
| @@ -221,7 +221,7 @@ class TfElement extends LitElement { | ||||
| 		this.tags = await tfrpc.rpc.query( | ||||
| 			` | ||||
| 			WITH | ||||
| 				recent AS (SELECT id, content FROM messages | ||||
| 				recent AS (SELECT id, json(content) AS content FROM messages | ||||
| 					WHERE messages.timestamp > ? AND json_extract(content, '$.type') = 'post' | ||||
| 					ORDER BY timestamp DESC LIMIT 1024), | ||||
| 				recent_channels AS (SELECT recent.id, '#' || json_extract(content, '$.channel') AS tag | ||||
|   | ||||
| @@ -33,12 +33,12 @@ class TfTabNewsFeedElement extends LitElement { | ||||
| 		if (this.hash.startsWith('#@')) { | ||||
| 			let r = await tfrpc.rpc.query( | ||||
| 				` | ||||
| 					WITH mine AS (SELECT messages.* | ||||
| 					WITH mine AS (SELECT id, previous, author, sequence, timestamp, hash, json(content) AS content, signature | ||||
| 						FROM messages | ||||
| 						WHERE messages.author = ? | ||||
| 						ORDER BY sequence DESC | ||||
| 						LIMIT 20) | ||||
| 					SELECT messages.* | ||||
| 					SELECT messages.id, messages.previous, messages.author, messages.sequence, messages.timestamp, messages.hash, json(messages.content) AS content, messages.signature | ||||
| 						FROM mine | ||||
| 						JOIN messages_refs ON mine.id = messages_refs.ref | ||||
| 						JOIN messages ON messages_refs.message = messages.id | ||||
| @@ -51,11 +51,11 @@ class TfTabNewsFeedElement extends LitElement { | ||||
| 		} else if (this.hash.startsWith('#%')) { | ||||
| 			return await tfrpc.rpc.query( | ||||
| 				` | ||||
| 					SELECT messages.* | ||||
| 					SELECT id, previous, author, sequence, timestamp, hash, json(content) AS content, signature | ||||
| 					FROM messages | ||||
| 					WHERE id = ?1 | ||||
| 					UNION | ||||
| 					SELECT messages.* | ||||
| 					SELECT id, previous, author, sequence, timestamp, hash, json(content) AS content, signature | ||||
| 					FROM messages JOIN messages_refs | ||||
| 					ON messages.id = messages_refs.message | ||||
| 					WHERE messages_refs.ref = ?1 | ||||
| @@ -69,17 +69,17 @@ class TfTabNewsFeedElement extends LitElement { | ||||
| 				promises.push( | ||||
| 					tfrpc.rpc.query( | ||||
| 						` | ||||
| 						WITH news AS (SELECT messages.* | ||||
| 						WITH news AS (SELECT messages.id, messages.previous, messages.author, messages.sequence, messages.timestamp, messages.hash, json(messages.content) AS content, messages.signature | ||||
| 						FROM messages | ||||
| 						JOIN json_each(?) AS following ON messages.author = following.value | ||||
| 						WHERE messages.timestamp > ? AND messages.timestamp < ? | ||||
| 						ORDER BY messages.timestamp DESC) | ||||
| 						SELECT messages.* | ||||
| 						SELECT messages.id, messages.previous, messages.author, messages.sequence, messages.timestamp, messages.hash, json(messages.content) AS content, messages.signature | ||||
| 							FROM news | ||||
| 							JOIN messages_refs ON news.id = messages_refs.ref | ||||
| 							JOIN messages ON messages_refs.message = messages.id | ||||
| 						UNION | ||||
| 						SELECT messages.* | ||||
| 						SELECT messages.id, messages.previous, messages.author, messages.sequence, messages.timestamp, messages.hash, json(messages.content) AS content, messages.signature | ||||
| 							FROM news | ||||
| 							JOIN messages_refs ON news.id = messages_refs.message | ||||
| 							JOIN messages ON messages_refs.ref = messages.id | ||||
| @@ -107,18 +107,18 @@ class TfTabNewsFeedElement extends LitElement { | ||||
| 		this.start_time = last_start_time - 24 * 60 * 60 * 1000; | ||||
| 		let more = await tfrpc.rpc.query( | ||||
| 			` | ||||
| 				WITH news AS (SELECT messages.* | ||||
| 				WITH news AS (SELECT messages.id, messages.previous, messages.author, messages.sequence, messages.timestamp, messages.hash, json(messages.content) AS content, messages.signature | ||||
| 				FROM messages | ||||
| 				JOIN json_each(?) AS following ON messages.author = following.value | ||||
| 				WHERE messages.timestamp > ? | ||||
| 				AND messages.timestamp <= ? | ||||
| 				ORDER BY messages.timestamp DESC) | ||||
| 				SELECT messages.* | ||||
| 				SELECT messages.id, messages.previous, messages.author, messages.sequence, messages.timestamp, messages.hash, json(messages.content) AS content, messages.signature | ||||
| 					FROM news | ||||
| 					JOIN messages_refs ON news.id = messages_refs.ref | ||||
| 					JOIN messages ON messages_refs.message = messages.id | ||||
| 				UNION | ||||
| 				SELECT messages.* | ||||
| 				SELECT messages.id, messages.previous, messages.author, messages.sequence, messages.timestamp, messages.hash, json(messages.content) AS content, messages.signature | ||||
| 					FROM news | ||||
| 					JOIN messages_refs ON news.id = messages_refs.message | ||||
| 					JOIN messages ON messages_refs.ref = messages.id | ||||
|   | ||||
		Reference in New Issue
	
	Block a user