@Override public final String getName() { return name.last(); } }
@Override public final String getName() { return name.last(); } }
@Override public final String getName() { return name.last(); } }
@Override public final String getUserType() { return userType != null ? userType.last() : null; }
@Override public final String getName() { return StringUtils.defaultIfNull(name.last(), ""); }
private static final UnqualifiedName[] last(Name[] qualifiedName) { if (qualifiedName instanceof UnqualifiedName[]) return (UnqualifiedName[]) qualifiedName; UnqualifiedName[] result = new UnqualifiedName[qualifiedName.length]; for (int i = 0; i < qualifiedName.length; i++) if (qualifiedName[i] instanceof QualifiedName) { QualifiedName q = (QualifiedName) qualifiedName[i]; result[i] = q.qualifiedName[q.qualifiedName.length - 1]; } else if (qualifiedName[i] instanceof UnqualifiedName) result[i] = (UnqualifiedName) qualifiedName[i]; else result[i] = new UnqualifiedName(qualifiedName[i].last()); return result; }
@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj instanceof DefaultDataTypeDefinition) { DefaultDataTypeDefinition other = (DefaultDataTypeDefinition) obj; if (!normalise(type).equals(normalise(other.type))) return false; if (userType == null && other.userType == null) return true; if (userType == null || other.userType == null) return false; return normalise(userType.last()).equals(normalise(other.userType.last())); } return false; }
ArrayTableEmulation(Object[] array, Name alias, Name fieldAlias) { super(alias); this.array = array; this.alias = alias; this.fieldAlias = fieldAlias == null ? DSL.name("COLUMN_VALUE") : fieldAlias; this.field = new Fields<Record>(DSL.field(name(alias.last(), this.fieldAlias.last()), DSL.getDataType(array.getClass().getComponentType()))); }
private static final Fields<Record> init(Class<?> arrayType, Name alias, Name[] fields) { List<Field<?>> result = new ArrayList<Field<?>>(); // [#1114] VARRAY/TABLE of OBJECT have more than one field if (UDTRecord.class.isAssignableFrom(arrayType)) { try { UDTRecord<?> record = (UDTRecord<?>) arrayType.newInstance(); for (Field<?> f : record.fields()) { result.add(DSL.field(name(alias.last(), f.getName()), f.getDataType())); } } catch (Exception e) { throw new DataTypeException("Bad UDT Type : " + arrayType, e); } } // Simple array types have a synthetic field called "COLUMN_VALUE" else { result.add(DSL.field(name(alias.last(), "COLUMN_VALUE"), DSL.getDataType(arrayType))); } return new Fields<Record>(result); }
if (u != null && u.last().startsWith("_")) { String[] name = u.getName(); name[name.length - 1] = name[name.length - 1].substring(1);
private static final Field<?> parseFieldNameOrSequenceExpression(ParserContext ctx) { Name name = parseName(ctx); if (name.qualified()) { String last = name.last(); if ("NEXTVAL".equalsIgnoreCase(last)) return sequence(name.qualifier()).nextval(); else if ("CURRVAL".equalsIgnoreCase(last)) return sequence(name.qualifier()).currval(); } if (ctx.dsl.settings().getParseUnknownFunctions() == ParseUnknownFunctions.IGNORE && parseIf(ctx, '(')) { List<Field<?>> arguments = new ArrayList<Field<?>>(); if (!parseIf(ctx, ')')) { do { arguments.add(parseField(ctx)); } while (parseIf(ctx, ',')); parse(ctx, ')'); } return function(name, Object.class, arguments.toArray(EMPTY_FIELD)); } else { return field(name); } }
private static final Field<?> parseBindVariable(ParserContext ctx) { switch (ctx.character()) { case '?': parse(ctx, '?'); return DSL.val(ctx.nextBinding(), Object.class); case ':': parse(ctx, ':', false); return DSL.param(parseIdentifier(ctx).last(), ctx.nextBinding()); default: throw ctx.exception("Illegal bind variable character"); } }
type = "scala.Array[" + getType(db, schema, baseType.last(), p, s, baseType, javaType, defaultType, udtMode) + "]"; else type = getType(db, schema, baseType.last(), p, s, baseType, javaType, defaultType, udtMode) + "[]"; else if (u != null && db.getConfiguredCustomType(u.last()) != null) { type = u.last();
db, type.getSchema(), baseType.last(), type.getPrecision(), type.getScale(),