put scripts into upgrade folder and add function
This commit is contained in:
		
							parent
							
								
									34e94844e7
								
							
						
					
					
						commit
						f58a30dbc8
					
				| @ -0,0 +1,33 @@ | |||||||
|  | DROP FUNCTION IF EXISTS tps.build_srce_view_sql(text, text); | ||||||
|  | CREATE OR REPLACE FUNCTION tps.build_srce_view_sql(_srce text, _schema text) RETURNS TEXT | ||||||
|  | AS | ||||||
|  | $f$ | ||||||
|  | DECLARE	 | ||||||
|  | 	--_schema text; | ||||||
|  | 	--_srce text; | ||||||
|  | 	_sql text; | ||||||
|  | BEGIN | ||||||
|  |     --_schema:= 'default'; | ||||||
|  | 	--_srce:= 'dcard'; | ||||||
|  | SELECT | ||||||
|  |    'DROP VIEW IF EXISTS tpsv.'||s.srce||'_'||(list.e->>'name')||'; CREATE VIEW tpsv.'||s.srce||'_'||(list.e->>'name')||' AS SELECT id, logid, allj, '||string_agg('(allj#>>'''||rec.PATH::text||''')::'||rec.type||' AS "'||rec.column_name||'"',', ')||' FROM tps.trans WHERE srce = '''||s.srce||''';' | ||||||
|  | INTO | ||||||
|  | 	_sql | ||||||
|  | FROM | ||||||
|  |     tps.srce s | ||||||
|  |     JOIN LATERAL jsonb_array_elements(s.defn->'schemas') list (e) ON TRUE | ||||||
|  |     JOIN LATERAL jsonb_array_elements(list.e->'columns') as cols(e) ON TRUE | ||||||
|  |     JOIN LATERAL jsonb_to_record (cols.e) AS rec( PATH text[], "type" text, column_name text) ON TRUE  | ||||||
|  | WHERE | ||||||
|  |     srce = _srce | ||||||
|  |     AND list.e->>'name' = _schema | ||||||
|  | GROUP BY | ||||||
|  |     s.srce | ||||||
|  |     ,list.e; | ||||||
|  | 
 | ||||||
|  | RETURN _sql; | ||||||
|  | RAISE NOTICE '%',_sql; | ||||||
|  | 
 | ||||||
|  | END | ||||||
|  | $f$ | ||||||
|  | LANGUAGE plpgsql; | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user