private static ParameterMetadata BuildParameterMetadata(IParameterTranslations parameterTranslations, string hql) { long start = DateTime.Now.Ticks; ParamLocationRecognizer recognizer = ParamLocationRecognizer.ParseLocations(hql); long end = DateTime.Now.Ticks; if (log.IsDebugEnabled) { log.Debug("HQL param location recognition took " + (end - start) + " mills (" + hql + ")"); } int ordinalParamCount = parameterTranslations.OrdinalParameterCount; int[] locations = recognizer.OrdinalParameterLocationList.ToArray(); if (parameterTranslations.SupportsOrdinalParameterMetadata && locations.Length != ordinalParamCount) { throw new HibernateException("ordinal parameter mismatch"); } ordinalParamCount = locations.Length; OrdinalParameterDescriptor[] ordinalParamDescriptors = new OrdinalParameterDescriptor[ordinalParamCount]; for (int i = 1; i <= ordinalParamCount; i++) { ordinalParamDescriptors[i - 1] = new OrdinalParameterDescriptor(i, parameterTranslations.SupportsOrdinalParameterMetadata ? parameterTranslations.GetOrdinalParameterExpectedType(i) : null, locations[i - 1]); } Dictionary <string, NamedParameterDescriptor> namedParamDescriptorMap = new Dictionary <string, NamedParameterDescriptor>(); foreach (KeyValuePair <string, ParamLocationRecognizer.NamedParameterDescription> entry in recognizer.NamedParameterDescriptionMap) { string name = entry.Key; ParamLocationRecognizer.NamedParameterDescription description = entry.Value; namedParamDescriptorMap[name] = new NamedParameterDescriptor(name, parameterTranslations.GetNamedParameterExpectedType(name), description.BuildPositionsArray(), description.JpaStyle); } return(new ParameterMetadata(ordinalParamDescriptors, namedParamDescriptorMap)); }
private ParameterMetadata BuildNativeSQLParameterMetadata(string sqlString) { ParamLocationRecognizer recognizer = ParamLocationRecognizer.ParseLocations(sqlString); var ordinalDescriptors = new OrdinalParameterDescriptor[recognizer.OrdinalParameterLocationList.Count]; for (int i = 0; i < recognizer.OrdinalParameterLocationList.Count; i++) { int position = recognizer.OrdinalParameterLocationList[i]; ordinalDescriptors[i] = new OrdinalParameterDescriptor(i, null); } IDictionary <string, NamedParameterDescriptor> namedParamDescriptorMap = new Dictionary <string, NamedParameterDescriptor>(); foreach (KeyValuePair <string, ParamLocationRecognizer.NamedParameterDescription> entry in recognizer.NamedParameterDescriptionMap) { string name = entry.Key; ParamLocationRecognizer.NamedParameterDescription description = entry.Value; namedParamDescriptorMap[name] = new NamedParameterDescriptor(name, null, description.JpaStyle); } return(new ParameterMetadata(ordinalDescriptors, namedParamDescriptorMap)); }
public ParameterMetadata BuildParameterMetadata() { var parameterTranslations = GetParameterTranslations(); var ordinalDescriptors = new OrdinalParameterDescriptor[parameterTranslations.OrdinalParameterCount]; for (var i = 1; i <= ordinalDescriptors.Length; i++) { ordinalDescriptors[i - 1] = new OrdinalParameterDescriptor(i, parameterTranslations.SupportsOrdinalParameterMetadata ? parameterTranslations.GetOrdinalParameterExpectedType(i) : null, parameterTranslations.GetOrdinalParameterSqlLocation(i)); } var namedDescriptorMap = new Dictionary<string, NamedParameterDescriptor>(); foreach (var name in parameterTranslations.GetNamedParameterNames()) { namedDescriptorMap[name] = new NamedParameterDescriptor(name, parameterTranslations.GetNamedParameterExpectedType(name), parameterTranslations.GetNamedParameterSqlLocations(name), false);// description.JpaStyle); } return new ParameterMetadata(ordinalDescriptors, namedDescriptorMap); }
private ParameterMetadata BuildNativeSQLParameterMetadata(string sqlString) { ParamLocationRecognizer recognizer = ParamLocationRecognizer.ParseLocations(sqlString); var ordinalDescriptors = new OrdinalParameterDescriptor[recognizer.OrdinalParameterLocationList.Count]; for (int i = 0; i < recognizer.OrdinalParameterLocationList.Count; i++) { int position = recognizer.OrdinalParameterLocationList[i]; ordinalDescriptors[i] = new OrdinalParameterDescriptor(i, null); } IDictionary<string, NamedParameterDescriptor> namedParamDescriptorMap = new Dictionary<string, NamedParameterDescriptor>(); foreach (KeyValuePair<string, ParamLocationRecognizer.NamedParameterDescription> entry in recognizer.NamedParameterDescriptionMap) { string name = entry.Key; ParamLocationRecognizer.NamedParameterDescription description = entry.Value; namedParamDescriptorMap[name] = new NamedParameterDescriptor(name, null, description.JpaStyle); } return new ParameterMetadata(ordinalDescriptors, namedParamDescriptorMap); }
private static ParameterMetadata BuildParameterMetadata(IParameterTranslations parameterTranslations, string hql) { long start = DateTime.Now.Ticks; ParamLocationRecognizer recognizer = ParamLocationRecognizer.ParseLocations(hql); long end = DateTime.Now.Ticks; if (log.IsDebugEnabled) { log.Debug("HQL param location recognition took " + (end - start) + " mills (" + hql + ")"); } int ordinalParamCount = parameterTranslations.OrdinalParameterCount; int[] locations = recognizer.OrdinalParameterLocationList.ToArray(); if (parameterTranslations.SupportsOrdinalParameterMetadata && locations.Length != ordinalParamCount) { throw new HibernateException("ordinal parameter mismatch"); } ordinalParamCount = locations.Length; OrdinalParameterDescriptor[] ordinalParamDescriptors = new OrdinalParameterDescriptor[ordinalParamCount]; for (int i = 1; i <= ordinalParamCount; i++) { ordinalParamDescriptors[i - 1] = new OrdinalParameterDescriptor(i, parameterTranslations.SupportsOrdinalParameterMetadata ? parameterTranslations.GetOrdinalParameterExpectedType(i) : null, locations[i - 1]); } Dictionary<string, NamedParameterDescriptor> namedParamDescriptorMap = new Dictionary<string, NamedParameterDescriptor>(); foreach (KeyValuePair<string, ParamLocationRecognizer.NamedParameterDescription> entry in recognizer.NamedParameterDescriptionMap) { string name = entry.Key; ParamLocationRecognizer.NamedParameterDescription description = entry.Value; namedParamDescriptorMap[name] = new NamedParameterDescriptor(name, parameterTranslations.GetNamedParameterExpectedType(name), description.BuildPositionsArray(), description.JpaStyle); } return new ParameterMetadata(ordinalParamDescriptors, namedParamDescriptorMap); }