static void get_restricciones_usuario(
$usuario, 
$proyecto 
)
     |   
     | 
 
	
			Parámetros:
			
	
	
		
		
 
	
    
     
		toba_perfil_datos __construct(
)
     |   
     | 
 
	
	
	
		
		
 
	
    
     
		void buscar_gatillos_from(
$sql_from, 
$fuente_datos 
)
     |   
     | 
 
	
			Parámetros:
			
					| 
				   | 
				
				$sql_from:  | 
				
							 | 
					| 
				   | 
				
				$fuente_datos:  | 
				
							 | 
				
	
	
		
		
 
	
    
     
		void buscar_tablas_gatillo_en_sql(
$sql, 
$fuente_datos 
)
     |   
     | 
 
	
			Parámetros:
			
	
	
		
		
 
	
    
     
		void cargar_info_dimensiones(
$fuente 
)
     |   
     | 
 
	
			Parámetros:
			
	
	
		
		
 
	
    
     
		void cargar_info_restricciones(
)
     |   
     | 
 
	
	
	
		
		
 
	
    
     
		void filtrar(
$sql, [
$fuente_datos = null], [
$dimensiones_desactivar = null] 
)
     |   
     | 
 
	Agrega clausulas WHERE en un SQl de acuerdo al perfil de datos del usuario actual 
			Parámetros:
			
					| 
				   | 
				
				$sql:  | 
				
							 | 
					| 
				   | 
				
				$fuente_datos:  | 
				
							 | 
					| 
				   | 
				
				$dimensiones_desactivar:  | 
				
							 | 
				
	
	
		
		
 
	
    
     
		void filtrar_sql(
$sql, [
$fuente_datos = null], [
$dimensiones_desactivar = null] 
)
     |   
     | 
 
	
			Parámetros:
			
					| 
				   | 
				
				$sql:  | 
				
							 | 
					| 
				   | 
				
				$fuente_datos:  | 
				
							 | 
					| 
				   | 
				
				$dimensiones_desactivar:  | 
				
							 | 
				
	
	
		
		
 
	
	Provee alias de tablas unicos para la construccion de subquerys anidados. 
	
	
		
		
 
	
    
     
		void get_clausula_from(
$sql 
)
     |   
     | 
 
	
			Parámetros:
			
	
	
		
		
 
	
    
     
		void get_gatillos_activos(
$fuente 
)
     |   
     | 
 
	Devuelve la lista de gatillos que esta utilizando el esquema para filtrar SQLs 
			Parámetros:
			
	
	
		
		
 
	
	retorna el perfil de datos del usuario 
	
	
  
    | 
    	Return:   | string. Si el usuario no posee un perfil devuelve NULL | 
    	
  
		
		
 
	
    
     
		void get_info(
$fuente_datos 
)
     |   
     | 
 
	Estado del sistema de perfiles de datos para el usuario actual 
			Parámetros:
			
	
	
		
		
 
	
    
     
		void get_lista_columnas_sql(
$columnas, 
$alias 
)
     |   
     | 
 
	
			Parámetros:
			
	
	
		
		
 
	
    
     
		$value get_lista_dimensiones_restringidas(
$fuente 
)
     |   
     | 
 
	Retorna un array con las dimensiones sobre las que se establecieron restricciones 
			Parámetros:
			
	
	
  
    | 
    	Return:   | Retorna un array de dimensiones | 
    	
  
		
		
 
	
    
     
		$value get_restricciones(
$fuente 
)
     |   
     | 
 
	Retorna un array con las restricciones aplicadas sobre las dimensiones 
			Parámetros:
			
	
	
  
    | 
    	Return:   | Retorna un array de dimensiones con un subarray de restricciones | 
    	
  
		
		
 
	
    
     
		array get_restricciones_dimension(
$fuente, string
$nombre 
)
     |   
     | 
 
	Retorna las restricciones aplicadas sobre una dimensión específica 
			Parámetros:
			
					| 
				string   | 
				
				$nombre:  | 
				
				 Nombre de la dimension			 | 
					| 
				   | 
				
				$fuente:  | 
				
							 | 
				
	
	
  
    | 
    	Return:   | Arreglo de restricciones si aplica, sino null | 
    	
  
		
		
 
	
    
     
		void get_where_aplicacion_restriccion(
$fuente_datos, 
$dimension, 
$columnas_aplicacion_restriccion, 
$alias_tabla 
)
     |   
     | 
 
	
			Parámetros:
			
					| 
				   | 
				
				$fuente_datos:  | 
				
							 | 
					| 
				   | 
				
				$dimension:  | 
				
							 | 
					| 
				   | 
				
				$columnas_aplicacion_restriccion:  | 
				
							 | 
					| 
				   | 
				
				$alias_tabla:  | 
				
							 | 
				
	
	
		
		
 
	
    
     
		void get_where_dimension_gatillo(
$fuente_datos, 
$dimension, 
$tabla_gatillo, 
$alias_tabla 
)
     |   
     | 
 
	Devuelve el WHERE correspondiente a un gatillo para una dimension particular 
			Parámetros:
			
					| 
				   | 
				
				$fuente_datos:  | 
				
							 | 
					| 
				   | 
				
				$dimension:  | 
				
							 | 
					| 
				   | 
				
				$tabla_gatillo:  | 
				
							 | 
					| 
				   | 
				
				$alias_tabla:  | 
				
							 | 
				
	
	
		
		
 
	
    
     
		void hay_combinaciones_de_querys(
$sql 
)
     |   
     | 
 
	
			Parámetros:
			
	
	
		
		
 
	
    
     
		void indexar_gatillos(
$fuente 
)
     |   
     | 
 
	
			Parámetros:
			
	
	
		
		
 
	
    
     
		$value posee_dimension(
varchar
$dimension, [unknown_type
$fuente_datos = null] 
)
     |   
     | 
 
	Indica si el perfil de datos del usuario posee una dimension en particular para una fuente datos dada. 
			Parámetros:
			
					| 
				varchar   | 
				
				$dimension:  | 
				
				 nombre de la dimension a consultar.			 | 
					| 
				unknown_type   | 
				
				$fuente_datos:  | 
				
				 fuente de datos donde deberia estar la dimension.			 | 
				
	
	
		
		
 
	
    
     
		$value posee_restricciones(
$fuente 
)
     |   
     | 
 
	Indica si el perfil de datos del usuario posee restricciones 
			Parámetros:
			
	
	
		
		
 
	
    
     
		void probar_sqls(
$fuente_datos, 
$sqls, [
$contar_filas = false], [
$mostrar_filas = false] 
)
     |   
     | 
 
	Ejecuta el filtrado de SQL sobre un conjunto de SQLs 
			Parámetros:
			
					| 
				   | 
				
				$fuente_datos:  | 
				
							 | 
					| 
				   | 
				
				$sqls:  | 
				
							 | 
					| 
				   | 
				
				$contar_filas:  | 
				
							 | 
					| 
				   | 
				
				$mostrar_filas:  | 
				
							 | 
				
	
	
		
		
 
	
    
     
		string quitar_comentarios_sql(
string
$sql 
)
     |   
     | 
 
	Quita los comentarios de la sentencia SQL con formato -- o el tipico formato /* * / 
			Parámetros:
			
					| 
				string   | 
				
				$sql:  | 
				
				 Sentencia a la que se le quiere quitar los comentarios			 | 
				
	
	
		
		
 
	
    
     
		void reconocer_dimensiones_implicadas(
$tablas_encontradas, 
$fuente_datos 
)
     |   
     | 
 
	Arma la lista de dimensiones implicadas y el gatillo a utilizar por cada una 
(Los gatillos tienen un orden de preferencia -el orden viene del sql de gatillos-, 			y no debe utilizarse mas de uno por dimension) 		(Un gatillo puede pertenecer a mas de una dimension)
			Parámetros:
			
					| 
				   | 
				
				$tablas_encontradas:  | 
				
							 | 
					| 
				   | 
				
				$fuente_datos:  | 
				
							 |