public static final Create sample1() { Create create = new Create(); create.setTable(new GroupSymbol("temp_table"));//$NON-NLS-1$ List elements = new ArrayList(); elements.add(new ElementSymbol("a")); //$NON-NLS-1$ elements.add(new ElementSymbol("b")); //$NON-NLS-1$ create.setElementSymbolsAsColumns(elements); return create; }
public static final Create sample2() { Create create = new Create(); create.setTable(new GroupSymbol("temp_table2"));//$NON-NLS-1$ List elements = new ArrayList(); elements.add(new ElementSymbol("a")); //$NON-NLS-1$ elements.add(new ElementSymbol("b")); //$NON-NLS-1$ create.setElementSymbolsAsColumns(elements); return create; }
public static Create getCreateCommand(GroupSymbol group, boolean matview, QueryMetadataInterface metadata) throws QueryMetadataException, TeiidComponentException { Create create = new Create(); create.setTable(group); List<ElementSymbol> allColumns = ResolverUtil.resolveElementsInGroup(group, metadata); create.setElementSymbolsAsColumns(allColumns); if (!matview) { for (int i = 0; i < allColumns.size(); i++) { ElementSymbol es = allColumns.get(i); if (!metadata.elementSupports(es.getMetadataID(), SupportConstants.Element.NULL)) { create.getColumns().get(i).setNullType(NullType.No_Nulls); if (es.getType() == DataTypeManager.DefaultDataClasses.INTEGER && metadata.elementSupports(es.getMetadataID(), SupportConstants.Element.AUTO_INCREMENT)) { create.getColumns().get(i).setAutoIncremented(true); //serial } } } } Object pk = metadata.getPrimaryKey(group.getMetadataID()); if (pk != null) { List<ElementSymbol> pkColumns = resolveIndex(metadata, allColumns, pk); create.getPrimaryKey().addAll(pkColumns); } return create; }
public static Create getCreateCommand(GroupSymbol group, boolean matview, QueryMetadataInterface metadata) throws QueryMetadataException, TeiidComponentException { Create create = new Create(); create.setTable(group); List<ElementSymbol> allColumns = ResolverUtil.resolveElementsInGroup(group, metadata); create.setElementSymbolsAsColumns(allColumns); if (!matview) { for (int i = 0; i < allColumns.size(); i++) { ElementSymbol es = allColumns.get(i); if (!metadata.elementSupports(es.getMetadataID(), SupportConstants.Element.NULL)) { create.getColumns().get(i).setNullType(NullType.No_Nulls); if (es.getType() == DataTypeManager.DefaultDataClasses.INTEGER && metadata.elementSupports(es.getMetadataID(), SupportConstants.Element.AUTO_INCREMENT)) { create.getColumns().get(i).setAutoIncremented(true); //serial } } } } Object pk = metadata.getPrimaryKey(group.getMetadataID()); if (pk != null) { List<ElementSymbol> pkColumns = resolveIndex(metadata, allColumns, pk); create.getPrimaryKey().addAll(pkColumns); } return create; }
public static Create getCreateCommand(GroupSymbol group, boolean matview, QueryMetadataInterface metadata) throws QueryMetadataException, TeiidComponentException { Create create = new Create(); create.setTable(group); List<ElementSymbol> allColumns = ResolverUtil.resolveElementsInGroup(group, metadata); create.setElementSymbolsAsColumns(allColumns); if (!matview) { for (int i = 0; i < allColumns.size(); i++) { ElementSymbol es = allColumns.get(i); if (!metadata.elementSupports(es.getMetadataID(), SupportConstants.Element.NULL)) { create.getColumns().get(i).setNullType(NullType.No_Nulls); if (es.getType() == DataTypeManager.DefaultDataClasses.INTEGER && metadata.elementSupports(es.getMetadataID(), SupportConstants.Element.AUTO_INCREMENT)) { create.getColumns().get(i).setAutoIncremented(true); //serial } } } } Object pk = metadata.getPrimaryKey(group.getMetadataID()); if (pk != null) { List<ElementSymbol> pkColumns = resolveIndex(metadata, allColumns, pk); create.getPrimaryKey().addAll(pkColumns); } return create; }
@Test public void testCreateTempTableWithPrimaryKey() { Create create = new Create(); create.setTable(new GroupSymbol("tempTable")); //$NON-NLS-1$ List<ElementSymbol> columns = new ArrayList<ElementSymbol>(); ElementSymbol column = new ElementSymbol("c1");//$NON-NLS-1$ column.setType(DataTypeManager.DefaultDataClasses.BOOLEAN); columns.add(column); column = new ElementSymbol("c2");//$NON-NLS-1$ column.setType(DataTypeManager.DefaultDataClasses.BYTE); columns.add(column); create.setElementSymbolsAsColumns(columns); create.getPrimaryKey().add(column); helpTest("Create local TEMPORARY table tempTable(c1 boolean, c2 byte, primary key (c2))", "CREATE LOCAL TEMPORARY TABLE tempTable (c1 boolean, c2 byte, PRIMARY KEY(c2))", create); //$NON-NLS-1$ //$NON-NLS-2$ }
@Test public void testCreateTempTable2() { Create create = new Create(); create.setTable(new GroupSymbol("tempTable")); //$NON-NLS-1$ List<ElementSymbol> columns = new ArrayList<ElementSymbol>(); ElementSymbol column = new ElementSymbol("c1");//$NON-NLS-1$ column.setType(DataTypeManager.DefaultDataClasses.BOOLEAN); columns.add(column); column = new ElementSymbol("c2");//$NON-NLS-1$ column.setType(DataTypeManager.DefaultDataClasses.BYTE); columns.add(column); create.setElementSymbolsAsColumns(columns); create.getColumns().get(0).setNullType(NullType.No_Nulls); helpTest("Create local TEMPORARY table tempTable(c1 boolean not null, c2 byte)", "CREATE LOCAL TEMPORARY TABLE tempTable (c1 boolean NOT NULL, c2 byte)", create); //$NON-NLS-1$ //$NON-NLS-2$ }
@Test public void testCreateTempTable1() { Create create = new Create(); create.setTable(new GroupSymbol("tempTable")); //$NON-NLS-1$ List<ElementSymbol> columns = new ArrayList<ElementSymbol>(); ElementSymbol column = new ElementSymbol("c1");//$NON-NLS-1$ column.setType(DataTypeManager.DefaultDataClasses.BOOLEAN); columns.add(column); column = new ElementSymbol("c2");//$NON-NLS-1$ column.setType(DataTypeManager.DefaultDataClasses.BYTE); columns.add(column); create.setElementSymbolsAsColumns(columns); create.setCommitAction(CommitAction.PRESERVE_ROWS); helpTest("Create local TEMPORARY table tempTable (c1 boolean, c2 byte) on commit preserve rows", "CREATE LOCAL TEMPORARY TABLE tempTable (c1 boolean, c2 byte) ON COMMIT PRESERVE ROWS", create); //$NON-NLS-1$ //$NON-NLS-2$ }
@Test public void testTypeAliases() { Create create = new Create(); create.setTable(new GroupSymbol("tempTable")); //$NON-NLS-1$ List<ElementSymbol> columns = new ArrayList<ElementSymbol>(); ElementSymbol column = new ElementSymbol("c1");//$NON-NLS-1$ column.setType(DataTypeManager.DefaultDataClasses.STRING); columns.add(column); column = new ElementSymbol("c2");//$NON-NLS-1$ column.setType(DataTypeManager.DefaultDataClasses.BYTE); columns.add(column); column = new ElementSymbol("c3");//$NON-NLS-1$ column.setType(DataTypeManager.DefaultDataClasses.SHORT); columns.add(column); column = new ElementSymbol("c4");//$NON-NLS-1$ column.setType(DataTypeManager.DefaultDataClasses.FLOAT); columns.add(column); column = new ElementSymbol("c5");//$NON-NLS-1$ column.setType(DataTypeManager.DefaultDataClasses.BIG_DECIMAL); columns.add(column); create.setElementSymbolsAsColumns(columns); helpTest("Create local TEMPORARY table tempTable (c1 varchar, c2 tinyint, c3 smallint, c4 real, c5 decimal)", "CREATE LOCAL TEMPORARY TABLE tempTable (c1 varchar, c2 tinyint, c3 smallint, c4 real, c5 decimal)", create); //$NON-NLS-1$ }
Create create = new Create(); create.setTable(new GroupSymbol(tempTableID)); create.setElementSymbolsAsColumns(withProcessor.columns); withProcessor.alterCreate(create); tempTable = addTempTable(tempTableID, create, buffer, true, context); Create create = new Create(); create.setTable(new GroupSymbol(tempTableID)); create.setElementSymbolsAsColumns(columns); return addTempTable(tempTableID, create, buffer, true, context);
Create create = new Create(); create.setTable(new GroupSymbol(tempTableID)); create.setElementSymbolsAsColumns(withProcessor.columns); withProcessor.alterCreate(create); tempTable = addTempTable(tempTableID, create, buffer, true, context); Create create = new Create(); create.setTable(new GroupSymbol(tempTableID)); create.setElementSymbolsAsColumns(columns); return addTempTable(tempTableID, create, buffer, true, context);
Create create = new Create(); create.setTable(new GroupSymbol(tempTableID)); create.setElementSymbolsAsColumns(withProcessor.columns); withProcessor.alterCreate(create); tempTable = addTempTable(tempTableID, create, buffer, true, context); Create create = new Create(); create.setTable(new GroupSymbol(tempTableID)); create.setElementSymbolsAsColumns(columns); return addTempTable(tempTableID, create, buffer, true, context);