/** * Method unApplyTypes returns a new Fields instance without any type information. * * @return returns a new instance of Fields with this instances field names and no type information */ public Fields unApplyTypes() { return applyTypes(); }
/** * Constructor CountBy creates a new CountBy instance. Use this constructor when used with a {@link AggregateBy} * instance. * * @param countField of type Fields */ @ConstructorProperties({"countField"}) public CountBy( Fields countField ) { super( Fields.ALL, new CountPartials( countField.applyTypes( Long.TYPE ) ), new Sum( countField.applyTypes( Long.TYPE ) ) ); }
/** * Constructor CountBy creates a new CountBy instance. Use this constructor when used with a {@link AggregateBy} * instance. * * @param countField of type Fields * @param include of type Include */ @ConstructorProperties({"countField", "include"}) public CountBy( Fields countField, Include include ) { super( Fields.ALL, new CountPartials( countField.applyTypes( Long.TYPE ), include ), new Sum( countField.applyTypes( Long.TYPE ) ) ); }
/** * Constructor CountBy creates a new CountBy instance. Use this constructor when used with a {@link AggregateBy} * instance. * * @param countField of type Fields */ @ConstructorProperties({"valueFields", "countField"}) public CountBy( Fields valueFields, Fields countField ) { super( valueFields, new CountPartials( countField.applyTypes( Long.TYPE ) ), new Sum( countField.applyTypes( Long.TYPE ) ) ); }
/** * Constructor CountBy creates a new CountBy instance. Use this constructor when used with a {@link AggregateBy} * instance. * * @param countField of type Fields */ @ConstructorProperties({"valueFields", "countField", "include"}) public CountBy( Fields valueFields, Fields countField, Include include ) { super( valueFields, new CountPartials( countField.applyTypes( Long.TYPE ), include ), new Sum( countField.applyTypes( Long.TYPE ) ) ); }
private static Fields makeFieldDeclaration( Fields fieldDeclaration ) { if( fieldDeclaration.hasTypes() ) return fieldDeclaration; return fieldDeclaration.applyTypes( Double.class ); }
private static Fields toFields( DDLColumn[] ddlColumns ) { Fields fields = Fields.NONE; for( DDLColumn ddlColumn : ddlColumns ) fields = fields.append( new Fields( ddlColumn.name ).applyTypes( ddlColumn.type ) ); return fields; } }
private static Fields maskVoid( Fields fields, Fields mask ) { if( fields == null ) return null; if( mask == null || !fields.hasTypes() || !mask.hasTypes() ) return fields; Fields voidedKey = mask.applyTypes( Fields.size( mask.size(), Void.class ) ); fields = fields.applyTypes( voidedKey ); return fields; }
private static Fields maskVoid( Fields fields, Fields mask ) { if( fields == null ) return null; if( mask == null || !fields.hasTypes() || !mask.hasTypes() ) return fields; Fields voidedKey = mask.applyTypes( Fields.size( mask.size(), Void.class ) ); fields = fields.applyTypes( voidedKey ); return fields; }
private TupleEntry getEntry( String[] names, Class[] types, Object... values ) { Fields fields = new Fields( names ).applyTypes( types ); Tuple parameters = new Tuple( values ); return new TupleEntry( fields, parameters ); }
private TupleEntry getEntry( String[] names, Class[] types, Object... values ) { Fields fields = new Fields( names ).applyTypes( types ); Tuple parameters = new Tuple( values ); return new TupleEntry( fields, parameters ); }
private TupleEntry getEntry( String[] names, Class[] types, Object... values ) { Fields fields = new Fields( names ).applyTypes( types ); Tuple parameters = new Tuple( values ); return new TupleEntry( fields, parameters ); }
public void testResolveWithTypes() { Fields selector = new Fields( "ip" ); Fields fields[] = new Fields[]{new Fields( "ip" ).applyTypes( String.class ), new Fields( "offset", "line" ).applyTypes( String.class, String.class )}; Fields resolved = Fields.resolve( selector, fields ); assertTrue( resolved.hasTypes() ); }
private TupleEntry getEntry( String[] names, Class[] types, Object... values ) { Fields fields = new Fields( names ).applyTypes( types ); Tuple parameters = new Tuple( values ); return new TupleEntry( fields, parameters ); }
@Test public void testIntoSelectDistinct() throws Exception { setResultsTo( "TEST", "RESULTS", new Fields( "NAME" ).applyTypes( String.class ) ); assertUpdate( 5, "insert into test.results select distinct(name) from sales.emps" ); }
@Test public void testIntoSelectValues() throws Exception { setResultsTo( "TEST", "RESULTS", new Fields( "EMPNO", "NAME" ).applyTypes( int.class, String.class ) ); assertUpdate( 5, "insert into test.results values (100,'Fred'),(110,'Eric'),(110,'John'),(120,'Wilma'),(130,'Alice')" ); }
public void testMergeWithSelectorsWithTypes() { Type[] types = new Type[ 10 ]; Arrays.fill( types, int.class ); types[ 1 ] = long.class; Fields f1 = new Fields( "1", "2", "3", "4", "5", "6", "7", "8", "9", "10" ).applyTypes( types ); Fields f2 = new Fields( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ).applyTypes( types ); Fields merged = Fields.merge( f1, f2 ); assertEquals( 20, merged.size() ); assertEquals( 20, merged.getTypes().length ); assertEquals( long.class, merged.getTypes()[ 1 ] ); assertEquals( long.class, merged.getTypes()[ 11 ] ); }
@Test @Ignore public void testIntoSelect() throws Exception { setResultsTo( "TEST", "RESULTS", new Fields( "EMPNO", "NAME" ).applyTypes( int.class, String.class ) ); assertUpdate( 5, "insert into test.results select empno, name from sales.emps" ); }
public void testSetCoerce() { Fields fieldsA = new Fields( "a", "b", "c" ).applyTypes( String.class, String.class, String.class ); Tuple tupleA = new Tuple( "0", "1", "2" ); Fields fieldsB = new Fields( "c", "b" ).applyTypes( Integer.class, Integer.class ); Tuple tupleB = new Tuple( -2, -1 ); tupleA.set( fieldsA, fieldsB, tupleB ); assertEquals( "wrong size", 3, tupleA.size() ); assertEquals( "not equal: tuple.get(0)", "0", tupleA.getObject( 0 ) ); assertEquals( "not equal: tuple.get(1)", "-1", tupleA.getObject( 1 ) ); assertEquals( "not equal: tuple.get(2)", "-2", tupleA.getObject( 2 ) ); } }
@Test public void testIntoSelectValuesDate() throws Exception { setResultsTo( "TEST", "RESULTS", new Fields( "DATE", "TIME", "DATETIME" ).applyTypes( new SQLDateCoercibleType(), new SQLTimeCoercibleType(), new SQLTimestampCoercibleType() ) ); assertUpdate( 1, "insert into test.results values (DATE '2013-07-07', TIME '15:15:01.01', TIMESTAMP '2013-07-07 15:15:01.01')" ); }