File: constants.rb

package info (click to toggle)
ruby-pg-query 5.1.0-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 18,248 kB
  • sloc: ansic: 149,767; ruby: 865; makefile: 3
file content (21 lines) | stat: -rw-r--r-- 1,052 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
module PgQuery
  # From Postgres source: src/include/storage/lockdefs.h
  LOCK_MODE_NO_LOCK = 0 # NoLock is not a lock mode, but a flag value meaning "don't get a lock"
  LOCK_MODE_ACCESS_SHARE_LOCK = 1 # SELECT
  LOCK_MODE_ROW_SHARE_LOCK = 2 # SELECT FOR UPDATE/FOR SHARE
  LOCK_MODE_ROW_EXCLUSIVE_LOCK = 3 # INSERT, UPDATE, DELETE
  LOCK_MODE_SHARE_UPDATE_EXCLUSIVE_LOCK = 4 # VACUUM (non-FULL),ANALYZE, CREATE INDEX CONCURRENTLY
  LOCK_MODE_SHARE_LOCK = 5 # CREATE INDEX (WITHOUT CONCURRENTLY)
  LOCK_MODE_SHARE_ROW_EXCLUSIVE_LOCK = 6 # like EXCLUSIVE MODE, but allows ROW SHARE
  LOCK_MODE_EXCLUSIVE_LOCK = 7 # blocks ROW SHARE/SELECT...FOR UPDATE
  LOCK_MODE_ACCESS_EXCLUSIVE_LOCK = 8 # ALTER TABLE, DROP TABLE, VACUUM FULL, and unqualified LOCK TABLE

  # From Postgres source: src/include/catalog/pg_trigger.h
  TRIGGER_TYPE_ROW = (1 << 0)
  TRIGGER_TYPE_BEFORE = (1 << 1)
  TRIGGER_TYPE_INSERT = (1 << 2)
  TRIGGER_TYPE_DELETE = (1 << 3)
  TRIGGER_TYPE_UPDATE = (1 << 4)
  TRIGGER_TYPE_TRUNCATE = (1 << 5)
  TRIGGER_TYPE_INSTEAD = (1 << 6)
end