Skip to content

Commit 37c8313

Browse files
committed
fixes #270
1 parent 0d1d1c0 commit 37c8313

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

src/main/jjtree/net/sf/jsqlparser/parser/JSqlParserCC.jjt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2739,7 +2739,7 @@ ColDataType ColDataType():
27392739
List<Integer> array = new ArrayList<Integer>();
27402740
}
27412741
{
2742-
( tk=<K_CHARACTER> tk2=<K_VARYING> { colDataType.setDataType(tk.image + " " + tk2.image); }
2742+
( tk=<K_CHARACTER> [tk2=<K_VARYING>] { colDataType.setDataType(tk.image + (tk2!=null?" " + tk2.image:"")); }
27432743
| tk=<S_IDENTIFIER> { colDataType.setDataType(tk.image); } )
27442744

27452745
[LOOKAHEAD(2) "(" ( (tk=<S_LONG> | tk=<S_CHAR_LITERAL> | tk=<S_IDENTIFIER>) { argumentsStringList.add(tk.image); } ["," {/*argumentsStringList.add(",");*/}] )* ")"]

src/test/java/net/sf/jsqlparser/test/create/CreateTableTest.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,14 @@ public void testMySqlCreateTableWithTextIndexes() throws JSQLParserException {
195195
public void testCreateTableWithCheck() throws JSQLParserException {
196196
assertSqlCanBeParsedAndDeparsed("CREATE TABLE table2 (id INT (10) NOT NULL, name TEXT, url TEXT, CONSTRAINT name_not_empty CHECK (name <> ''))");
197197
}
198+
199+
public void testCreateTableIssue270() throws JSQLParserException {
200+
assertSqlCanBeParsedAndDeparsed("CREATE TABLE item (i_item_sk integer NOT NULL, i_item_id character (16) NOT NULL, i_rec_start_date date, i_rec_end_date date, i_item_desc character varying(200), i_current_price numeric(7,2), i_wholesale_cost numeric(7,2), i_brand_id integer, i_brand character(50), i_class_id integer, i_class character(50), i_category_id integer, i_category character(50), i_manufact_id integer, i_manufact character(50), i_size character(20), i_formulation character(20), i_color character(20), i_units character(10), i_container character(10), i_manager_id integer, i_product_name character(50) )", true);
201+
}
202+
203+
public void testCreateTableIssue270_1() throws JSQLParserException {
204+
assertSqlCanBeParsedAndDeparsed("CREATE TABLE item (i_item_sk integer NOT NULL, i_item_id character (16))");
205+
}
198206

199207
public void testRUBiSCreateList() throws Exception {
200208
BufferedReader in = new BufferedReader(new InputStreamReader(CreateTableTest.class.getResourceAsStream("/RUBiS-create-requests.txt")));

0 commit comments

Comments
 (0)