{
"success": true,
"count": 1059,
"tokens": [
{
"kind": "Create",
"text": "CREATE",
"start": 69,
"end": 75
},
{
"kind": "Database",
"text": "DATABASE",
"start": 76,
"end": 84
},
{
"kind": "If",
"text": "IF",
"start": 85,
"end": 87
},
{
"kind": "Not",
"text": "NOT",
"start": 88,
"end": 91
},
{
"kind": "Exists",
"text": "EXISTS",
"start": 92,
"end": 98
},
{
"kind": "Identifier_",
"text": "test_db",
"start": 99,
"end": 106
},
{
"kind": "Semicolon",
"text": ";",
"start": 106,
"end": 107
},
{
"kind": "Identifier_",
"text": "USE",
"start": 109,
"end": 112
},
{
"kind": "Identifier_",
"text": "test_db",
"start": 113,
"end": 120
},
{
"kind": "Semicolon",
"text": ";",
"start": 120,
"end": 121
},
{
"kind": "Create",
"text": "CREATE",
"start": 143,
"end": 149
},
{
"kind": "Table",
"text": "TABLE",
"start": 150,
"end": 155
},
{
"kind": "Identifier_",
"text": "users",
"start": 156,
"end": 161
},
{
"kind": "LeftParen",
"text": "(",
"start": 162,
"end": 163
},
{
"kind": "Identifier_",
"text": "id",
"start": 169,
"end": 171
},
{
"kind": "Int",
"text": "INT",
"start": 172,
"end": 175
},
{
"kind": "Primary",
"text": "PRIMARY",
"start": 176,
"end": 183
},
{
"kind": "Key",
"text": "KEY",
"start": 184,
"end": 187
},
{
"kind": "AutoIncrement",
"text": "AUTO_INCREMENT",
"start": 188,
"end": 202
},
{
"kind": "Comma",
"text": ",",
"start": 202,
"end": 203
},
{
"kind": "Identifier_",
"text": "username",
"start": 209,
"end": 217
},
{
"kind": "Varchar",
"text": "VARCHAR",
"start": 218,
"end": 225
},
{
"kind": "LeftParen",
"text": "(",
"start": 225,
"end": 226
},
{
"kind": "NumberLiteral",
"text": "50",
"start": 226,
"end": 228
},
{
"kind": "RightParen",
"text": ")",
"start": 228,
"end": 229
},
{
"kind": "Unique",
"text": "UNIQUE",
"start": 230,
"end": 236
},
{
"kind": "Not",
"text": "NOT",
"start": 237,
"end": 240
},
{
"kind": "Null",
"text": "NULL",
"start": 241,
"end": 245
},
{
"kind": "Comma",
"text": ",",
"start": 245,
"end": 246
},
{
"kind": "Identifier_",
"text": "email",
"start": 252,
"end": 257
},
{
"kind": "Varchar",
"text": "VARCHAR",
"start": 258,
"end": 265
},
{
"kind": "LeftParen",
"text": "(",
"start": 265,
"end": 266
},
{
"kind": "NumberLiteral",
"text": "100",
"start": 266,
"end": 269
},
{
"kind": "RightParen",
"text": ")",
"start": 269,
"end": 270
},
{
"kind": "Unique",
"text": "UNIQUE",
"start": 271,
"end": 277
},
{
"kind": "Not",
"text": "NOT",
"start": 278,
"end": 281
},
{
"kind": "Null",
"text": "NULL",
"start": 282,
"end": 286
},
{
"kind": "Comma",
"text": ",",
"start": 286,
"end": 287
},
{
"kind": "Identifier_",
"text": "password_hash",
"start": 293,
"end": 306
},
{
"kind": "Varchar",
"text": "VARCHAR",
"start": 307,
"end": 314
},
{
"kind": "LeftParen",
"text": "(",
"start": 314,
"end": 315
},
{
"kind": "NumberLiteral",
"text": "255",
"start": 315,
"end": 318
},
{
"kind": "RightParen",
"text": ")",
"start": 318,
"end": 319
},
{
"kind": "Not",
"text": "NOT",
"start": 320,
"end": 323
},
{
"kind": "Null",
"text": "NULL",
"start": 324,
"end": 328
},
{
"kind": "Comma",
"text": ",",
"start": 328,
"end": 329
},
{
"kind": "Identifier_",
"text": "first_name",
"start": 335,
"end": 345
},
{
"kind": "Varchar",
"text": "VARCHAR",
"start": 346,
"end": 353
},
{
"kind": "LeftParen",
"text": "(",
"start": 353,
"end": 354
},
{
"kind": "NumberLiteral",
"text": "50",
"start": 354,
"end": 356
},
{
"kind": "RightParen",
"text": ")",
"start": 356,
"end": 357
},
{
"kind": "Comma",
"text": ",",
"start": 357,
"end": 358
},
{
"kind": "Identifier_",
"text": "last_name",
"start": 364,
"end": 373
},
{
"kind": "Varchar",
"text": "VARCHAR",
"start": 374,
"end": 381
},
{
"kind": "LeftParen",
"text": "(",
"start": 381,
"end": 382
},
{
"kind": "NumberLiteral",
"text": "50",
"start": 382,
"end": 384
},
{
"kind": "RightParen",
"text": ")",
"start": 384,
"end": 385
},
{
"kind": "Comma",
"text": ",",
"start": 385,
"end": 386
},
{
"kind": "Identifier_",
"text": "date_of_birth",
"start": 392,
"end": 405
},
{
"kind": "Date",
"text": "DATE",
"start": 406,
"end": 410
},
{
"kind": "Comma",
"text": ",",
"start": 410,
"end": 411
},
{
"kind": "Identifier_",
"text": "is_active",
"start": 417,
"end": 426
},
{
"kind": "Boolean",
"text": "BOOLEAN",
"start": 427,
"end": 434
},
{
"kind": "Default",
"text": "DEFAULT",
"start": 435,
"end": 442
},
{
"kind": "True",
"text": "TRUE",
"start": 443,
"end": 447
},
{
"kind": "Comma",
"text": ",",
"start": 447,
"end": 448
},
{
"kind": "Identifier_",
"text": "created_at",
"start": 454,
"end": 464
},
{
"kind": "Timestamp",
"text": "TIMESTAMP",
"start": 465,
"end": 474
},
{
"kind": "Default",
"text": "DEFAULT",
"start": 475,
"end": 482
},
{
"kind": "Identifier_",
"text": "CURRENT_TIMESTAMP",
"start": 483,
"end": 500
},
{
"kind": "Comma",
"text": ",",
"start": 500,
"end": 501
},
{
"kind": "Identifier_",
"text": "updated_at",
"start": 507,
"end": 517
},
{
"kind": "Timestamp",
"text": "TIMESTAMP",
"start": 518,
"end": 527
},
{
"kind": "Default",
"text": "DEFAULT",
"start": 528,
"end": 535
},
{
"kind": "Identifier_",
"text": "CURRENT_TIMESTAMP",
"start": 536,
"end": 553
},
{
"kind": "On",
"text": "ON",
"start": 554,
"end": 556
},
{
"kind": "Update",
"text": "UPDATE",
"start": 557,
"end": 563
},
{
"kind": "Identifier_",
"text": "CURRENT_TIMESTAMP",
"start": 564,
"end": 581
},
{
"kind": "RightParen",
"text": ")",
"start": 583,
"end": 584
},
{
"kind": "Semicolon",
"text": ";",
"start": 584,
"end": 585
},
{
"kind": "Create",
"text": "CREATE",
"start": 589,
"end": 595
},
{
"kind": "Table",
"text": "TABLE",
"start": 596,
"end": 601
},
{
"kind": "Identifier_",
"text": "categories",
"start": 602,
"end": 612
},
{
"kind": "LeftParen",
"text": "(",
"start": 613,
"end": 614
},
{
"kind": "Identifier_",
"text": "id",
"start": 620,
"end": 622
},
{
"kind": "Int",
"text": "INT",
"start": 623,
"end": 626
},
{
"kind": "Primary",
"text": "PRIMARY",
"start": 627,
"end": 634
},
{
"kind": "Key",
"text": "KEY",
"start": 635,
"end": 638
},
{
"kind": "AutoIncrement",
"text": "AUTO_INCREMENT",
"start": 639,
"end": 653
},
{
"kind": "Comma",
"text": ",",
"start": 653,
"end": 654
},
{
"kind": "Identifier_",
"text": "name",
"start": 660,
"end": 664
},
{
"kind": "Varchar",
"text": "VARCHAR",
"start": 665,
"end": 672
},
{
"kind": "LeftParen",
"text": "(",
"start": 672,
"end": 673
},
{
"kind": "NumberLiteral",
"text": "100",
"start": 673,
"end": 676
},
{
"kind": "RightParen",
"text": ")",
"start": 676,
"end": 677
},
{
"kind": "Not",
"text": "NOT",
"start": 678,
"end": 681
},
{
"kind": "Null",
"text": "NULL",
"start": 682,
"end": 686
},
{
"kind": "Comma",
"text": ",",
"start": 686,
"end": 687
},
{
"kind": "Identifier_",
"text": "description",
"start": 693,
"end": 704
},
{
"kind": "Text",
"text": "TEXT",
"start": 705,
"end": 709
},
{
"kind": "Comma",
"text": ",",
"start": 709,
"end": 710
},
{
"kind": "Identifier_",
"text": "parent_id",
"start": 716,
"end": 725
},
{
"kind": "Int",
"text": "INT",
"start": 726,
"end": 729
},
{
"kind": "Comma",
"text": ",",
"start": 729,
"end": 730
},
{
"kind": "Foreign",
"text": "FOREIGN",
"start": 736,
"end": 743
},
{
"kind": "Key",
"text": "KEY",
"start": 744,
"end": 747
},
{
"kind": "LeftParen",
"text": "(",
"start": 748,
"end": 749
},
{
"kind": "Identifier_",
"text": "parent_id",
"start": 749,
"end": 758
},
{
"kind": "RightParen",
"text": ")",
"start": 758,
"end": 759
},
{
"kind": "References",
"text": "REFERENCES",
"start": 760,
"end": 770
},
{
"kind": "Identifier_",
"text": "categories",
"start": 771,
"end": 781
},
{
"kind": "LeftParen",
"text": "(",
"start": 781,
"end": 782
},
{
"kind": "Identifier_",
"text": "id",
"start": 782,
"end": 784
},
{
"kind": "RightParen",
"text": ")",
"start": 784,
"end": 785
},
{
"kind": "On",
"text": "ON",
"start": 786,
"end": 788
},
{
"kind": "Delete",
"text": "DELETE",
"start": 789,
"end": 795
},
{
"kind": "Set",
"text": "SET",
"start": 796,
"end": 799
},
{
"kind": "Null",
"text": "NULL",
"start": 800,
"end": 804
},
{
"kind": "RightParen",
"text": ")",
"start": 806,
"end": 807
},
{
"kind": "Semicolon",
"text": ";",
"start": 807,
"end": 808
},
{
"kind": "Create",
"text": "CREATE",
"start": 812,
"end": 818
},
{
"kind": "Table",
"text": "TABLE",
"start": 819,
"end": 824
},
{
"kind": "Identifier_",
"text": "products",
"start": 825,
"end": 833
},
{
"kind": "LeftParen",
"text": "(",
"start": 834,
"end": 835
},
{
"kind": "Identifier_",
"text": "id",
"start": 841,
"end": 843
},
{
"kind": "Int",
"text": "INT",
"start": 844,
"end": 847
},
{
"kind": "Primary",
"text": "PRIMARY",
"start": 848,
"end": 855
},
{
"kind": "Key",
"text": "KEY",
"start": 856,
"end": 859
},
{
"kind": "AutoIncrement",
"text": "AUTO_INCREMENT",
"start": 860,
"end": 874
},
{
"kind": "Comma",
"text": ",",
"start": 874,
"end": 875
},
{
"kind": "Identifier_",
"text": "name",
"start": 881,
"end": 885
},
{
"kind": "Varchar",
"text": "VARCHAR",
"start": 886,
"end": 893
},
{
"kind": "LeftParen",
"text": "(",
"start": 893,
"end": 894
},
{
"kind": "NumberLiteral",
"text": "200",
"start": 894,
"end": 897
},
{
"kind": "RightParen",
"text": ")",
"start": 897,
"end": 898
},
{
"kind": "Not",
"text": "NOT",
"start": 899,
"end": 902
},
{
"kind": "Null",
"text": "NULL",
"start": 903,
"end": 907
},
{
"kind": "Comma",
"text": ",",
"start": 907,
"end": 908
},
{
"kind": "Identifier_",
"text": "description",
"start": 914,
"end": 925
},
{
"kind": "Text",
"text": "TEXT",
"start": 926,
"end": 930
},
{
"kind": "Comma",
"text": ",",
"start": 930,
"end": 931
},
{
"kind": "Identifier_",
"text": "price",
"start": 937,
"end": 942
},
{
"kind": "Decimal",
"text": "DECIMAL",
"start": 943,
"end": 950
},
{
"kind": "LeftParen",
"text": "(",
"start": 950,
"end": 951
},
{
"kind": "NumberLiteral",
"text": "10",
"start": 951,
"end": 953
},
{
"kind": "Comma",
"text": ",",
"start": 953,
"end": 954
},
{
"kind": "NumberLiteral",
"text": "2",
"start": 955,
"end": 956
},
{
"kind": "RightParen",
"text": ")",
"start": 956,
"end": 957
},
{
"kind": "Not",
"text": "NOT",
"start": 958,
"end": 961
},
{
"kind": "Null",
"text": "NULL",
"start": 962,
"end": 966
},
{
"kind": "Comma",
"text": ",",
"start": 966,
"end": 967
},
{
"kind": "Identifier_",
"text": "stock_quantity",
"start": 973,
"end": 987
},
{
"kind": "Int",
"text": "INT",
"start": 988,
"end": 991
},
{
"kind": "Default",
"text": "DEFAULT",
"start": 992,
"end": 999
},
{
"kind": "NumberLiteral",
"text": "0",
"start": 1000,
"end": 1001
},
{
"kind": "Comma",
"text": ",",
"start": 1001,
"end": 1002
},
{
"kind": "Identifier_",
"text": "category_id",
"start": 1008,
"end": 1019
},
{
"kind": "Int",
"text": "INT",
"start": 1020,
"end": 1023
},
{
"kind": "Comma",
"text": ",",
"start": 1023,
"end": 1024
},
{
"kind": "Identifier_",
"text": "created_by",
"start": 1030,
"end": 1040
},
{
"kind": "Int",
"text": "INT",
"start": 1041,
"end": 1044
},
{
"kind": "Comma",
"text": ",",
"start": 1044,
"end": 1045
},
{
"kind": "Identifier_",
"text": "created_at",
"start": 1051,
"end": 1061
},
{
"kind": "Timestamp",
"text": "TIMESTAMP",
"start": 1062,
"end": 1071
},
{
"kind": "Default",
"text": "DEFAULT",
"start": 1072,
"end": 1079
},
{
"kind": "Identifier_",
"text": "CURRENT_TIMESTAMP",
"start": 1080,
"end": 1097
},
{
"kind": "Comma",
"text": ",",
"start": 1097,
"end": 1098
},
{
"kind": "Foreign",
"text": "FOREIGN",
"start": 1104,
"end": 1111
},
{
"kind": "Key",
"text": "KEY",
"start": 1112,
"end": 1115
},
{
"kind": "LeftParen",
"text": "(",
"start": 1116,
"end": 1117
},
{
"kind": "Identifier_",
"text": "category_id",
"start": 1117,
"end": 1128
},
{
"kind": "RightParen",
"text": ")",
"start": 1128,
"end": 1129
},
{
"kind": "References",
"text": "REFERENCES",
"start": 1130,
"end": 1140
},
{
"kind": "Identifier_",
"text": "categories",
"start": 1141,
"end": 1151
},
{
"kind": "LeftParen",
"text": "(",
"start": 1151,
"end": 1152
},
{
"kind": "Identifier_",
"text": "id",
"start": 1152,
"end": 1154
},
{
"kind": "RightParen",
"text": ")",
"start": 1154,
"end": 1155
},
{
"kind": "On",
"text": "ON",
"start": 1156,
"end": 1158
},
{
"kind": "Delete",
"text": "DELETE",
"start": 1159,
"end": 1165
},
{
"kind": "Set",
"text": "SET",
"start": 1166,
"end": 1169
},
{
"kind": "Null",
"text": "NULL",
"start": 1170,
"end": 1174
},
{
"kind": "Comma",
"text": ",",
"start": 1174,
"end": 1175
},
{
"kind": "Foreign",
"text": "FOREIGN",
"start": 1181,
"end": 1188
},
{
"kind": "Key",
"text": "KEY",
"start": 1189,
"end": 1192
},
{
"kind": "LeftParen",
"text": "(",
"start": 1193,
"end": 1194
},
{
"kind": "Identifier_",
"text": "created_by",
"start": 1194,
"end": 1204
},
{
"kind": "RightParen",
"text": ")",
"start": 1204,
"end": 1205
},
{
"kind": "References",
"text": "REFERENCES",
"start": 1206,
"end": 1216
},
{
"kind": "Identifier_",
"text": "users",
"start": 1217,
"end": 1222
},
{
"kind": "LeftParen",
"text": "(",
"start": 1222,
"end": 1223
},
{
"kind": "Identifier_",
"text": "id",
"start": 1223,
"end": 1225
},
{
"kind": "RightParen",
"text": ")",
"start": 1225,
"end": 1226
},
{
"kind": "On",
"text": "ON",
"start": 1227,
"end": 1229
},
{
"kind": "Delete",
"text": "DELETE",
"start": 1230,
"end": 1236
},
{
"kind": "Set",
"text": "SET",
"start": 1237,
"end": 1240
},
{
"kind": "Null",
"text": "NULL",
"start": 1241,
"end": 1245
},
{
"kind": "Comma",
"text": ",",
"start": 1245,
"end": 1246
},
{
"kind": "Index",
"text": "INDEX",
"start": 1252,
"end": 1257
},
{
"kind": "Identifier_",
"text": "idx_price",
"start": 1258,
"end": 1267
},
{
"kind": "LeftParen",
"text": "(",
"start": 1268,
"end": 1269
},
{
"kind": "Identifier_",
"text": "price",
"start": 1269,
"end": 1274
},
{
"kind": "RightParen",
"text": ")",
"start": 1274,
"end": 1275
},
{
"kind": "Comma",
"text": ",",
"start": 1275,
"end": 1276
},
{
"kind": "Index",
"text": "INDEX",
"start": 1282,
"end": 1287
},
{
"kind": "Identifier_",
"text": "idx_category",
"start": 1288,
"end": 1300
},
{
"kind": "LeftParen",
"text": "(",
"start": 1301,
"end": 1302
},
{
"kind": "Identifier_",
"text": "category_id",
"start": 1302,
"end": 1313
},
{
"kind": "RightParen",
"text": ")",
"start": 1313,
"end": 1314
},
{
"kind": "Comma",
"text": ",",
"start": 1314,
"end": 1315
},
{
"kind": "Index",
"text": "INDEX",
"start": 1321,
"end": 1326
},
{
"kind": "Identifier_",
"text": "idx_name",
"start": 1327,
"end": 1335
},
{
"kind": "LeftParen",
"text": "(",
"start": 1336,
"end": 1337
},
{
"kind": "Identifier_",
"text": "name",
"start": 1337,
"end": 1341
},
{
"kind": "RightParen",
"text": ")",
"start": 1341,
"end": 1342
},
{
"kind": "RightParen",
"text": ")",
"start": 1344,
"end": 1345
},
{
"kind": "Semicolon",
"text": ";",
"start": 1345,
"end": 1346
},
{
"kind": "Create",
"text": "CREATE",
"start": 1350,
"end": 1356
},
{
"kind": "Table",
"text": "TABLE",
"start": 1357,
"end": 1362
},
{
"kind": "Identifier_",
"text": "orders",
"start": 1363,
"end": 1369
},
{
"kind": "LeftParen",
"text": "(",
"start": 1370,
"end": 1371
},
{
"kind": "Identifier_",
"text": "id",
"start": 1377,
"end": 1379
},
{
"kind": "Int",
"text": "INT",
"start": 1380,
"end": 1383
},
{
"kind": "Primary",
"text": "PRIMARY",
"start": 1384,
"end": 1391
},
{
"kind": "Key",
"text": "KEY",
"start": 1392,
"end": 1395
},
{
"kind": "AutoIncrement",
"text": "AUTO_INCREMENT",
"start": 1396,
"end": 1410
},
{
"kind": "Comma",
"text": ",",
"start": 1410,
"end": 1411
},
{
"kind": "Identifier_",
"text": "user_id",
"start": 1417,
"end": 1424
},
{
"kind": "Int",
"text": "INT",
"start": 1425,
"end": 1428
},
{
"kind": "Not",
"text": "NOT",
"start": 1429,
"end": 1432
},
{
"kind": "Null",
"text": "NULL",
"start": 1433,
"end": 1437
},
{
"kind": "Comma",
"text": ",",
"start": 1437,
"end": 1438
},
{
"kind": "Identifier_",
"text": "total_amount",
"start": 1444,
"end": 1456
},
{
"kind": "Decimal",
"text": "DECIMAL",
"start": 1457,
"end": 1464
},
{
"kind": "LeftParen",
"text": "(",
"start": 1464,
"end": 1465
},
{
"kind": "NumberLiteral",
"text": "10",
"start": 1465,
"end": 1467
},
{
"kind": "Comma",
"text": ",",
"start": 1467,
"end": 1468
},
{
"kind": "NumberLiteral",
"text": "2",
"start": 1469,
"end": 1470
},
{
"kind": "RightParen",
"text": ")",
"start": 1470,
"end": 1471
},
{
"kind": "Not",
"text": "NOT",
"start": 1472,
"end": 1475
},
{
"kind": "Null",
"text": "NULL",
"start": 1476,
"end": 1480
},
{
"kind": "Comma",
"text": ",",
"start": 1480,
"end": 1481
},
{
"kind": "Identifier_",
"text": "status",
"start": 1487,
"end": 1493
},
{
"kind": "Identifier_",
"text": "ENUM",
"start": 1494,
"end": 1498
},
{
"kind": "LeftParen",
"text": "(",
"start": 1498,
"end": 1499
},
{
"kind": "StringLiteral",
"text": "'pending'",
"start": 1499,
"end": 1508
},
{
"kind": "Comma",
"text": ",",
"start": 1508,
"end": 1509
},
{
"kind": "StringLiteral",
"text": "'processing'",
"start": 1510,
"end": 1522
},
{
"kind": "Comma",
"text": ",",
"start": 1522,
"end": 1523
},
{
"kind": "StringLiteral",
"text": "'shipped'",
"start": 1524,
"end": 1533
},
{
"kind": "Comma",
"text": ",",
"start": 1533,
"end": 1534
},
{
"kind": "StringLiteral",
"text": "'delivered'",
"start": 1535,
"end": 1546
},
{
"kind": "Comma",
"text": ",",
"start": 1546,
"end": 1547
},
{
"kind": "StringLiteral",
"text": "'cancelled'",
"start": 1548,
"end": 1559
},
{
"kind": "RightParen",
"text": ")",
"start": 1559,
"end": 1560
},
{
"kind": "Default",
"text": "DEFAULT",
"start": 1561,
"end": 1568
},
{
"kind": "StringLiteral",
"text": "'pending'",
"start": 1569,
"end": 1578
},
{
"kind": "Comma",
"text": ",",
"start": 1578,
"end": 1579
},
{
"kind": "Identifier_",
"text": "order_date",
"start": 1585,
"end": 1595
},
{
"kind": "Timestamp",
"text": "TIMESTAMP",
"start": 1596,
"end": 1605
},
{
"kind": "Default",
"text": "DEFAULT",
"start": 1606,
"end": 1613
},
{
"kind": "Identifier_",
"text": "CURRENT_TIMESTAMP",
"start": 1614,
"end": 1631
},
{
"kind": "Comma",
"text": ",",
"start": 1631,
"end": 1632
},
{
"kind": "Identifier_",
"text": "shipping_address",
"start": 1638,
"end": 1654
},
{
"kind": "Text",
"text": "TEXT",
"start": 1655,
"end": 1659
},
{
"kind": "Comma",
"text": ",",
"start": 1659,
"end": 1660
},
{
"kind": "Foreign",
"text": "FOREIGN",
"start": 1666,
"end": 1673
},
{
"kind": "Key",
"text": "KEY",
"start": 1674,
"end": 1677
},
{
"kind": "LeftParen",
"text": "(",
"start": 1678,
"end": 1679
},
{
"kind": "Identifier_",
"text": "user_id",
"start": 1679,
"end": 1686
},
{
"kind": "RightParen",
"text": ")",
"start": 1686,
"end": 1687
},
{
"kind": "References",
"text": "REFERENCES",
"start": 1688,
"end": 1698
},
{
"kind": "Identifier_",
"text": "users",
"start": 1699,
"end": 1704
},
{
"kind": "LeftParen",
"text": "(",
"start": 1704,
"end": 1705
},
{
"kind": "Identifier_",
"text": "id",
"start": 1705,
"end": 1707
},
{
"kind": "RightParen",
"text": ")",
"start": 1707,
"end": 1708
},
{
"kind": "On",
"text": "ON",
"start": 1709,
"end": 1711
},
{
"kind": "Delete",
"text": "DELETE",
"start": 1712,
"end": 1718
},
{
"kind": "Identifier_",
"text": "CASCADE",
"start": 1719,
"end": 1726
},
{
"kind": "RightParen",
"text": ")",
"start": 1728,
"end": 1729
},
{
"kind": "Semicolon",
"text": ";",
"start": 1729,
"end": 1730
},
{
"kind": "Create",
"text": "CREATE",
"start": 1734,
"end": 1740
},
{
"kind": "Table",
"text": "TABLE",
"start": 1741,
"end": 1746
},
{
"kind": "Identifier_",
"text": "order_items",
"start": 1747,
"end": 1758
},
{
"kind": "LeftParen",
"text": "(",
"start": 1759,
"end": 1760
},
{
"kind": "Identifier_",
"text": "id",
"start": 1766,
"end": 1768
},
{
"kind": "Int",
"text": "INT",
"start": 1769,
"end": 1772
},
{
"kind": "Primary",
"text": "PRIMARY",
"start": 1773,
"end": 1780
},
{
"kind": "Key",
"text": "KEY",
"start": 1781,
"end": 1784
},
{
"kind": "AutoIncrement",
"text": "AUTO_INCREMENT",
"start": 1785,
"end": 1799
},
{
"kind": "Comma",
"text": ",",
"start": 1799,
"end": 1800
},
{
"kind": "Identifier_",
"text": "order_id",
"start": 1806,
"end": 1814
},
{
"kind": "Int",
"text": "INT",
"start": 1815,
"end": 1818
},
{
"kind": "Not",
"text": "NOT",
"start": 1819,
"end": 1822
},
{
"kind": "Null",
"text": "NULL",
"start": 1823,
"end": 1827
},
{
"kind": "Comma",
"text": ",",
"start": 1827,
"end": 1828
},
{
"kind": "Identifier_",
"text": "product_id",
"start": 1834,
"end": 1844
},
{
"kind": "Int",
"text": "INT",
"start": 1845,
"end": 1848
},
{
"kind": "Not",
"text": "NOT",
"start": 1849,
"end": 1852
},
{
"kind": "Null",
"text": "NULL",
"start": 1853,
"end": 1857
},
{
"kind": "Comma",
"text": ",",
"start": 1857,
"end": 1858
},
{
"kind": "Identifier_",
"text": "quantity",
"start": 1864,
"end": 1872
},
{
"kind": "Int",
"text": "INT",
"start": 1873,
"end": 1876
},
{
"kind": "Not",
"text": "NOT",
"start": 1877,
"end": 1880
},
{
"kind": "Null",
"text": "NULL",
"start": 1881,
"end": 1885
},
{
"kind": "Comma",
"text": ",",
"start": 1885,
"end": 1886
},
{
"kind": "Identifier_",
"text": "unit_price",
"start": 1892,
"end": 1902
},
{
"kind": "Decimal",
"text": "DECIMAL",
"start": 1903,
"end": 1910
},
{
"kind": "LeftParen",
"text": "(",
"start": 1910,
"end": 1911
},
{
"kind": "NumberLiteral",
"text": "10",
"start": 1911,
"end": 1913
},
{
"kind": "Comma",
"text": ",",
"start": 1913,
"end": 1914
},
{
"kind": "NumberLiteral",
"text": "2",
"start": 1915,
"end": 1916
},
{
"kind": "RightParen",
"text": ")",
"start": 1916,
"end": 1917
},
{
"kind": "Not",
"text": "NOT",
"start": 1918,
"end": 1921
},
{
"kind": "Null",
"text": "NULL",
"start": 1922,
"end": 1926
},
{
"kind": "Comma",
"text": ",",
"start": 1926,
"end": 1927
},
{
"kind": "Foreign",
"text": "FOREIGN",
"start": 1933,
"end": 1940
},
{
"kind": "Key",
"text": "KEY",
"start": 1941,
"end": 1944
},
{
"kind": "LeftParen",
"text": "(",
"start": 1945,
"end": 1946
},
{
"kind": "Identifier_",
"text": "order_id",
"start": 1946,
"end": 1954
},
{
"kind": "RightParen",
"text": ")",
"start": 1954,
"end": 1955
},
{
"kind": "References",
"text": "REFERENCES",
"start": 1956,
"end": 1966
},
{
"kind": "Identifier_",
"text": "orders",
"start": 1967,
"end": 1973
},
{
"kind": "LeftParen",
"text": "(",
"start": 1973,
"end": 1974
},
{
"kind": "Identifier_",
"text": "id",
"start": 1974,
"end": 1976
},
{
"kind": "RightParen",
"text": ")",
"start": 1976,
"end": 1977
},
{
"kind": "On",
"text": "ON",
"start": 1978,
"end": 1980
},
{
"kind": "Delete",
"text": "DELETE",
"start": 1981,
"end": 1987
},
{
"kind": "Identifier_",
"text": "CASCADE",
"start": 1988,
"end": 1995
},
{
"kind": "Comma",
"text": ",",
"start": 1995,
"end": 1996
},
{
"kind": "Foreign",
"text": "FOREIGN",
"start": 2002,
"end": 2009
},
{
"kind": "Key",
"text": "KEY",
"start": 2010,
"end": 2013
},
{
"kind": "LeftParen",
"text": "(",
"start": 2014,
"end": 2015
},
{
"kind": "Identifier_",
"text": "product_id",
"start": 2015,
"end": 2025
},
{
"kind": "RightParen",
"text": ")",
"start": 2025,
"end": 2026
},
{
"kind": "References",
"text": "REFERENCES",
"start": 2027,
"end": 2037
},
{
"kind": "Identifier_",
"text": "products",
"start": 2038,
"end": 2046
},
{
"kind": "LeftParen",
"text": "(",
"start": 2046,
"end": 2047
},
{
"kind": "Identifier_",
"text": "id",
"start": 2047,
"end": 2049
},
{
"kind": "RightParen",
"text": ")",
"start": 2049,
"end": 2050
},
{
"kind": "On",
"text": "ON",
"start": 2051,
"end": 2053
},
{
"kind": "Delete",
"text": "DELETE",
"start": 2054,
"end": 2060
},
{
"kind": "Identifier_",
"text": "CASCADE",
"start": 2061,
"end": 2068
},
{
"kind": "Comma",
"text": ",",
"start": 2068,
"end": 2069
},
{
"kind": "Unique",
"text": "UNIQUE",
"start": 2075,
"end": 2081
},
{
"kind": "Key",
"text": "KEY",
"start": 2082,
"end": 2085
},
{
"kind": "Identifier_",
"text": "unique_order_product",
"start": 2086,
"end": 2106
},
{
"kind": "LeftParen",
"text": "(",
"start": 2107,
"end": 2108
},
{
"kind": "Identifier_",
"text": "order_id",
"start": 2108,
"end": 2116
},
{
"kind": "Comma",
"text": ",",
"start": 2116,
"end": 2117
},
{
"kind": "Identifier_",
"text": "product_id",
"start": 2118,
"end": 2128
},
{
"kind": "RightParen",
"text": ")",
"start": 2128,
"end": 2129
},
{
"kind": "RightParen",
"text": ")",
"start": 2131,
"end": 2132
},
{
"kind": "Semicolon",
"text": ";",
"start": 2132,
"end": 2133
},
{
"kind": "Insert",
"text": "INSERT",
"start": 2160,
"end": 2166
},
{
"kind": "Into",
"text": "INTO",
"start": 2167,
"end": 2171
},
{
"kind": "Identifier_",
"text": "users",
"start": 2172,
"end": 2177
},
{
"kind": "LeftParen",
"text": "(",
"start": 2178,
"end": 2179
},
{
"kind": "Identifier_",
"text": "username",
"start": 2179,
"end": 2187
},
{
"kind": "Comma",
"text": ",",
"start": 2187,
"end": 2188
},
{
"kind": "Identifier_",
"text": "email",
"start": 2189,
"end": 2194
},
{
"kind": "Comma",
"text": ",",
"start": 2194,
"end": 2195
},
{
"kind": "Identifier_",
"text": "password_hash",
"start": 2196,
"end": 2209
},
{
"kind": "Comma",
"text": ",",
"start": 2209,
"end": 2210
},
{
"kind": "Identifier_",
"text": "first_name",
"start": 2211,
"end": 2221
},
{
"kind": "Comma",
"text": ",",
"start": 2221,
"end": 2222
},
{
"kind": "Identifier_",
"text": "last_name",
"start": 2223,
"end": 2232
},
{
"kind": "Comma",
"text": ",",
"start": 2232,
"end": 2233
},
{
"kind": "Identifier_",
"text": "date_of_birth",
"start": 2234,
"end": 2247
},
{
"kind": "RightParen",
"text": ")",
"start": 2247,
"end": 2248
},
{
"kind": "Values",
"text": "VALUES",
"start": 2249,
"end": 2255
},
{
"kind": "LeftParen",
"text": "(",
"start": 2257,
"end": 2258
},
{
"kind": "StringLiteral",
"text": "'john_doe'",
"start": 2258,
"end": 2268
},
{
"kind": "Comma",
"text": ",",
"start": 2268,
"end": 2269
},
{
"kind": "StringLiteral",
"text": "'john@example.com'",
"start": 2270,
"end": 2288
},
{
"kind": "Comma",
"text": ",",
"start": 2288,
"end": 2289
},
{
"kind": "StringLiteral",
"text": "'hashed_password_1'",
"start": 2290,
"end": 2309
},
{
"kind": "Comma",
"text": ",",
"start": 2309,
"end": 2310
},
{
"kind": "StringLiteral",
"text": "'John'",
"start": 2311,
"end": 2317
},
{
"kind": "Comma",
"text": ",",
"start": 2317,
"end": 2318
},
{
"kind": "StringLiteral",
"text": "'Doe'",
"start": 2319,
"end": 2324
},
{
"kind": "Comma",
"text": ",",
"start": 2324,
"end": 2325
},
{
"kind": "StringLiteral",
"text": "'1990-05-15'",
"start": 2326,
"end": 2338
},
{
"kind": "RightParen",
"text": ")",
"start": 2338,
"end": 2339
},
{
"kind": "Comma",
"text": ",",
"start": 2339,
"end": 2340
},
{
"kind": "LeftParen",
"text": "(",
"start": 2342,
"end": 2343
},
{
"kind": "StringLiteral",
"text": "'jane_smith'",
"start": 2343,
"end": 2355
},
{
"kind": "Comma",
"text": ",",
"start": 2355,
"end": 2356
},
{
"kind": "StringLiteral",
"text": "'jane@example.com'",
"start": 2357,
"end": 2375
},
{
"kind": "Comma",
"text": ",",
"start": 2375,
"end": 2376
},
{
"kind": "StringLiteral",
"text": "'hashed_password_2'",
"start": 2377,
"end": 2396
},
{
"kind": "Comma",
"text": ",",
"start": 2396,
"end": 2397
},
{
"kind": "StringLiteral",
"text": "'Jane'",
"start": 2398,
"end": 2404
},
{
"kind": "Comma",
"text": ",",
"start": 2404,
"end": 2405
},
{
"kind": "StringLiteral",
"text": "'Smith'",
"start": 2406,
"end": 2413
},
{
"kind": "Comma",
"text": ",",
"start": 2413,
"end": 2414
},
{
"kind": "StringLiteral",
"text": "'1985-08-22'",
"start": 2415,
"end": 2427
},
{
"kind": "RightParen",
"text": ")",
"start": 2427,
"end": 2428
},
{
"kind": "Comma",
"text": ",",
"start": 2428,
"end": 2429
},
{
"kind": "LeftParen",
"text": "(",
"start": 2431,
"end": 2432
},
{
"kind": "StringLiteral",
"text": "'bob_wilson'",
"start": 2432,
"end": 2444
},
{
"kind": "Comma",
"text": ",",
"start": 2444,
"end": 2445
},
{
"kind": "StringLiteral",
"text": "'bob@example.com'",
"start": 2446,
"end": 2463
},
{
"kind": "Comma",
"text": ",",
"start": 2463,
"end": 2464
},
{
"kind": "StringLiteral",
"text": "'hashed_password_3'",
"start": 2465,
"end": 2484
},
{
"kind": "Comma",
"text": ",",
"start": 2484,
"end": 2485
},
{
"kind": "StringLiteral",
"text": "'Bob'",
"start": 2486,
"end": 2491
},
{
"kind": "Comma",
"text": ",",
"start": 2491,
"end": 2492
},
{
"kind": "StringLiteral",
"text": "'Wilson'",
"start": 2493,
"end": 2501
},
{
"kind": "Comma",
"text": ",",
"start": 2501,
"end": 2502
},
{
"kind": "StringLiteral",
"text": "'1992-12-03'",
"start": 2503,
"end": 2515
},
{
"kind": "RightParen",
"text": ")",
"start": 2515,
"end": 2516
},
{
"kind": "Semicolon",
"text": ";",
"start": 2516,
"end": 2517
},
{
"kind": "Insert",
"text": "INSERT",
"start": 2521,
"end": 2527
},
{
"kind": "Into",
"text": "INTO",
"start": 2528,
"end": 2532
},
{
"kind": "Identifier_",
"text": "categories",
"start": 2533,
"end": 2543
},
{
"kind": "LeftParen",
"text": "(",
"start": 2544,
"end": 2545
},
{
"kind": "Identifier_",
"text": "name",
"start": 2545,
"end": 2549
},
{
"kind": "Comma",
"text": ",",
"start": 2549,
"end": 2550
},
{
"kind": "Identifier_",
"text": "description",
"start": 2551,
"end": 2562
},
{
"kind": "RightParen",
"text": ")",
"start": 2562,
"end": 2563
},
{
"kind": "Values",
"text": "VALUES",
"start": 2564,
"end": 2570
},
{
"kind": "LeftParen",
"text": "(",
"start": 2572,
"end": 2573
},
{
"kind": "StringLiteral",
"text": "'Electronics'",
"start": 2573,
"end": 2586
},
{
"kind": "Comma",
"text": ",",
"start": 2586,
"end": 2587
},
{
"kind": "StringLiteral",
"text": "'Electronic devices and accessories'",
"start": 2588,
"end": 2624
},
{
"kind": "RightParen",
"text": ")",
"start": 2624,
"end": 2625
},
{
"kind": "Comma",
"text": ",",
"start": 2625,
"end": 2626
},
{
"kind": "LeftParen",
"text": "(",
"start": 2628,
"end": 2629
},
{
"kind": "StringLiteral",
"text": "'Books'",
"start": 2629,
"end": 2636
},
{
"kind": "Comma",
"text": ",",
"start": 2636,
"end": 2637
},
{
"kind": "StringLiteral",
"text": "'Physical and digital books'",
"start": 2638,
"end": 2666
},
{
"kind": "RightParen",
"text": ")",
"start": 2666,
"end": 2667
},
{
"kind": "Comma",
"text": ",",
"start": 2667,
"end": 2668
},
{
"kind": "LeftParen",
"text": "(",
"start": 2670,
"end": 2671
},
{
"kind": "StringLiteral",
"text": "'Clothing'",
"start": 2671,
"end": 2681
},
{
"kind": "Comma",
"text": ",",
"start": 2681,
"end": 2682
},
{
"kind": "StringLiteral",
"text": "'Apparel and fashion items'",
"start": 2683,
"end": 2710
},
{
"kind": "RightParen",
"text": ")",
"start": 2710,
"end": 2711
},
{
"kind": "Comma",
"text": ",",
"start": 2711,
"end": 2712
},
{
"kind": "LeftParen",
"text": "(",
"start": 2714,
"end": 2715
},
{
"kind": "StringLiteral",
"text": "'Home & Garden'",
"start": 2715,
"end": 2730
},
{
"kind": "Comma",
"text": ",",
"start": 2730,
"end": 2731
},
{
"kind": "StringLiteral",
"text": "'Home improvement and gardening supplies'",
"start": 2732,
"end": 2773
},
{
"kind": "RightParen",
"text": ")",
"start": 2773,
"end": 2774
},
{
"kind": "Semicolon",
"text": ";",
"start": 2774,
"end": 2775
},
{
"kind": "Insert",
"text": "INSERT",
"start": 2779,
"end": 2785
},
{
"kind": "Into",
"text": "INTO",
"start": 2786,
"end": 2790
},
{
"kind": "Identifier_",
"text": "categories",
"start": 2791,
"end": 2801
},
{
"kind": "LeftParen",
"text": "(",
"start": 2802,
"end": 2803
},
{
"kind": "Identifier_",
"text": "name",
"start": 2803,
"end": 2807
},
{
"kind": "Comma",
"text": ",",
"start": 2807,
"end": 2808
},
{
"kind": "Identifier_",
"text": "description",
"start": 2809,
"end": 2820
},
{
"kind": "Comma",
"text": ",",
"start": 2820,
"end": 2821
},
{
"kind": "Identifier_",
"text": "parent_id",
"start": 2822,
"end": 2831
},
{
"kind": "RightParen",
"text": ")",
"start": 2831,
"end": 2832
},
{
"kind": "Values",
"text": "VALUES",
"start": 2833,
"end": 2839
},
{
"kind": "LeftParen",
"text": "(",
"start": 2841,
"end": 2842
},
{
"kind": "StringLiteral",
"text": "'Smartphones'",
"start": 2842,
"end": 2855
},
{
"kind": "Comma",
"text": ",",
"start": 2855,
"end": 2856
},
{
"kind": "StringLiteral",
"text": "'Mobile phones and accessories'",
"start": 2857,
"end": 2888
},
{
"kind": "Comma",
"text": ",",
"start": 2888,
"end": 2889
},
{
"kind": "NumberLiteral",
"text": "1",
"start": 2890,
"end": 2891
},
{
"kind": "RightParen",
"text": ")",
"start": 2891,
"end": 2892
},
{
"kind": "Comma",
"text": ",",
"start": 2892,
"end": 2893
},
{
"kind": "LeftParen",
"text": "(",
"start": 2895,
"end": 2896
},
{
"kind": "StringLiteral",
"text": "'Laptops'",
"start": 2896,
"end": 2905
},
{
"kind": "Comma",
"text": ",",
"start": 2905,
"end": 2906
},
{
"kind": "StringLiteral",
"text": "'Portable computers'",
"start": 2907,
"end": 2927
},
{
"kind": "Comma",
"text": ",",
"start": 2927,
"end": 2928
},
{
"kind": "NumberLiteral",
"text": "1",
"start": 2929,
"end": 2930
},
{
"kind": "RightParen",
"text": ")",
"start": 2930,
"end": 2931
},
{
"kind": "Comma",
"text": ",",
"start": 2931,
"end": 2932
},
{
"kind": "LeftParen",
"text": "(",
"start": 2934,
"end": 2935
},
{
"kind": "StringLiteral",
"text": "'Fiction'",
"start": 2935,
"end": 2944
},
{
"kind": "Comma",
"text": ",",
"start": 2944,
"end": 2945
},
{
"kind": "StringLiteral",
"text": "'Fiction books and novels'",
"start": 2946,
"end": 2972
},
{
"kind": "Comma",
"text": ",",
"start": 2972,
"end": 2973
},
{
"kind": "NumberLiteral",
"text": "2",
"start": 2974,
"end": 2975
},
{
"kind": "RightParen",
"text": ")",
"start": 2975,
"end": 2976
},
{
"kind": "Comma",
"text": ",",
"start": 2976,
"end": 2977
},
{
"kind": "LeftParen",
"text": "(",
"start": 2979,
"end": 2980
},
{
"kind": "StringLiteral",
"text": "'Non-Fiction'",
"start": 2980,
"end": 2993
},
{
"kind": "Comma",
"text": ",",
"start": 2993,
"end": 2994
},
{
"kind": "StringLiteral",
"text": "'Educational and reference books'",
"start": 2995,
"end": 3028
},
{
"kind": "Comma",
"text": ",",
"start": 3028,
"end": 3029
},
{
"kind": "NumberLiteral",
"text": "2",
"start": 3030,
"end": 3031
},
{
"kind": "RightParen",
"text": ")",
"start": 3031,
"end": 3032
},
{
"kind": "Semicolon",
"text": ";",
"start": 3032,
"end": 3033
},
{
"kind": "Insert",
"text": "INSERT",
"start": 3037,
"end": 3043
},
{
"kind": "Into",
"text": "INTO",
"start": 3044,
"end": 3048
},
{
"kind": "Identifier_",
"text": "products",
"start": 3049,
"end": 3057
},
{
"kind": "LeftParen",
"text": "(",
"start": 3058,
"end": 3059
},
{
"kind": "Identifier_",
"text": "name",
"start": 3059,
"end": 3063
},
{
"kind": "Comma",
"text": ",",
"start": 3063,
"end": 3064
},
{
"kind": "Identifier_",
"text": "description",
"start": 3065,
"end": 3076
},
{
"kind": "Comma",
"text": ",",
"start": 3076,
"end": 3077
},
{
"kind": "Identifier_",
"text": "price",
"start": 3078,
"end": 3083
},
{
"kind": "Comma",
"text": ",",
"start": 3083,
"end": 3084
},
{
"kind": "Identifier_",
"text": "stock_quantity",
"start": 3085,
"end": 3099
},
{
"kind": "Comma",
"text": ",",
"start": 3099,
"end": 3100
},
{
"kind": "Identifier_",
"text": "category_id",
"start": 3101,
"end": 3112
},
{
"kind": "Comma",
"text": ",",
"start": 3112,
"end": 3113
},
{
"kind": "Identifier_",
"text": "created_by",
"start": 3114,
"end": 3124
},
{
"kind": "RightParen",
"text": ")",
"start": 3124,
"end": 3125
},
{
"kind": "Values",
"text": "VALUES",
"start": 3126,
"end": 3132
},
{
"kind": "LeftParen",
"text": "(",
"start": 3134,
"end": 3135
},
{
"kind": "StringLiteral",
"text": "'iPhone 15'",
"start": 3135,
"end": 3146
},
{
"kind": "Comma",
"text": ",",
"start": 3146,
"end": 3147
},
{
"kind": "StringLiteral",
"text": "'Latest Apple smartphone'",
"start": 3148,
"end": 3173
},
{
"kind": "Comma",
"text": ",",
"start": 3173,
"end": 3174
},
{
"kind": "FloatLiteral",
"text": "999.99",
"start": 3175,
"end": 3181
},
{
"kind": "Comma",
"text": ",",
"start": 3181,
"end": 3182
},
{
"kind": "NumberLiteral",
"text": "50",
"start": 3183,
"end": 3185
},
{
"kind": "Comma",
"text": ",",
"start": 3185,
"end": 3186
},
{
"kind": "NumberLiteral",
"text": "5",
"start": 3187,
"end": 3188
},
{
"kind": "Comma",
"text": ",",
"start": 3188,
"end": 3189
},
{
"kind": "NumberLiteral",
"text": "1",
"start": 3190,
"end": 3191
},
{
"kind": "RightParen",
"text": ")",
"start": 3191,
"end": 3192
},
{
"kind": "Comma",
"text": ",",
"start": 3192,
"end": 3193
},
{
"kind": "LeftParen",
"text": "(",
"start": 3195,
"end": 3196
},
{
"kind": "StringLiteral",
"text": "'Samsung Galaxy S24'",
"start": 3196,
"end": 3216
},
{
"kind": "Comma",
"text": ",",
"start": 3216,
"end": 3217
},
{
"kind": "StringLiteral",
"text": "'Android flagship phone'",
"start": 3218,
"end": 3242
},
{
"kind": "Comma",
"text": ",",
"start": 3242,
"end": 3243
},
{
"kind": "FloatLiteral",
"text": "899.99",
"start": 3244,
"end": 3250
},
{
"kind": "Comma",
"text": ",",
"start": 3250,
"end": 3251
},
{
"kind": "NumberLiteral",
"text": "30",
"start": 3252,
"end": 3254
},
{
"kind": "Comma",
"text": ",",
"start": 3254,
"end": 3255
},
{
"kind": "NumberLiteral",
"text": "5",
"start": 3256,
"end": 3257
},
{
"kind": "Comma",
"text": ",",
"start": 3257,
"end": 3258
},
{
"kind": "NumberLiteral",
"text": "1",
"start": 3259,
"end": 3260
},
{
"kind": "RightParen",
"text": ")",
"start": 3260,
"end": 3261
},
{
"kind": "Comma",
"text": ",",
"start": 3261,
"end": 3262
},
{
"kind": "LeftParen",
"text": "(",
"start": 3264,
"end": 3265
},
{
"kind": "StringLiteral",
"text": "'MacBook Pro'",
"start": 3265,
"end": 3278
},
{
"kind": "Comma",
"text": ",",
"start": 3278,
"end": 3279
},
{
"kind": "StringLiteral",
"text": "'16-inch laptop with M3 chip'",
"start": 3280,
"end": 3309
},
{
"kind": "Comma",
"text": ",",
"start": 3309,
"end": 3310
},
{
"kind": "FloatLiteral",
"text": "2499.99",
"start": 3311,
"end": 3318
},
{
"kind": "Comma",
"text": ",",
"start": 3318,
"end": 3319
},
{
"kind": "NumberLiteral",
"text": "15",
"start": 3320,
"end": 3322
},
{
"kind": "Comma",
"text": ",",
"start": 3322,
"end": 3323
},
{
"kind": "NumberLiteral",
"text": "6",
"start": 3324,
"end": 3325
},
{
"kind": "Comma",
"text": ",",
"start": 3325,
"end": 3326
},
{
"kind": "NumberLiteral",
"text": "2",
"start": 3327,
"end": 3328
},
{
"kind": "RightParen",
"text": ")",
"start": 3328,
"end": 3329
},
{
"kind": "Comma",
"text": ",",
"start": 3329,
"end": 3330
},
{
"kind": "LeftParen",
"text": "(",
"start": 3332,
"end": 3333
},
{
"kind": "StringLiteral",
"text": "'The Great Gatsby'",
"start": 3333,
"end": 3351
},
{
"kind": "Comma",
"text": ",",
"start": 3351,
"end": 3352
},
{
"kind": "StringLiteral",
"text": "'Classic American novel'",
"start": 3353,
"end": 3377
},
{
"kind": "Comma",
"text": ",",
"start": 3377,
"end": 3378
},
{
"kind": "FloatLiteral",
"text": "12.99",
"start": 3379,
"end": 3384
},
{
"kind": "Comma",
"text": ",",
"start": 3384,
"end": 3385
},
{
"kind": "NumberLiteral",
"text": "100",
"start": 3386,
"end": 3389
},
{
"kind": "Comma",
"text": ",",
"start": 3389,
"end": 3390
},
{
"kind": "NumberLiteral",
"text": "7",
"start": 3391,
"end": 3392
},
{
"kind": "Comma",
"text": ",",
"start": 3392,
"end": 3393
},
{
"kind": "NumberLiteral",
"text": "3",
"start": 3394,
"end": 3395
},
{
"kind": "RightParen",
"text": ")",
"start": 3395,
"end": 3396
},
{
"kind": "Comma",
"text": ",",
"start": 3396,
"end": 3397
},
{
"kind": "LeftParen",
"text": "(",
"start": 3399,
"end": 3400
},
{
"kind": "StringLiteral",
"text": "'Clean Code'",
"start": 3400,
"end": 3412
},
{
"kind": "Comma",
"text": ",",
"start": 3412,
"end": 3413
},
{
"kind": "StringLiteral",
"text": "'Programming best practices'",
"start": 3414,
"end": 3442
},
{
"kind": "Comma",
"text": ",",
"start": 3442,
"end": 3443
},
{
"kind": "FloatLiteral",
"text": "45.99",
"start": 3444,
"end": 3449
},
{
"kind": "Comma",
"text": ",",
"start": 3449,
"end": 3450
},
{
"kind": "NumberLiteral",
"text": "25",
"start": 3451,
"end": 3453
},
{
"kind": "Comma",
"text": ",",
"start": 3453,
"end": 3454
},
{
"kind": "NumberLiteral",
"text": "8",
"start": 3455,
"end": 3456
},
{
"kind": "Comma",
"text": ",",
"start": 3456,
"end": 3457
},
{
"kind": "NumberLiteral",
"text": "2",
"start": 3458,
"end": 3459
},
{
"kind": "RightParen",
"text": ")",
"start": 3459,
"end": 3460
},
{
"kind": "Semicolon",
"text": ";",
"start": 3460,
"end": 3461
},
{
"kind": "Select",
"text": "SELECT",
"start": 3507,
"end": 3513
},
{
"kind": "Identifier_",
"text": "u",
"start": 3520,
"end": 3521
},
{
"kind": "Dot",
"text": ".",
"start": 3521,
"end": 3522
},
{
"kind": "Identifier_",
"text": "username",
"start": 3522,
"end": 3530
},
{
"kind": "Comma",
"text": ",",
"start": 3530,
"end": 3531
},
{
"kind": "Identifier_",
"text": "u",
"start": 3537,
"end": 3538
},
{
"kind": "Dot",
"text": ".",
"start": 3538,
"end": 3539
},
{
"kind": "Identifier_",
"text": "email",
"start": 3539,
"end": 3544
},
{
"kind": "Comma",
"text": ",",
"start": 3544,
"end": 3545
},
{
"kind": "Identifier_",
"text": "COUNT",
"start": 3551,
"end": 3556
},
{
"kind": "LeftParen",
"text": "(",
"start": 3556,
"end": 3557
},
{
"kind": "Identifier_",
"text": "o",
"start": 3557,
"end": 3558
},
{
"kind": "Dot",
"text": ".",
"start": 3558,
"end": 3559
},
{
"kind": "Identifier_",
"text": "id",
"start": 3559,
"end": 3561
},
{
"kind": "RightParen",
"text": ")",
"start": 3561,
"end": 3562
},
{
"kind": "As",
"text": "as",
"start": 3563,
"end": 3565
},
{
"kind": "Identifier_",
"text": "order_count",
"start": 3566,
"end": 3577
},
{
"kind": "Comma",
"text": ",",
"start": 3577,
"end": 3578
},
{
"kind": "Identifier_",
"text": "SUM",
"start": 3584,
"end": 3587
},
{
"kind": "LeftParen",
"text": "(",
"start": 3587,
"end": 3588
},
{
"kind": "Identifier_",
"text": "o",
"start": 3588,
"end": 3589
},
{
"kind": "Dot",
"text": ".",
"start": 3589,
"end": 3590
},
{
"kind": "Identifier_",
"text": "total_amount",
"start": 3590,
"end": 3602
},
{
"kind": "RightParen",
"text": ")",
"start": 3602,
"end": 3603
},
{
"kind": "As",
"text": "as",
"start": 3604,
"end": 3606
},
{
"kind": "Identifier_",
"text": "total_spent",
"start": 3607,
"end": 3618
},
{
"kind": "From",
"text": "FROM",
"start": 3620,
"end": 3624
},
{
"kind": "Identifier_",
"text": "users",
"start": 3625,
"end": 3630
},
{
"kind": "Identifier_",
"text": "u",
"start": 3631,
"end": 3632
},
{
"kind": "Left",
"text": "LEFT",
"start": 3634,
"end": 3638
},
{
"kind": "Join",
"text": "JOIN",
"start": 3639,
"end": 3643
},
{
"kind": "Identifier_",
"text": "orders",
"start": 3644,
"end": 3650
},
{
"kind": "Identifier_",
"text": "o",
"start": 3651,
"end": 3652
},
{
"kind": "On",
"text": "ON",
"start": 3653,
"end": 3655
},
{
"kind": "Identifier_",
"text": "u",
"start": 3656,
"end": 3657
},
{
"kind": "Dot",
"text": ".",
"start": 3657,
"end": 3658
},
{
"kind": "Identifier_",
"text": "id",
"start": 3658,
"end": 3660
},
{
"kind": "Equal",
"text": "=",
"start": 3661,
"end": 3662
},
{
"kind": "Identifier_",
"text": "o",
"start": 3663,
"end": 3664
},
{
"kind": "Dot",
"text": ".",
"start": 3664,
"end": 3665
},
{
"kind": "Identifier_",
"text": "user_id",
"start": 3665,
"end": 3672
},
{
"kind": "Where",
"text": "WHERE",
"start": 3674,
"end": 3679
},
{
"kind": "Identifier_",
"text": "u",
"start": 3680,
"end": 3681
},
{
"kind": "Dot",
"text": ".",
"start": 3681,
"end": 3682
},
{
"kind": "Identifier_",
"text": "is_active",
"start": 3682,
"end": 3691
},
{
"kind": "Equal",
"text": "=",
"start": 3692,
"end": 3693
},
{
"kind": "True",
"text": "TRUE",
"start": 3694,
"end": 3698
},
{
"kind": "Group",
"text": "GROUP",
"start": 3700,
"end": 3705
},
{
"kind": "By",
"text": "BY",
"start": 3706,
"end": 3708
},
{
"kind": "Identifier_",
"text": "u",
"start": 3709,
"end": 3710
},
{
"kind": "Dot",
"text": ".",
"start": 3710,
"end": 3711
},
{
"kind": "Identifier_",
"text": "id",
"start": 3711,
"end": 3713
},
{
"kind": "Comma",
"text": ",",
"start": 3713,
"end": 3714
},
{
"kind": "Identifier_",
"text": "u",
"start": 3715,
"end": 3716
},
{
"kind": "Dot",
"text": ".",
"start": 3716,
"end": 3717
},
{
"kind": "Identifier_",
"text": "username",
"start": 3717,
"end": 3725
},
{
"kind": "Comma",
"text": ",",
"start": 3725,
"end": 3726
},
{
"kind": "Identifier_",
"text": "u",
"start": 3727,
"end": 3728
},
{
"kind": "Dot",
"text": ".",
"start": 3728,
"end": 3729
},
{
"kind": "Identifier_",
"text": "email",
"start": 3729,
"end": 3734
},
{
"kind": "Having",
"text": "HAVING",
"start": 3736,
"end": 3742
},
{
"kind": "Identifier_",
"text": "total_spent",
"start": 3743,
"end": 3754
},
{
"kind": "Greater",
"text": ">",
"start": 3755,
"end": 3756
},
{
"kind": "NumberLiteral",
"text": "100",
"start": 3757,
"end": 3760
},
{
"kind": "Order",
"text": "ORDER",
"start": 3762,
"end": 3767
},
{
"kind": "By",
"text": "BY",
"start": 3768,
"end": 3770
},
{
"kind": "Identifier_",
"text": "total_spent",
"start": 3771,
"end": 3782
},
{
"kind": "Desc",
"text": "DESC",
"start": 3783,
"end": 3787
},
{
"kind": "Semicolon",
"text": ";",
"start": 3787,
"end": 3788
},
{
"kind": "Select",
"text": "SELECT",
"start": 3813,
"end": 3819
},
{
"kind": "Identifier_",
"text": "p",
"start": 3826,
"end": 3827
},
{
"kind": "Dot",
"text": ".",
"start": 3827,
"end": 3828
},
{
"kind": "Identifier_",
"text": "name",
"start": 3828,
"end": 3832
},
{
"kind": "Comma",
"text": ",",
"start": 3832,
"end": 3833
},
{
"kind": "Identifier_",
"text": "p",
"start": 3839,
"end": 3840
},
{
"kind": "Dot",
"text": ".",
"start": 3840,
"end": 3841
},
{
"kind": "Identifier_",
"text": "price",
"start": 3841,
"end": 3846
},
{
"kind": "Comma",
"text": ",",
"start": 3846,
"end": 3847
},
{
"kind": "Identifier_",
"text": "c",
"start": 3853,
"end": 3854
},
{
"kind": "Dot",
"text": ".",
"start": 3854,
"end": 3855
},
{
"kind": "Identifier_",
"text": "name",
"start": 3855,
"end": 3859
},
{
"kind": "As",
"text": "as",
"start": 3860,
"end": 3862
},
{
"kind": "Identifier_",
"text": "category_name",
"start": 3863,
"end": 3876
},
{
"kind": "From",
"text": "FROM",
"start": 3878,
"end": 3882
},
{
"kind": "Identifier_",
"text": "products",
"start": 3883,
"end": 3891
},
{
"kind": "Identifier_",
"text": "p",
"start": 3892,
"end": 3893
},
{
"kind": "Join",
"text": "JOIN",
"start": 3895,
"end": 3899
},
{
"kind": "Identifier_",
"text": "categories",
"start": 3900,
"end": 3910
},
{
"kind": "Identifier_",
"text": "c",
"start": 3911,
"end": 3912
},
{
"kind": "On",
"text": "ON",
"start": 3913,
"end": 3915
},
{
"kind": "Identifier_",
"text": "p",
"start": 3916,
"end": 3917
},
{
"kind": "Dot",
"text": ".",
"start": 3917,
"end": 3918
},
{
"kind": "Identifier_",
"text": "category_id",
"start": 3918,
"end": 3929
},
{
"kind": "Equal",
"text": "=",
"start": 3930,
"end": 3931
},
{
"kind": "Identifier_",
"text": "c",
"start": 3932,
"end": 3933
},
{
"kind": "Dot",
"text": ".",
"start": 3933,
"end": 3934
},
{
"kind": "Identifier_",
"text": "id",
"start": 3934,
"end": 3936
},
{
"kind": "Where",
"text": "WHERE",
"start": 3938,
"end": 3943
},
{
"kind": "Identifier_",
"text": "p",
"start": 3944,
"end": 3945
},
{
"kind": "Dot",
"text": ".",
"start": 3945,
"end": 3946
},
{
"kind": "Identifier_",
"text": "price",
"start": 3946,
"end": 3951
},
{
"kind": "Greater",
"text": ">",
"start": 3952,
"end": 3953
},
{
"kind": "LeftParen",
"text": "(",
"start": 3954,
"end": 3955
},
{
"kind": "Select",
"text": "SELECT",
"start": 3961,
"end": 3967
},
{
"kind": "Identifier_",
"text": "AVG",
"start": 3968,
"end": 3971
},
{
"kind": "LeftParen",
"text": "(",
"start": 3971,
"end": 3972
},
{
"kind": "Identifier_",
"text": "price",
"start": 3972,
"end": 3977
},
{
"kind": "RightParen",
"text": ")",
"start": 3977,
"end": 3978
},
{
"kind": "From",
"text": "FROM",
"start": 3985,
"end": 3989
},
{
"kind": "Identifier_",
"text": "products",
"start": 3990,
"end": 3998
},
{
"kind": "Where",
"text": "WHERE",
"start": 4005,
"end": 4010
},
{
"kind": "Identifier_",
"text": "category_id",
"start": 4011,
"end": 4022
},
{
"kind": "Equal",
"text": "=",
"start": 4023,
"end": 4024
},
{
"kind": "Identifier_",
"text": "p",
"start": 4025,
"end": 4026
},
{
"kind": "Dot",
"text": ".",
"start": 4026,
"end": 4027
},
{
"kind": "Identifier_",
"text": "category_id",
"start": 4027,
"end": 4038
},
{
"kind": "RightParen",
"text": ")",
"start": 4040,
"end": 4041
},
{
"kind": "Semicolon",
"text": ";",
"start": 4041,
"end": 4042
},
{
"kind": "Select",
"text": "SELECT",
"start": 4067,
"end": 4073
},
{
"kind": "Identifier_",
"text": "name",
"start": 4080,
"end": 4084
},
{
"kind": "Comma",
"text": ",",
"start": 4084,
"end": 4085
},
{
"kind": "Identifier_",
"text": "price",
"start": 4091,
"end": 4096
},
{
"kind": "Comma",
"text": ",",
"start": 4096,
"end": 4097
},
{
"kind": "Identifier_",
"text": "category_id",
"start": 4103,
"end": 4114
},
{
"kind": "Comma",
"text": ",",
"start": 4114,
"end": 4115
},
{
"kind": "Identifier_",
"text": "ROW_NUMBER",
"start": 4121,
"end": 4131
},
{
"kind": "LeftParen",
"text": "(",
"start": 4131,
"end": 4132
},
{
"kind": "RightParen",
"text": ")",
"start": 4132,
"end": 4133
},
{
"kind": "Identifier_",
"text": "OVER",
"start": 4134,
"end": 4138
},
{
"kind": "LeftParen",
"text": "(",
"start": 4139,
"end": 4140
},
{
"kind": "Identifier_",
"text": "PARTITION",
"start": 4140,
"end": 4149
},
{
"kind": "By",
"text": "BY",
"start": 4150,
"end": 4152
},
{
"kind": "Identifier_",
"text": "category_id",
"start": 4153,
"end": 4164
},
{
"kind": "Order",
"text": "ORDER",
"start": 4165,
"end": 4170
},
{
"kind": "By",
"text": "BY",
"start": 4171,
"end": 4173
},
{
"kind": "Identifier_",
"text": "price",
"start": 4174,
"end": 4179
},
{
"kind": "Desc",
"text": "DESC",
"start": 4180,
"end": 4184
},
{
"kind": "RightParen",
"text": ")",
"start": 4184,
"end": 4185
},
{
"kind": "As",
"text": "as",
"start": 4186,
"end": 4188
},
{
"kind": "Identifier_",
"text": "price_rank",
"start": 4189,
"end": 4199
},
{
"kind": "Comma",
"text": ",",
"start": 4199,
"end": 4200
},
{
"kind": "Identifier_",
"text": "AVG",
"start": 4206,
"end": 4209
},
{
"kind": "LeftParen",
"text": "(",
"start": 4209,
"end": 4210
},
{
"kind": "Identifier_",
"text": "price",
"start": 4210,
"end": 4215
},
{
"kind": "RightParen",
"text": ")",
"start": 4215,
"end": 4216
},
{
"kind": "Identifier_",
"text": "OVER",
"start": 4217,
"end": 4221
},
{
"kind": "LeftParen",
"text": "(",
"start": 4222,
"end": 4223
},
{
"kind": "Identifier_",
"text": "PARTITION",
"start": 4223,
"end": 4232
},
{
"kind": "By",
"text": "BY",
"start": 4233,
"end": 4235
},
{
"kind": "Identifier_",
"text": "category_id",
"start": 4236,
"end": 4247
},
{
"kind": "RightParen",
"text": ")",
"start": 4247,
"end": 4248
},
{
"kind": "As",
"text": "as",
"start": 4249,
"end": 4251
},
{
"kind": "Identifier_",
"text": "avg_category_price",
"start": 4252,
"end": 4270
},
{
"kind": "Comma",
"text": ",",
"start": 4270,
"end": 4271
},
{
"kind": "Identifier_",
"text": "LAG",
"start": 4277,
"end": 4280
},
{
"kind": "LeftParen",
"text": "(",
"start": 4280,
"end": 4281
},
{
"kind": "Identifier_",
"text": "price",
"start": 4281,
"end": 4286
},
{
"kind": "RightParen",
"text": ")",
"start": 4286,
"end": 4287
},
{
"kind": "Identifier_",
"text": "OVER",
"start": 4288,
"end": 4292
},
{
"kind": "LeftParen",
"text": "(",
"start": 4293,
"end": 4294
},
{
"kind": "Order",
"text": "ORDER",
"start": 4294,
"end": 4299
},
{
"kind": "By",
"text": "BY",
"start": 4300,
"end": 4302
},
{
"kind": "Identifier_",
"text": "price",
"start": 4303,
"end": 4308
},
{
"kind": "RightParen",
"text": ")",
"start": 4308,
"end": 4309
},
{
"kind": "As",
"text": "as",
"start": 4310,
"end": 4312
},
{
"kind": "Identifier_",
"text": "previous_price",
"start": 4313,
"end": 4327
},
{
"kind": "From",
"text": "FROM",
"start": 4329,
"end": 4333
},
{
"kind": "Identifier_",
"text": "products",
"start": 4334,
"end": 4342
},
{
"kind": "Semicolon",
"text": ";",
"start": 4342,
"end": 4343
},
{
"kind": "Identifier_",
"text": "WITH",
"start": 4381,
"end": 4385
},
{
"kind": "Identifier_",
"text": "category_stats",
"start": 4386,
"end": 4400
},
{
"kind": "As",
"text": "AS",
"start": 4401,
"end": 4403
},
{
"kind": "LeftParen",
"text": "(",
"start": 4404,
"end": 4405
},
{
"kind": "Select",
"text": "SELECT",
"start": 4411,
"end": 4417
},
{
"kind": "Identifier_",
"text": "c",
"start": 4428,
"end": 4429
},
{
"kind": "Dot",
"text": ".",
"start": 4429,
"end": 4430
},
{
"kind": "Identifier_",
"text": "id",
"start": 4430,
"end": 4432
},
{
"kind": "Comma",
"text": ",",
"start": 4432,
"end": 4433
},
{
"kind": "Identifier_",
"text": "c",
"start": 4443,
"end": 4444
},
{
"kind": "Dot",
"text": ".",
"start": 4444,
"end": 4445
},
{
"kind": "Identifier_",
"text": "name",
"start": 4445,
"end": 4449
},
{
"kind": "Comma",
"text": ",",
"start": 4449,
"end": 4450
},
{
"kind": "Identifier_",
"text": "COUNT",
"start": 4460,
"end": 4465
},
{
"kind": "LeftParen",
"text": "(",
"start": 4465,
"end": 4466
},
{
"kind": "Identifier_",
"text": "p",
"start": 4466,
"end": 4467
},
{
"kind": "Dot",
"text": ".",
"start": 4467,
"end": 4468
},
{
"kind": "Identifier_",
"text": "id",
"start": 4468,
"end": 4470
},
{
"kind": "RightParen",
"text": ")",
"start": 4470,
"end": 4471
},
{
"kind": "As",
"text": "as",
"start": 4472,
"end": 4474
},
{
"kind": "Identifier_",
"text": "product_count",
"start": 4475,
"end": 4488
},
{
"kind": "Comma",
"text": ",",
"start": 4488,
"end": 4489
},
{
"kind": "Identifier_",
"text": "AVG",
"start": 4499,
"end": 4502
},
{
"kind": "LeftParen",
"text": "(",
"start": 4502,
"end": 4503
},
{
"kind": "Identifier_",
"text": "p",
"start": 4503,
"end": 4504
},
{
"kind": "Dot",
"text": ".",
"start": 4504,
"end": 4505
},
{
"kind": "Identifier_",
"text": "price",
"start": 4505,
"end": 4510
},
{
"kind": "RightParen",
"text": ")",
"start": 4510,
"end": 4511
},
{
"kind": "As",
"text": "as",
"start": 4512,
"end": 4514
},
{
"kind": "Identifier_",
"text": "avg_price",
"start": 4515,
"end": 4524
},
{
"kind": "Comma",
"text": ",",
"start": 4524,
"end": 4525
},
{
"kind": "Max",
"text": "MAX",
"start": 4535,
"end": 4538
},
{
"kind": "LeftParen",
"text": "(",
"start": 4538,
"end": 4539
},
{
"kind": "Identifier_",
"text": "p",
"start": 4539,
"end": 4540
},
{
"kind": "Dot",
"text": ".",
"start": 4540,
"end": 4541
},
{
"kind": "Identifier_",
"text": "price",
"start": 4541,
"end": 4546
},
{
"kind": "RightParen",
"text": ")",
"start": 4546,
"end": 4547
},
{
"kind": "As",
"text": "as",
"start": 4548,
"end": 4550
},
{
"kind": "Identifier_",
"text": "max_price",
"start": 4551,
"end": 4560
},
{
"kind": "Comma",
"text": ",",
"start": 4560,
"end": 4561
},
{
"kind": "Identifier_",
"text": "MIN",
"start": 4571,
"end": 4574
},
{
"kind": "LeftParen",
"text": "(",
"start": 4574,
"end": 4575
},
{
"kind": "Identifier_",
"text": "p",
"start": 4575,
"end": 4576
},
{
"kind": "Dot",
"text": ".",
"start": 4576,
"end": 4577
},
{
"kind": "Identifier_",
"text": "price",
"start": 4577,
"end": 4582
},
{
"kind": "RightParen",
"text": ")",
"start": 4582,
"end": 4583
},
{
"kind": "As",
"text": "as",
"start": 4584,
"end": 4586
},
{
"kind": "Identifier_",
"text": "min_price",
"start": 4587,
"end": 4596
},
{
"kind": "From",
"text": "FROM",
"start": 4602,
"end": 4606
},
{
"kind": "Identifier_",
"text": "categories",
"start": 4607,
"end": 4617
},
{
"kind": "Identifier_",
"text": "c",
"start": 4618,
"end": 4619
},
{
"kind": "Left",
"text": "LEFT",
"start": 4625,
"end": 4629
},
{
"kind": "Join",
"text": "JOIN",
"start": 4630,
"end": 4634
},
{
"kind": "Identifier_",
"text": "products",
"start": 4635,
"end": 4643
},
{
"kind": "Identifier_",
"text": "p",
"start": 4644,
"end": 4645
},
{
"kind": "On",
"text": "ON",
"start": 4646,
"end": 4648
},
{
"kind": "Identifier_",
"text": "c",
"start": 4649,
"end": 4650
},
{
"kind": "Dot",
"text": ".",
"start": 4650,
"end": 4651
},
{
"kind": "Identifier_",
"text": "id",
"start": 4651,
"end": 4653
},
{
"kind": "Equal",
"text": "=",
"start": 4654,
"end": 4655
},
{
"kind": "Identifier_",
"text": "p",
"start": 4656,
"end": 4657
},
{
"kind": "Dot",
"text": ".",
"start": 4657,
"end": 4658
},
{
"kind": "Identifier_",
"text": "category_id",
"start": 4658,
"end": 4669
},
{
"kind": "Group",
"text": "GROUP",
"start": 4675,
"end": 4680
},
{
"kind": "By",
"text": "BY",
"start": 4681,
"end": 4683
},
{
"kind": "Identifier_",
"text": "c",
"start": 4684,
"end": 4685
},
{
"kind": "Dot",
"text": ".",
"start": 4685,
"end": 4686
},
{
"kind": "Identifier_",
"text": "id",
"start": 4686,
"end": 4688
},
{
"kind": "Comma",
"text": ",",
"start": 4688,
"end": 4689
},
{
"kind": "Identifier_",
"text": "c",
"start": 4690,
"end": 4691
},
{
"kind": "Dot",
"text": ".",
"start": 4691,
"end": 4692
},
{
"kind": "Identifier_",
"text": "name",
"start": 4692,
"end": 4696
},
{
"kind": "RightParen",
"text": ")",
"start": 4698,
"end": 4699
},
{
"kind": "Select",
"text": "SELECT",
"start": 4701,
"end": 4707
},
{
"kind": "Identifier_",
"text": "name",
"start": 4714,
"end": 4718
},
{
"kind": "Comma",
"text": ",",
"start": 4718,
"end": 4719
},
{
"kind": "Identifier_",
"text": "product_count",
"start": 4725,
"end": 4738
},
{
"kind": "Comma",
"text": ",",
"start": 4738,
"end": 4739
},
{
"kind": "Identifier_",
"text": "ROUND",
"start": 4745,
"end": 4750
},
{
"kind": "LeftParen",
"text": "(",
"start": 4750,
"end": 4751
},
{
"kind": "Identifier_",
"text": "avg_price",
"start": 4751,
"end": 4760
},
{
"kind": "Comma",
"text": ",",
"start": 4760,
"end": 4761
},
{
"kind": "NumberLiteral",
"text": "2",
"start": 4762,
"end": 4763
},
{
"kind": "RightParen",
"text": ")",
"start": 4763,
"end": 4764
},
{
"kind": "As",
"text": "as",
"start": 4765,
"end": 4767
},
{
"kind": "Identifier_",
"text": "avg_price",
"start": 4768,
"end": 4777
},
{
"kind": "Comma",
"text": ",",
"start": 4777,
"end": 4778
},
{
"kind": "Identifier_",
"text": "max_price",
"start": 4784,
"end": 4793
},
{
"kind": "Comma",
"text": ",",
"start": 4793,
"end": 4794
},
{
"kind": "Identifier_",
"text": "min_price",
"start": 4800,
"end": 4809
},
{
"kind": "From",
"text": "FROM",
"start": 4811,
"end": 4815
},
{
"kind": "Identifier_",
"text": "category_stats",
"start": 4816,
"end": 4830
},
{
"kind": "Where",
"text": "WHERE",
"start": 4832,
"end": 4837
},
{
"kind": "Identifier_",
"text": "product_count",
"start": 4838,
"end": 4851
},
{
"kind": "Greater",
"text": ">",
"start": 4852,
"end": 4853
},
{
"kind": "NumberLiteral",
"text": "0",
"start": 4854,
"end": 4855
},
{
"kind": "Order",
"text": "ORDER",
"start": 4857,
"end": 4862
},
{
"kind": "By",
"text": "BY",
"start": 4863,
"end": 4865
},
{
"kind": "Identifier_",
"text": "avg_price",
"start": 4866,
"end": 4875
},
{
"kind": "Desc",
"text": "DESC",
"start": 4876,
"end": 4880
},
{
"kind": "Semicolon",
"text": ";",
"start": 4880,
"end": 4881
},
{
"kind": "Update",
"text": "UPDATE",
"start": 4907,
"end": 4913
},
{
"kind": "Identifier_",
"text": "products",
"start": 4914,
"end": 4922
},
{
"kind": "Set",
"text": "SET",
"start": 4925,
"end": 4928
},
{
"kind": "Identifier_",
"text": "stock_quantity",
"start": 4929,
"end": 4943
},
{
"kind": "Equal",
"text": "=",
"start": 4944,
"end": 4945
},
{
"kind": "Identifier_",
"text": "stock_quantity",
"start": 4946,
"end": 4960
},
{
"kind": "Minus",
"text": "-",
"start": 4961,
"end": 4962
},
{
"kind": "NumberLiteral",
"text": "1",
"start": 4963,
"end": 4964
},
{
"kind": "Where",
"text": "WHERE",
"start": 4967,
"end": 4972
},
{
"kind": "Identifier_",
"text": "id",
"start": 4973,
"end": 4975
},
{
"kind": "Identifier_",
"text": "IN",
"start": 4976,
"end": 4978
},
{
"kind": "LeftParen",
"text": "(",
"start": 4979,
"end": 4980
},
{
"kind": "Select",
"text": "SELECT",
"start": 4986,
"end": 4992
},
{
"kind": "Identifier_",
"text": "product_id",
"start": 4993,
"end": 5003
},
{
"kind": "From",
"text": "FROM",
"start": 5010,
"end": 5014
},
{
"kind": "Identifier_",
"text": "order_items",
"start": 5015,
"end": 5026
},
{
"kind": "Where",
"text": "WHERE",
"start": 5033,
"end": 5038
},
{
"kind": "Identifier_",
"text": "order_id",
"start": 5039,
"end": 5047
},
{
"kind": "Equal",
"text": "=",
"start": 5048,
"end": 5049
},
{
"kind": "NumberLiteral",
"text": "1",
"start": 5050,
"end": 5051
},
{
"kind": "RightParen",
"text": ")",
"start": 5053,
"end": 5054
},
{
"kind": "Semicolon",
"text": ";",
"start": 5054,
"end": 5055
},
{
"kind": "Delete",
"text": "DELETE",
"start": 5086,
"end": 5092
},
{
"kind": "From",
"text": "FROM",
"start": 5093,
"end": 5097
},
{
"kind": "Identifier_",
"text": "orders",
"start": 5098,
"end": 5104
},
{
"kind": "Where",
"text": "WHERE",
"start": 5107,
"end": 5112
},
{
"kind": "Identifier_",
"text": "status",
"start": 5113,
"end": 5119
},
{
"kind": "Equal",
"text": "=",
"start": 5120,
"end": 5121
},
{
"kind": "StringLiteral",
"text": "'cancelled'",
"start": 5122,
"end": 5133
},
{
"kind": "And",
"text": "AND",
"start": 5136,
"end": 5139
},
{
"kind": "Identifier_",
"text": "order_date",
"start": 5140,
"end": 5150
},
{
"kind": "Less",
"text": "<",
"start": 5151,
"end": 5152
},
{
"kind": "Identifier_",
"text": "DATE_SUB",
"start": 5153,
"end": 5161
},
{
"kind": "LeftParen",
"text": "(",
"start": 5161,
"end": 5162
},
{
"kind": "Identifier_",
"text": "NOW",
"start": 5162,
"end": 5165
},
{
"kind": "LeftParen",
"text": "(",
"start": 5165,
"end": 5166
},
{
"kind": "RightParen",
"text": ")",
"start": 5166,
"end": 5167
},
{
"kind": "Comma",
"text": ",",
"start": 5167,
"end": 5168
},
{
"kind": "Identifier_",
"text": "INTERVAL",
"start": 5169,
"end": 5177
},
{
"kind": "NumberLiteral",
"text": "30",
"start": 5178,
"end": 5180
},
{
"kind": "Identifier_",
"text": "DAY",
"start": 5181,
"end": 5184
},
{
"kind": "RightParen",
"text": ")",
"start": 5184,
"end": 5185
},
{
"kind": "Semicolon",
"text": ";",
"start": 5185,
"end": 5186
},
{
"kind": "Create",
"text": "CREATE",
"start": 5209,
"end": 5215
},
{
"kind": "Index",
"text": "INDEX",
"start": 5216,
"end": 5221
},
{
"kind": "Identifier_",
"text": "idx_user_email",
"start": 5222,
"end": 5236
},
{
"kind": "On",
"text": "ON",
"start": 5237,
"end": 5239
},
{
"kind": "Identifier_",
"text": "users",
"start": 5240,
"end": 5245
},
{
"kind": "LeftParen",
"text": "(",
"start": 5245,
"end": 5246
},
{
"kind": "Identifier_",
"text": "email",
"start": 5246,
"end": 5251
},
{
"kind": "RightParen",
"text": ")",
"start": 5251,
"end": 5252
},
{
"kind": "Semicolon",
"text": ";",
"start": 5252,
"end": 5253
},
{
"kind": "Create",
"text": "CREATE",
"start": 5255,
"end": 5261
},
{
"kind": "Index",
"text": "INDEX",
"start": 5262,
"end": 5267
},
{
"kind": "Identifier_",
"text": "idx_product_name_price",
"start": 5268,
"end": 5290
},
{
"kind": "On",
"text": "ON",
"start": 5291,
"end": 5293
},
{
"kind": "Identifier_",
"text": "products",
"start": 5294,
"end": 5302
},
{
"kind": "LeftParen",
"text": "(",
"start": 5302,
"end": 5303
},
{
"kind": "Identifier_",
"text": "name",
"start": 5303,
"end": 5307
},
{
"kind": "Comma",
"text": ",",
"start": 5307,
"end": 5308
},
{
"kind": "Identifier_",
"text": "price",
"start": 5309,
"end": 5314
},
{
"kind": "RightParen",
"text": ")",
"start": 5314,
"end": 5315
},
{
"kind": "Semicolon",
"text": ";",
"start": 5315,
"end": 5316
},
{
"kind": "Create",
"text": "CREATE",
"start": 5318,
"end": 5324
},
{
"kind": "Index",
"text": "INDEX",
"start": 5325,
"end": 5330
},
{
"kind": "Identifier_",
"text": "idx_order_status_date",
"start": 5331,
"end": 5352
},
{
"kind": "On",
"text": "ON",
"start": 5353,
"end": 5355
},
{
"kind": "Identifier_",
"text": "orders",
"start": 5356,
"end": 5362
},
{
"kind": "LeftParen",
"text": "(",
"start": 5362,
"end": 5363
},
{
"kind": "Identifier_",
"text": "status",
"start": 5363,
"end": 5369
},
{
"kind": "Comma",
"text": ",",
"start": 5369,
"end": 5370
},
{
"kind": "Identifier_",
"text": "order_date",
"start": 5371,
"end": 5381
},
{
"kind": "RightParen",
"text": ")",
"start": 5381,
"end": 5382
},
{
"kind": "Semicolon",
"text": ";",
"start": 5382,
"end": 5383
},
{
"kind": "Create",
"text": "CREATE",
"start": 5403,
"end": 5409
},
{
"kind": "View",
"text": "VIEW",
"start": 5410,
"end": 5414
},
{
"kind": "Identifier_",
"text": "active_user_orders",
"start": 5415,
"end": 5433
},
{
"kind": "As",
"text": "AS",
"start": 5434,
"end": 5436
},
{
"kind": "Select",
"text": "SELECT",
"start": 5438,
"end": 5444
},
{
"kind": "Identifier_",
"text": "u",
"start": 5451,
"end": 5452
},
{
"kind": "Dot",
"text": ".",
"start": 5452,
"end": 5453
},
{
"kind": "Identifier_",
"text": "username",
"start": 5453,
"end": 5461
},
{
"kind": "Comma",
"text": ",",
"start": 5461,
"end": 5462
},
{
"kind": "Identifier_",
"text": "u",
"start": 5468,
"end": 5469
},
{
"kind": "Dot",
"text": ".",
"start": 5469,
"end": 5470
},
{
"kind": "Identifier_",
"text": "email",
"start": 5470,
"end": 5475
},
{
"kind": "Comma",
"text": ",",
"start": 5475,
"end": 5476
},
{
"kind": "Identifier_",
"text": "o",
"start": 5482,
"end": 5483
},
{
"kind": "Dot",
"text": ".",
"start": 5483,
"end": 5484
},
{
"kind": "Identifier_",
"text": "id",
"start": 5484,
"end": 5486
},
{
"kind": "As",
"text": "as",
"start": 5487,
"end": 5489
},
{
"kind": "Identifier_",
"text": "order_id",
"start": 5490,
"end": 5498
},
{
"kind": "Comma",
"text": ",",
"start": 5498,
"end": 5499
},
{
"kind": "Identifier_",
"text": "o",
"start": 5505,
"end": 5506
},
{
"kind": "Dot",
"text": ".",
"start": 5506,
"end": 5507
},
{
"kind": "Identifier_",
"text": "total_amount",
"start": 5507,
"end": 5519
},
{
"kind": "Comma",
"text": ",",
"start": 5519,
"end": 5520
},
{
"kind": "Identifier_",
"text": "o",
"start": 5526,
"end": 5527
},
{
"kind": "Dot",
"text": ".",
"start": 5527,
"end": 5528
},
{
"kind": "Identifier_",
"text": "status",
"start": 5528,
"end": 5534
},
{
"kind": "Comma",
"text": ",",
"start": 5534,
"end": 5535
},
{
"kind": "Identifier_",
"text": "o",
"start": 5541,
"end": 5542
},
{
"kind": "Dot",
"text": ".",
"start": 5542,
"end": 5543
},
{
"kind": "Identifier_",
"text": "order_date",
"start": 5543,
"end": 5553
},
{
"kind": "From",
"text": "FROM",
"start": 5555,
"end": 5559
},
{
"kind": "Identifier_",
"text": "users",
"start": 5560,
"end": 5565
},
{
"kind": "Identifier_",
"text": "u",
"start": 5566,
"end": 5567
},
{
"kind": "Join",
"text": "JOIN",
"start": 5569,
"end": 5573
},
{
"kind": "Identifier_",
"text": "orders",
"start": 5574,
"end": 5580
},
{
"kind": "Identifier_",
"text": "o",
"start": 5581,
"end": 5582
},
{
"kind": "On",
"text": "ON",
"start": 5583,
"end": 5585
},
{
"kind": "Identifier_",
"text": "u",
"start": 5586,
"end": 5587
},
{
"kind": "Dot",
"text": ".",
"start": 5587,
"end": 5588
},
{
"kind": "Identifier_",
"text": "id",
"start": 5588,
"end": 5590
},
{
"kind": "Equal",
"text": "=",
"start": 5591,
"end": 5592
},
{
"kind": "Identifier_",
"text": "o",
"start": 5593,
"end": 5594
},
{
"kind": "Dot",
"text": ".",
"start": 5594,
"end": 5595
},
{
"kind": "Identifier_",
"text": "user_id",
"start": 5595,
"end": 5602
},
{
"kind": "Where",
"text": "WHERE",
"start": 5604,
"end": 5609
},
{
"kind": "Identifier_",
"text": "u",
"start": 5610,
"end": 5611
},
{
"kind": "Dot",
"text": ".",
"start": 5611,
"end": 5612
},
{
"kind": "Identifier_",
"text": "is_active",
"start": 5612,
"end": 5621
},
{
"kind": "Equal",
"text": "=",
"start": 5622,
"end": 5623
},
{
"kind": "True",
"text": "TRUE",
"start": 5624,
"end": 5628
},
{
"kind": "Semicolon",
"text": ";",
"start": 5628,
"end": 5629
},
{
"kind": "Delimiter",
"text": "DELIMITER",
"start": 5654,
"end": 5663
},
{
"kind": "Slash",
"text": "/",
"start": 5664,
"end": 5665
},
{
"kind": "Slash",
"text": "/",
"start": 5665,
"end": 5666
},
{
"kind": "Create",
"text": "CREATE",
"start": 5668,
"end": 5674
},
{
"kind": "Identifier_",
"text": "PROCEDURE",
"start": 5675,
"end": 5684
},
{
"kind": "Identifier_",
"text": "GetUserOrderSummary",
"start": 5685,
"end": 5704
},
{
"kind": "LeftParen",
"text": "(",
"start": 5704,
"end": 5705
},
{
"kind": "Identifier_",
"text": "IN",
"start": 5705,
"end": 5707
},
{
"kind": "Identifier_",
"text": "user_id",
"start": 5708,
"end": 5715
},
{
"kind": "Int",
"text": "INT",
"start": 5716,
"end": 5719
},
{
"kind": "RightParen",
"text": ")",
"start": 5719,
"end": 5720
},
{
"kind": "Begin",
"text": "BEGIN",
"start": 5722,
"end": 5727
},
{
"kind": "Select",
"text": "SELECT",
"start": 5733,
"end": 5739
},
{
"kind": "Identifier_",
"text": "COUNT",
"start": 5750,
"end": 5755
},
{
"kind": "LeftParen",
"text": "(",
"start": 5755,
"end": 5756
},
{
"kind": "Star",
"text": "*",
"start": 5756,
"end": 5757
},
{
"kind": "RightParen",
"text": ")",
"start": 5757,
"end": 5758
},
{
"kind": "As",
"text": "as",
"start": 5759,
"end": 5761
},
{
"kind": "Identifier_",
"text": "total_orders",
"start": 5762,
"end": 5774
},
{
"kind": "Comma",
"text": ",",
"start": 5774,
"end": 5775
},
{
"kind": "Identifier_",
"text": "SUM",
"start": 5785,
"end": 5788
},
{
"kind": "LeftParen",
"text": "(",
"start": 5788,
"end": 5789
},
{
"kind": "Identifier_",
"text": "total_amount",
"start": 5789,
"end": 5801
},
{
"kind": "RightParen",
"text": ")",
"start": 5801,
"end": 5802
},
{
"kind": "As",
"text": "as",
"start": 5803,
"end": 5805
},
{
"kind": "Identifier_",
"text": "total_spent",
"start": 5806,
"end": 5817
},
{
"kind": "Comma",
"text": ",",
"start": 5817,
"end": 5818
},
{
"kind": "Identifier_",
"text": "AVG",
"start": 5828,
"end": 5831
},
{
"kind": "LeftParen",
"text": "(",
"start": 5831,
"end": 5832
},
{
"kind": "Identifier_",
"text": "total_amount",
"start": 5832,
"end": 5844
},
{
"kind": "RightParen",
"text": ")",
"start": 5844,
"end": 5845
},
{
"kind": "As",
"text": "as",
"start": 5846,
"end": 5848
},
{
"kind": "Identifier_",
"text": "avg_order_value",
"start": 5849,
"end": 5864
},
{
"kind": "Comma",
"text": ",",
"start": 5864,
"end": 5865
},
{
"kind": "Max",
"text": "MAX",
"start": 5875,
"end": 5878
},
{
"kind": "LeftParen",
"text": "(",
"start": 5878,
"end": 5879
},
{
"kind": "Identifier_",
"text": "order_date",
"start": 5879,
"end": 5889
},
{
"kind": "RightParen",
"text": ")",
"start": 5889,
"end": 5890
},
{
"kind": "As",
"text": "as",
"start": 5891,
"end": 5893
},
{
"kind": "Identifier_",
"text": "last_order_date",
"start": 5894,
"end": 5909
},
{
"kind": "From",
"text": "FROM",
"start": 5915,
"end": 5919
},
{
"kind": "Identifier_",
"text": "orders",
"start": 5920,
"end": 5926
},
{
"kind": "Where",
"text": "WHERE",
"start": 5933,
"end": 5938
},
{
"kind": "Identifier_",
"text": "user_id",
"start": 5939,
"end": 5946
},
{
"kind": "Equal",
"text": "=",
"start": 5947,
"end": 5948
},
{
"kind": "Identifier_",
"text": "user_id",
"start": 5949,
"end": 5956
},
{
"kind": "Semicolon",
"text": ";",
"start": 5956,
"end": 5957
},
{
"kind": "End",
"text": "END",
"start": 5959,
"end": 5962
},
{
"kind": "Slash",
"text": "/",
"start": 5963,
"end": 5964
},
{
"kind": "Slash",
"text": "/",
"start": 5964,
"end": 5965
},
{
"kind": "Delimiter",
"text": "DELIMITER",
"start": 5967,
"end": 5976
},
{
"kind": "Semicolon",
"text": ";",
"start": 5977,
"end": 5978
},
{
"kind": "Delimiter",
"text": "DELIMITER",
"start": 5994,
"end": 6003
},
{
"kind": "Slash",
"text": "/",
"start": 6004,
"end": 6005
},
{
"kind": "Slash",
"text": "/",
"start": 6005,
"end": 6006
},
{
"kind": "Create",
"text": "CREATE",
"start": 6008,
"end": 6014
},
{
"kind": "Trigger",
"text": "TRIGGER",
"start": 6015,
"end": 6022
},
{
"kind": "Identifier_",
"text": "update_product_stock",
"start": 6023,
"end": 6043
},
{
"kind": "After",
"text": "AFTER",
"start": 6046,
"end": 6051
},
{
"kind": "Insert",
"text": "INSERT",
"start": 6052,
"end": 6058
},
{
"kind": "On",
"text": "ON",
"start": 6059,
"end": 6061
},
{
"kind": "Identifier_",
"text": "order_items",
"start": 6062,
"end": 6073
},
{
"kind": "For",
"text": "FOR",
"start": 6075,
"end": 6078
},
{
"kind": "Each",
"text": "EACH",
"start": 6079,
"end": 6083
},
{
"kind": "Row",
"text": "ROW",
"start": 6084,
"end": 6087
},
{
"kind": "Begin",
"text": "BEGIN",
"start": 6089,
"end": 6094
},
{
"kind": "Update",
"text": "UPDATE",
"start": 6100,
"end": 6106
},
{
"kind": "Identifier_",
"text": "products",
"start": 6107,
"end": 6115
},
{
"kind": "Set",
"text": "SET",
"start": 6122,
"end": 6125
},
{
"kind": "Identifier_",
"text": "stock_quantity",
"start": 6126,
"end": 6140
},
{
"kind": "Equal",
"text": "=",
"start": 6141,
"end": 6142
},
{
"kind": "Identifier_",
"text": "stock_quantity",
"start": 6143,
"end": 6157
},
{
"kind": "Minus",
"text": "-",
"start": 6158,
"end": 6159
},
{
"kind": "Identifier_",
"text": "NEW",
"start": 6160,
"end": 6163
},
{
"kind": "Dot",
"text": ".",
"start": 6163,
"end": 6164
},
{
"kind": "Identifier_",
"text": "quantity",
"start": 6164,
"end": 6172
},
{
"kind": "Where",
"text": "WHERE",
"start": 6179,
"end": 6184
},
{
"kind": "Identifier_",
"text": "id",
"start": 6185,
"end": 6187
},
{
"kind": "Equal",
"text": "=",
"start": 6188,
"end": 6189
},
{
"kind": "Identifier_",
"text": "NEW",
"start": 6190,
"end": 6193
},
{
"kind": "Dot",
"text": ".",
"start": 6193,
"end": 6194
},
{
"kind": "Identifier_",
"text": "product_id",
"start": 6194,
"end": 6204
},
{
"kind": "Semicolon",
"text": ";",
"start": 6204,
"end": 6205
},
{
"kind": "End",
"text": "END",
"start": 6207,
"end": 6210
},
{
"kind": "Slash",
"text": "/",
"start": 6211,
"end": 6212
},
{
"kind": "Slash",
"text": "/",
"start": 6212,
"end": 6213
},
{
"kind": "Delimiter",
"text": "DELIMITER",
"start": 6215,
"end": 6224
},
{
"kind": "Semicolon",
"text": ";",
"start": 6225,
"end": 6226
},
{
"kind": "Eof",
"text": "",
"start": 6226,
"end": 6226
}
],
"errors": []
}