get rid of validation steps not required
This commit is contained in:
		
							parent
							
								
									b6c1126ecb
								
							
						
					
					
						commit
						eb8da0f6c5
					
				| @ -54,10 +54,13 @@ BEGIN | ||||
|         $$ | ||||
|     INTO | ||||
|         _defn; | ||||
| 
 | ||||
| /* | ||||
| 1. determine if insert or update | ||||
| 2. if update, determine if conflicts exists | ||||
| 3. do merge | ||||
| validate schema? should not need validation if created by ui | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| */ | ||||
| 
 | ||||
|     -------extract current source schema for compare-------------------------- | ||||
| @ -70,34 +73,9 @@ BEGIN | ||||
|     WHERE | ||||
|         srce = _defn->>'name'; | ||||
| 
 | ||||
|     -------check for transctions already existing under this source----------- | ||||
|     SELECT | ||||
|         COUNT(*) | ||||
|     INTO | ||||
|         _cnt | ||||
|     FROM | ||||
|         tps.trans | ||||
|     WHERE | ||||
|         srce = _defn->>'name'; | ||||
| 
 | ||||
|     --if there are transaction already and the schema is different stop-------- | ||||
|     IF _cnt > 0 THEN | ||||
|         IF _cur_sch <> _defn->'schema' THEN | ||||
|             _conflict = TRUE; | ||||
|             --get out of the function somehow | ||||
|             _message =  | ||||
|             $$ | ||||
|                     { | ||||
|     "message": "transactions already exist under source profile and there is a pending schema change", | ||||
|     "status": "error" | ||||
| } | ||||
|             $$: :jsonb; | ||||
|             return _message; | ||||
|         END IF; | ||||
|     END IF; | ||||
| 
 | ||||
|     /*------------------------------------------------------- | ||||
|     do schema validation fo _defn object? | ||||
|     do schema validation | ||||
|     ---------------------------------------------------------*/ | ||||
|      | ||||
|     -------------------insert definition---------------------------------------- | ||||
| @ -109,32 +87,7 @@ BEGIN | ||||
|         SET | ||||
|             defn = _defn; | ||||
|      | ||||
|     ------------------drop existing type----------------------------------------- | ||||
| 
 | ||||
|     EXECUTE format('DROP TYPE IF EXISTS tps.%I',_defn->>'name'); | ||||
| 
 | ||||
|     ------------------create new type-------------------------------------------- | ||||
| 
 | ||||
|     SELECT | ||||
|         string_agg(quote_ident(prs.key)||' '||prs.type,',') | ||||
|     INTO | ||||
|         _sql | ||||
|     FROM  | ||||
|         tps.srce | ||||
|         --unwrap the schema definition array | ||||
|         LEFT JOIN LATERAL jsonb_populate_recordset(null: :tps.srce_defn_schema, defn->'schema') prs ON TRUE | ||||
|     WHERE    | ||||
|         srce = _defn->>'name' | ||||
|     GROUP BY | ||||
|         srce; | ||||
| 
 | ||||
|     RAISE NOTICE 'CREATE TYPE tps.% AS (%)',_defn->>'name',_sql; | ||||
| 
 | ||||
|     EXECUTE format('CREATE TYPE tps.%I AS (%s)',_defn->>'name',_sql); | ||||
| 
 | ||||
|     EXECUTE format('COMMENT ON TYPE tps.%I IS %L',_defn->>'name',(_defn->>'description')); | ||||
| 
 | ||||
|     ----------------set message----------------------------------------------------- | ||||
|      | ||||
|     _message =  | ||||
|         $$ | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user