﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
4	fmgVen - optimize generated queries to utilize hashed aliases	fmguler	fmguler	"Currently !QueryGenerator.generateRecursively() generates SQL select clauses in the form of objectPath.fieldName convention, and !QueryMapper.mapRecursively() maps the resultset to the object graph according to this convention. While this approach is simple and works most of the time, it generates too verbose select clauses, and some aliases are too long. Database systems usually have limits on alias length, and crops the alias if it is too long (30 chars for oracle). While this is not a problem for postgresql for 2-3 nested object graphs, depending on the field name length, some of the fields are cropped and are not mapped correctly.

As a solution, we can generate a full object path to hashed alias map in the QueryGenerator, and use this map while mapping. We may need to pass an extra object (the map) between QGen and QMap.

Also in the scope of this ticket, we can also consider further optimizing generated queries according to best practices."	task	new	major	fmgVen 0.3	fmgVen			qgenerator, optimize, hashed aliases	
