$VERSION
=
'0.8'
;
{
my
@exports
=
qw[
is_reserved
is_reserved_by_sqlite2
is_reserved_by_sqlite3
reserved_by
words
]
;
Sub::Exporter->
import
(
-setup
=> {
exports
=> \
@exports
} );
}
{
my
%WORDS
= (
ALL
=> SQLITE2 | SQLITE3,
ALTER
=> SQLITE3,
AND
=> SQLITE2 | SQLITE3,
AS
=> SQLITE2 | SQLITE3,
AUTOINCREMENT
=> SQLITE3,
BETWEEN
=> SQLITE2 | SQLITE3,
BY
=> SQLITE2 | SQLITE3,
CASE
=> SQLITE2 | SQLITE3,
CHECK
=> SQLITE2 | SQLITE3,
COLLATE
=> SQLITE2 | SQLITE3,
COMMIT
=> SQLITE2 | SQLITE3,
CONSTRAINT
=> SQLITE2 | SQLITE3,
CREATE
=> SQLITE2 | SQLITE3,
CROSS
=> SQLITE3,
DEFAULT
=> SQLITE2 | SQLITE3,
DEFERRABLE
=> SQLITE2 | SQLITE3,
DELETE
=> SQLITE2 | SQLITE3,
DISTINCT
=> SQLITE2 | SQLITE3,
DROP
=> SQLITE2 | SQLITE3,
ELSE
=> SQLITE2 | SQLITE3,
ESCAPE
=> SQLITE3,
EXCEPT
=> SQLITE2 | SQLITE3,
FOREIGN
=> SQLITE2 | SQLITE3,
FROM
=> SQLITE2 | SQLITE3,
FULL
=> SQLITE3,
GLOB
=> SQLITE2,
GROUP
=> SQLITE2 | SQLITE3,
HAVING
=> SQLITE2 | SQLITE3,
IN
=> SQLITE2 | SQLITE3,
INDEX
=> SQLITE2 | SQLITE3,
INNER
=> SQLITE3,
INSERT
=> SQLITE2 | SQLITE3,
INTERSECT
=> SQLITE2 | SQLITE3,
INTO
=> SQLITE2 | SQLITE3,
IS
=> SQLITE2 | SQLITE3,
ISNULL
=> SQLITE2 | SQLITE3,
JOIN
=> SQLITE2 | SQLITE3,
LEFT
=> SQLITE3,
LIKE
=> SQLITE2,
LIMIT
=> SQLITE2 | SQLITE3,
NATURAL
=> SQLITE3,
NOT
=> SQLITE2 | SQLITE3,
NOTNULL
=> SQLITE2 | SQLITE3,
NULL
=> SQLITE2 | SQLITE3,
ON
=> SQLITE2 | SQLITE3,
OR
=> SQLITE2 | SQLITE3,
ORDER
=> SQLITE2 | SQLITE3,
OUTER
=> SQLITE3,
PRIMARY
=> SQLITE2 | SQLITE3,
REFERENCES
=> SQLITE2 | SQLITE3,
RIGHT
=> SQLITE3,
ROLLBACK
=> SQLITE2 | SQLITE3,
SELECT
=> SQLITE2 | SQLITE3,
SET
=> SQLITE2 | SQLITE3,
TABLE
=> SQLITE2 | SQLITE3,
THEN
=> SQLITE2 | SQLITE3,
TO
=> SQLITE3,
TRANSACTION
=> SQLITE2 | SQLITE3,
UNION
=> SQLITE2 | SQLITE3,
UNIQUE
=> SQLITE2 | SQLITE3,
UPDATE
=> SQLITE2 | SQLITE3,
USING
=> SQLITE2 | SQLITE3,
VALUES
=> SQLITE2 | SQLITE3,
WHEN
=> SQLITE2 | SQLITE3,
WHERE
=> SQLITE2 | SQLITE3,
);
sub
is_reserved {
return
$WORDS
{
uc
(
pop
||
''
) } || 0;
}
sub
is_reserved_by_sqlite2 {
return
&is_reserved
& SQLITE2;
}
sub
is_reserved_by_sqlite3 {
return
&is_reserved
& SQLITE3;
}
sub
reserved_by {
my
$flags
=
&is_reserved
;
my
@reserved_by
= ();
push
@reserved_by
,
'SQLite 2'
if
$flags
& SQLITE2;
push
@reserved_by
,
'SQLite 3'
if
$flags
& SQLITE3;
return
@reserved_by
;
}
sub
words {
return
sort
keys
%WORDS
;
}
}
1;