UNPKG

ddl-manager

Version:

store postgres procedures and triggers in files

40 lines 1.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CacheIndex = void 0; const psql_lang_1 = require("psql-lang"); class CacheIndex extends psql_lang_1.AbstractNode { static entry(cursor) { return cursor.beforeWord("index"); } static parse(cursor) { cursor.readWord("index"); const index = this.parseIndexType(cursor); cursor.readWord("on"); cursor.readValue("("); cursor.skipSpaces(); const columns = cursor.parseChainOf(psql_lang_1.OrderByItem, ","); cursor.skipSpaces(); cursor.readValue(")"); cursor.skipSpaces(); return { index, columns }; } static parseIndexType(cursor) { if (cursor.beforeWord("btree")) { cursor.readWord("btree"); return "btree"; } if (cursor.beforeWord("gin")) { cursor.readWord("gin"); return "gin"; } cursor.throwError("expected index type: btree or gin"); } template() { return [ psql_lang_1.keyword("index"), psql_lang_1.keyword(this.row.index), psql_lang_1.keyword("on"), psql_lang_1._, "(", ...psql_lang_1.printChain(this.row.columns, ",", psql_lang_1._), ")" ]; } } exports.CacheIndex = CacheIndex; //# sourceMappingURL=CacheIndex.js.map