String typeWithDefault(
			String rslt, boolean array, String[] defaults, boolean withDefault)
		{
			if ( null == defaults || ! withDefault )
				return rslt;
			
			int n = defaults.length;
			if ( n != 1 )
				array = true;
			else if ( ! array )
				array = arrayish.matcher( rslt).matches();
			
			StringBuilder sb = new StringBuilder( rslt);
			sb.append( " DEFAULT CAST(");
			if ( array )
				sb.append( "ARRAY[");
			if ( n != 1 )
				sb.append( "\n\t");
			for ( String s : defaults )
			{
				sb.append( DDRWriter.eQuote( s));
				if ( 0 < -- n )
					sb.append( ",\n\t");
			}
			if ( array )
				sb.append( ']');
			sb.append( " AS ").append( rslt).append( ')');
			return sb.toString();
		}