Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(271)

Side by Side Diff: WebCore/storage/IDBKey.h

Issue 5800002: Merge 73697 - 2010-12-10 Hans Wennborg <hans@chromium.org>... (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/597/
Patch Set: Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « WebCore/storage/IDBFactoryBackendImpl.cpp ('k') | WebCore/storage/IDBKey.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010 Google Inc. All rights reserved. 2 * Copyright (C) 2010 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 7 *
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 25 matching lines...) Expand all
36 36
37 class SQLiteStatement; 37 class SQLiteStatement;
38 38
39 // FIXME: Add dates. 39 // FIXME: Add dates.
40 class IDBKey : public ThreadSafeShared<IDBKey> { 40 class IDBKey : public ThreadSafeShared<IDBKey> {
41 public: 41 public:
42 static PassRefPtr<IDBKey> create() 42 static PassRefPtr<IDBKey> create()
43 { 43 {
44 return adoptRef(new IDBKey()); 44 return adoptRef(new IDBKey());
45 } 45 }
46 static PassRefPtr<IDBKey> create(int32_t number) 46 static PassRefPtr<IDBKey> create(double number)
47 { 47 {
48 return adoptRef(new IDBKey(number)); 48 return adoptRef(new IDBKey(number));
49 } 49 }
50 static PassRefPtr<IDBKey> create(const String& string) 50 static PassRefPtr<IDBKey> create(const String& string)
51 { 51 {
52 return adoptRef(new IDBKey(string)); 52 return adoptRef(new IDBKey(string));
53 } 53 }
54 ~IDBKey(); 54 ~IDBKey();
55 55
56 // In order of the least to the highest precedent in terms of sort order. 56 // In order of the least to the highest precedent in terms of sort order.
57 enum Type { 57 enum Type {
58 NullType = 0, // FIXME: Phase out support for null keys. 58 NullType = 0, // FIXME: Phase out support for null keys.
59 StringType, 59 StringType,
60 NumberType 60 NumberType
61 }; 61 };
62 62
63 Type type() const { return m_type; } 63 Type type() const { return m_type; }
64 64
65 const String& string() const 65 const String& string() const
66 { 66 {
67 ASSERT(m_type == StringType); 67 ASSERT(m_type == StringType);
68 return m_string; 68 return m_string;
69 } 69 }
70 70
71 int32_t number() const 71 double number() const
72 { 72 {
73 ASSERT(m_type == NumberType); 73 ASSERT(m_type == NumberType);
74 return m_number; 74 return m_number;
75 } 75 }
76 76
77 static PassRefPtr<IDBKey> fromQuery(SQLiteStatement& query, int baseColumn); 77 static PassRefPtr<IDBKey> fromQuery(SQLiteStatement& query, int baseColumn);
78 78
79 bool isEqual(IDBKey* other); 79 bool isEqual(IDBKey* other);
80 String whereSyntax(String qualifiedTableName = "") const; 80 String whereSyntax(String qualifiedTableName = "") const;
81 String lowerCursorWhereFragment(String comparisonOperator, String qualifiedT ableName = ""); 81 String lowerCursorWhereFragment(String comparisonOperator, String qualifiedT ableName = "");
82 String upperCursorWhereFragment(String comparisonOperator, String qualifiedT ableName = ""); 82 String upperCursorWhereFragment(String comparisonOperator, String qualifiedT ableName = "");
83 int bind(SQLiteStatement& query, int column) const; 83 int bind(SQLiteStatement& query, int column) const;
84 void bindWithNulls(SQLiteStatement& query, int baseColumn) const; 84 void bindWithNulls(SQLiteStatement& query, int baseColumn) const;
85 85
86 using ThreadSafeShared<IDBKey>::ref; 86 using ThreadSafeShared<IDBKey>::ref;
87 using ThreadSafeShared<IDBKey>::deref; 87 using ThreadSafeShared<IDBKey>::deref;
88 88
89 private: 89 private:
90 IDBKey(); 90 IDBKey();
91 explicit IDBKey(int32_t); 91 explicit IDBKey(double);
92 explicit IDBKey(const String&); 92 explicit IDBKey(const String&);
93 93
94 Type m_type; 94 Type m_type;
95 String m_string; 95 String m_string;
96 int32_t m_number; 96 double m_number;
97 }; 97 };
98 98
99 } 99 }
100 100
101 #endif // ENABLE(INDEXED_DATABASE) 101 #endif // ENABLE(INDEXED_DATABASE)
102 102
103 #endif // IDBKey_h 103 #endif // IDBKey_h
OLDNEW
« no previous file with comments | « WebCore/storage/IDBFactoryBackendImpl.cpp ('k') | WebCore/storage/IDBKey.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698